Passing few Kilobyte information to Beacons

183 Views Asked by At

I have a use case wherein, i need to mark presence of people entering a room assuming each device will have a 5-6 digit user identification.

I can currently upload the result to the back-end. This by executing the attendance marking code if it comes under a desired proximity area of the beacon and that has an active internet connection.

But what if the user has no internet access?

Can the beacons send the data to the server instead?

I came across an option called Ubudu mesh beacons which can make sense in some way. I am more of a front-end JavaScript developer creating this app using Appcelerator Studio and have been using the Ti module available for Estimote beacons currently. Any help appreciated.

2

There are 2 best solutions below

1
On BEST ANSWER

Another approach would be to use another phone that you configure instead of the beacon and let that device upload the result to the backend. So you would not be dependent on that the users phone has a working internet connection.

The two phones would discover each other when they are nearby and exchange their user id. Have a look at some existing SDKs for nearby discovery which allow you to do this, for example google nearby, p2pkit.io or newaer.

Disclaimer: I'm one of the engineers working on p2pkit.io

1
On

Vast majority of beacons on the market work uni-directionally, i.e., only broadcast data, but can't receive any. They are also only equipped with Bluetooth, and so don't have direct access to the Internet.

Ubudu seems to be an exception, capable of propagating short messages (16 bytes) from a smartphone through the Ubudu beacon network, to a "gateway" beacon, i.e., a beacon that's connected via a USB cable to a device that's actually connected to the Internet. I have no experience with it, so hard to say if it works well or not.

However, for your specific problem, I think the solution could be much more simple: how about you just cache the results on the device if there's no Internet connection available at the time, and send them to your server later?