0

Beacons like Radbeacon, Estimote, Accent and so on have their own application for changing different features of beacons(UUID, minor, major, Tx power), is it possible to change UUID or minor and major via something else dynamically? is it possible to do that via Bluez on raspberry pi or any other library like noble?

fafa92
  • 143
  • 1
  • 12
  • See -https://stackoverflow.com/questions/25347536/how-to-get-beacon-receive-new-configuration/25347659#25347659 - Each beacon manufacturer has their own configuration method. You could probably make your own application to configure a specific type of beacon there isn't one approach that works for all beacons. – Paulw11 Jun 30 '17 at 06:53
  • Thanks Paul, Do they have APIs that can be reached via something else rather than their website's panels? I don't want to make an app to work for all of it, I want to change one of those companies beacons identifiers like minor and major but not with their application, by connecting to them via Bluez or any other ways? Is is even possible to that with their panels with low latency? it should be done every few seconds. – fafa92 Jun 30 '17 at 07:17
  • You would need to look at each specific beacon; some beacons can only be reconfigured for the first 30 seconds after they are powered on. Others need you to hold down the power button to get into configuration mode etc. It doesn't really make sense to reconfigure an iBeacon every few seconds though – Paulw11 Jun 30 '17 at 07:28
  • yes maybe I should check that, thanks for your response. – fafa92 Jun 30 '17 at 09:11

2 Answers2

1

While this is in theory possible, but I don't know of any manufacturers that support this with off-the-shelf beacons for a few reasons:

  • Some manufacturers limit the configurability of beacons over a bluetooth interface to only a short-time interval after you put them in configuration mode (by power-on, double clicking a button, etc,) as @Paulw11 mentions. This is for security reasons.

  • While some beacons (like Radius Networks' RadBeacon USB) allow you to set the power-on configurability timeout to be forever, this device does not have a publicly available SDK to configure over bluetooth. You have to use the manufacturer's app, which understandably you do not want to do.

There are certainly use cases where this is desirable. With such a setup as you describe, you can have a configuration computer within bluetooth range of all your beacons, and programmatically push identifier changes over the air whenever you want -- either in an ad-hoc manner or at regular intervals to rotate identifiers for anti-spoofing reasons.

There are paid service options from Kontakt.io and Radius Networks to accomplish the above, but to my knowledge their solutions do not allow you to roll your own without paying for the service.

If you do want to roll your own, you could build your own beacons that do this, perhaps using a Raspberry Pi to act as a beacon with BlueZ, Bleno, or AndroidThings, and then another one to be the management device that commands the changes using BlueZ, Noble, or AndroidThings.

davidgyoung
  • 63,876
  • 14
  • 121
  • 204
  • Thanks David, but because of transmission control that some of those companies give to the user, it must be some of them, because raspberry pi doesn't support that yet. – fafa92 Jun 30 '17 at 22:00
  • Raspberry Pi with Raspbian/BlueZ or Android things OS does allow changing beacon identifiers at regular intervals programmatically, and it also allows exposing a GATT service to configure the identifiers. There is just not a pre-existing package that does all this for you.l, which is why it requires rolling your own. – davidgyoung Jul 01 '17 at 13:49
0

Yes you can change major, minor and uuid as per your requirement.

Have a look on this Bleno

It is a Node.js module for implementing BLE. You can Install it in Raspberry Pi also.

Hope this Helpful.

RaTh0D
  • 323
  • 3
  • 19
  • Thanks RaThOd, as I can see you can turn your Raspberry to beacon with this module, but I want to know how I can change minor or major of estimote or Radbeacon's identifier with raspberry pi and not with its own application. – fafa92 Jun 30 '17 at 09:10