What are Beacons/iBeacon?
Beacons are hardware that use Bluetooth Low Energy to advertise a Universally Unique Identifier (UUID) to devices, like a smartphone. iBeacon is Apple’s protocol for accessing the UUID data advertised by a Beacon. This technology allows for proximity sensing and indoor positioning. For example, a device can alert a user if they are in range of a beacon and enable information based on that location.
Raspberry Pi Beacon transmitter
Using a Bluetooth LE Dongle connected to a Raspberry Pi and a script to transmit a UUID, the Raspberry Pi can act as a Beacon.
To advertise the UUID on startup, I ran the script from /etc/rc.local
edit /etc/rc.local command
~$ sudo nano /etc/rc.local
While inside the editor, modify /etc/rc.local so that the raspberry pi can navigate to the directory of the beacon script and run it.
cd /home/pi/PiBeacon sudo bash startBeacon
iOS Beacon Receiver app
After reading the iBeacon documentation and researching the Estimote SDK, I developed a sample application that displays a different clickable icon based on the level of proximity to my Raspberry Pi Beacon. Depending on which icon is clicked, different content is displayed.
Levels of proximity: