I was so excited when found out that this HM-10 Bluetooth can be configured as iBeacon device. Bluetooth Low Energy beacon which the protocol was developed by Apple. But we will call this device or module as beacon.
The beacons will broadcast it's identifier to any nearby electronic devices. With this information, mobile app can perform actions if in the range or close to the device. The proximity to the device grouped by the range or regions which are Far, Near and Immediate. Each region can trigger the app to do call to action presented to the user. This range can be adjusted by configuring the transmitting power of the beacon.
For example we have store and beacons configured for some special products. When customer walk or pass in to the store, the app can present promo, sale or any interesting store information to the customer. When customer pass near to the discounted or sale product user can be presented with the discount information or product details. Then when customer put the device very close to the product, the app can add product to the app cart or do checkout automatically.
That is one of the scenario on the real world implementation. You can find many resources on the internet that explained better about iBeacon and examples of it's implementation. But on this post I'll try to explain how to configure HM-10 as iBeacon device. See screenshot below.
Commands explanation.
- AT+RENEW: restore software to factory default
- AT+RESET: reboot device
- AT: check at command is accepted by device, if its OK you are good to go
- AT+MARJ0xAAAA: set major device number in hexadecimal
- AT+MINO0xBBBB: set minor device number in hexadecimal
- AT+ADVI5: set advertisement interval to 5 second
- AT+NAMESMBEACON: set beacon name to SMBEACON
- AT+IBEA1: enable beacon mode
- AT+PRWM0: enable power on mode, this will save power
- AT+RESET: reboot device
We can also modify device UUID by using AT command. On the real world implementation as example above, this UUID can be used for identify the store building then major number used as the store level and the minor number used to identify specific location or product on that store level. Then we can create the app that respond to those beacons. We can put as many beacons on but make sure to change major and minor number. I'll try to create app to demo the beacon usage.
Update September 16, 2016
- I have created Beacon demo app at my github page : https://github.com/satujamsaja/hm10beacon
Resources and links
- How to : http://www.blueluminance.com/HM-10-as-iBeacon.pdf
- 10 things about beacon : https://www.youtube.com/watch?v=L44m7otNI7o
Comments