Reputation: 47
Using a hm10 on arduino when sending AT+DISI? returns something like
+DISC:00000000:00000000000000000000000000000000:0000000000:CAD9D2E2AE09:-071OK
which has no UUID and it is impossible to know whether it is a real ibeacon. All around BT devices are returned (even mobile phones and printers). How do I properly filter for ibeacons?
Last FW was uploaded to hm10 (V701).
Upvotes: -1
Views: 762
Reputation: 65005
You must filter for beacons at a higher level. The response to the AT+DISI?
command will give you a list of all Bluetooth LE advertisements scanned. Some of these will be iBeacon devices and some of them not.
An example of an iBeacon detection will look something like this, always starting with 4C000215:
+DISC:4C000215:2F234454CF6D4A0FADF2F4911BA9FFA6:00000001AC:0CF3EE041CCE:-052OK
In the above output, the 2F234454CF6D4A0FADF2F4911BA9FFA6:00000001 byte sequence refers to the UUID, major and minor:
Proximity UUID: 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 Major: 0000 Minor: 0001
The above example was discovered after sending these commands:
AT+ROLE1
AT+IMME1
AT+RESET
See here for more info on how the above detection was set up.
Upvotes: 0