iBeacon transmitters can either be a dedicated hardware device running Bluetooth 4.0 LE or you can configure a compatible iPhone or iPad to act as a transmitter.
A beacon transmitter must send out specific data through its Bluetooth radio periodically:
- proximityUUID is a property which is unique to each company. You can generate a UUID by loading up the terminal on a Mac and entering uuidgen. A UUID is a 128 bit value such as "89542266-18D1-4DF4-B4A1-23F8195B1A00″.
- major is the property that you use to specify a related set of beacons. This is a 2 byte value.
- minor in this case would be used to further specify a particular set of beacons with the same major values. This is a 2 byte variable.
When an iPhone is running an app it can be programmed to look for a specific beacon UUID. When it detects this UUID, it looks at the major and minor values and can further determine information about your location.
Your local museum, for example, set up 20 beacons throughout its building. The beacons all use the UUID "95543100-10A1-4LK4-B4A1-34F8135B2011". You download the Museum App and the App will now attempt to find any beacons with that specific Museum beacon UUID. When a beacon is found, the specific major and minor values of that beacon will identify which room you are currently standing in. The "dinosaur room" in this case, has a major of 7 and minor of 12. The museum app then provides extra information about the diet of the T-rex when you enter that room.
There are many use cases for iBeacons including indoor navigation and targeted advertising.
You can program the MetaWear board to become an iBeacon in just one simple step by pressing a button in the iOS sample app:
It takes just one simple call in the iOS API to set the iBeacon mode on the MetaWear. Once you disconnect the board; it will immediately begin to behave as an iBeacon.
You can set your own UUID, major, and minor values using the iBeacon module:
You can then call setBeaconOn to enable iBeacon mode:
The concept is similar in Android to activate a beacon device:
Don't forget to disconnect your MetaWear board so it can begin acting as a beacon.
You can use a number of sniffers and Beacon Apps to test that your MetaWear is working as a beacon upon disconnection.