piBeacon: 4- iBeacon vs BLEconnect vs ..

Posted on
Tue Apr 05, 2016 10:56 am
kw123 offline
User avatar
Posts: 5523
Joined: May 12, 2013
Location: Dallas, TX

piBeacon: 4- iBeacon vs BLEconnect vs ..

this is to explain what different types of devices piBeacon supports and how they (roughly) work:

  • iBeacon: They are normally small devices that send ONE simple message:"I am here and here is my UUID-Minor-Major number". The UUID could be the same for many iBeacons. They have different MAC numbers though. The mac numbers are normally not known or difficult to get from the iBeacon devices.
    They send this every 0.1 .. 10 seconds depending on settings of iBeacon. And to preserve battery life they normally send with low power ~ -50 .. -70 dBm. Exceptions are the Jaallee beacons they have a BIG battery and send with ~ 1 dBm. Many devices have iBeacons or BLE devices that send packages close to iBeacon messages. As you don't know the MAC number of an iBeacon, the Rpi sends everything they get to the plugin. To manage this we have added some features that allow to reject NEW iBeacons, families of beacons or certain mac numbers of iBeacons. The plugin receives the Signal strength of the beacon and for some also the transmit power. Only the Jaallee beacons send Battery level. Then the plugin manages the messages from all rPi and beacons and sets Up/down/expired status and calculates position of the iBeacons.
  • iPhone iBeacon mode An iPhone normally does not send iBeacon signals. With Apps like Locate or lightBlue you can make them send iBeacon signals. BUT they will only transmit as long as the app is running and every time the app starts the MAC number of the iBeacon signal changes. The plugin has a feature to use the UUID instead of the MAC number to identify THAT iPhone. It kind a works but it is not really practical.
  • BLE connect: this mode of the plugin will send a connect request to adevice with the BLE-mac number you specify: create a piBeacon devices and select BLEconnect as type and enter MAC number there . With this mac number the rPi will send a connect/pairing request to that device. If the BLE device(e.g. iPhone) is setup to accept pairing requests, it will answer. Within the answer we get txPower and the signal strength. After receiving the rPi stops the interaction with the iPhone. It repeats this every xx seconds (default ~90 seconds) to confirm that the iPhone is still "on", if not it will increase the frequency to every 10 seconds (set in device edit) to be able to detect an iPhone coming back in range quickly. The BLE adapter on the rPi times out after 5 seconds if a connect request is not successful - so 10 seconds is probably the lowest number you should be using. The transmit power for these interactions is ~ 0..+12 dBm. MUCH stronger (factor 10**6) than the iBeacons. And it also uses much more energy. Thats why the frequency should not be too high.
  • Sensors: the rPis in their spare cycle, (BLE/iBeacon use ~ 1-5%) can read sensors attached to their GPIO pins. The plugin supports a variety of sensors from simple on/off to analog voltage etc. for each sensor you need to create an indigo device and add the required info (type, i2c address GPio pin etc)
  • Output: beside input you can also use the GPIO pins as output to drive PWm signals or relays or an DAC to set an analog voltage or play a sound. To use it, create a device select the proper type and in an action you send the commands to the sensors.
  • In addition the plugin supports "mySensors.py" and 'myOutput.py" programs you can configure as you like.


Page 1 of 1

Who is online

Users browsing this forum: No registered users and 1 guest