HM-10 BLE Module - Discover and match iBeacon UUID and RSSI

Hi there,

I’ve done a bit of searching and not found a conclusive way to accomplish this.

I have a HM-10 hooked up to an Arduino Nano and an iBeacon simulator setup on my Android device. Note 9.

I want the HM10 to look for another iBeacon, in this case the one simulated from my Android phone.

I want the Arduino and HM-10 to periodically check for the presence of a certain beacon via its UUID and also check it’s RSSI value. If it finds the beacon and it’s RSSI is below -80 then perform a certain function.

If I send the HM-10 the command AT+DISI?, it responds with:

OK+DISISOK+DISC:4C000215:03BC938981804DB38F4195DB38997FEC:0000052
OK+DISC:00000000:00000000000000000000000000000000:0000000000:4DD85B5ECA5E:-089
OK+DISCE

The UUID discovered is 03BC938981804DB38F4195DB38997FEC and it’s RSSI is currently -89. This is the HM10 successfully seeing the correct beacon (my phone).

I basically want the arduino to run AT+DISI? and if it finds the matching beacon (UUID) with an RSSI of -80 or less, do something.

How can I store the response after the AT command and split up the information? Eg. A variable for RSSI, an array for the UUID…

I’m pretty new to Arduino so any guidance would be appreciated.