Measuring RSSI of BLE Advertisement Packets Using Arduino

I am trying to find the RSSI of BLE Advertisements using an HM10 module and Arduino without actually connecting to the advertising BLE Device. The HM10 is in central role The AT+DISC? command only gives the address and the Bluetooth name. AT+RSSI? gives no result My firmware version is V540( obtained using AT+VERS?)

Can someone suggest me how RSSI of BLE Advertisement can be found? Is HM10 the right hardware to use for this purpose? If not, what other module can i use?

Hello.
The AT command "AT+RSSI?" can be used when two HM10 modules are paired each other.
If you want to get the RSSI value without any pairing, use "AT+DISI?" command.
The central device will return data with the format of "OK+DISC:[p1:p2:p3:p4:p5] and p5 is RSSI. The value usually starts with the minus.

Yes HM-10 works for that, but be aware that it has several problems with this. I started a project for iBeacon detection using hM-10 and left it when I found these issues:

1)It will only report 6 iBeacons with the DISI command, and it doesn't have the beacons which are closer, just any 6 that are detected. Also if there are no iBeacon/normal BLE devices in the area, they would take one of these slots wasting the chance to detect another iBeacon

2)The result is very slow, it takes up to 5-7 seconds to report those 6 iBeacons.

If you want to do it, you need to make sure it is in certain modes, issue this:

AT+RENEW
AT+RESET
AT+IBEA1
AT+DELO1
AT+ROLE1
AT+IMME1
AT+SHOW1
Then you can issue the actual reading command: AT+DISI?

If you want to know, I switched to using a Rasp-3B, which has Wifi+BLE builtin and is 100 times easier to deal with.
And I get all (not just 6) of the ibeacons in a fraction of a second