naaas
naaas

Reputation: 47

hm10 with arduino not reading UUID from ibeacon

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

Answers (1)

davidgyoung
davidgyoung

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

Related Questions