user26078: I have a device in which a user connects their mobile device to an arduino uno via a HM-10 bluetooth transponder.  I want to be able to calculate the approximate distance between the user and the transponder by hopefully using the RSSI methodology:
 d = 10 ^ ((TxPower - RSSI) / 20)

My goal is for the user to send a connection request to the HM-10, the uno to then calculate the distance, and if greater than x meters away, reject the request.  I realize RSSI based distance is an estimate at best but that is fine for my purposes.
With that in mind, I have two questions:
1.) Is an HM-10 able to capture the RSSI strength of a mobile device to 
    calculate distance? 
2.) Can it do so WITHOUT connecting first based on the 
    initial request of the mobile device?


user8033: You have two questions, but what makes you think you can't find these out?
When you want to know what a device can do (and thus can't do) you should check the devices' datasheet. I believe it is this file.
Bluetooth (and gsm) devices often work by sending AT commands. For example: "AT+PIO" to set/query GPIO pins of the module.
You can send "AT+RSSI?" to get a response on the RSSI value.

Not everything can be mentioned in the datasheet though. If you can't find any sources on it, it's most likely not a feature.
The only way to add a "validation function" within the bluetooth connection code, would be to re-write the firmware of the device.
But, you could:

Connect (with everyone using the right pin)
Check their RSSI
Disconnect if it doesn't match your criteria

I'm not sure if this module can have multiple connections, I didn't really see a way to disconnect a single connection. If not, you could even toggle the power to the module to "disconnect" the client(s).

26078: <p>I have a device in which a user connects their mobile device to an arduino uno via a HM-10 bluetooth transponder.  I want to be able to calculate the approximate distance between the user and the transponder by hopefully using the RSSI methodology:</p>

<pre><code> d = 10 ^ ((TxPower - RSSI) / 20)
</code></pre>

<p><strong>My goal</strong> is for the user to send a connection request to the HM-10, the uno to then calculate the distance, and if greater than x meters away, reject the request.  I realize RSSI based distance is an estimate at best but that is fine for my purposes.</p>

<p>With that in mind, I have two questions:</p>

<pre><code>1.) Is an HM-10 able to capture the RSSI strength of a mobile device to 
    calculate distance? 
2.) Can it do so WITHOUT connecting first based on the 
    initial request of the mobile device?
</code></pre>
 8033: <p>You have two questions, but what makes you think you can't find these out?</p>

<p>When you want to know what a device can do (and thus can't do) you should check the devices' datasheet. I believe it is <a href="ftp://imall.iteadstudio.com/Modules/IM130614001_Serial_Port_BLE_Module_Master_Slave_HM-10/DS_IM130614001_Serial_Port_BLE_Module_Master_Slave_HM-10.pdf" rel="nofollow">this file</a>.</p>

<p>Bluetooth (and gsm) devices often work by sending AT commands. For example: "AT+PIO" to set/query GPIO pins of the module.
You can send "AT+RSSI?" to get a response on the RSSI value.</p>

<hr>

<p>Not everything can be mentioned in the datasheet though. If you can't find any sources on it, it's most likely not a feature.</p>

<p>The only way to add a "validation function" within the bluetooth connection code, would be to re-write the firmware of the device.</p>

<p>But, you could:</p>

<ol>
<li>Connect (with everyone using the right pin)</li>
<li>Check their RSSI</li>
<li>Disconnect if it doesn't match your criteria</li>
</ol>

<p>I'm not sure if this module can have multiple connections, I didn't really see a way to disconnect a single connection. If not, you could even toggle the power to the module to "disconnect" the client(s).</p>
