1

I use nrf51822 sdk130 (central device) and nrf51822 sdk110(peripheral device). I want to continuously get rssi value of the peripheral device using the central device without connection. Normally I start the scan_start function using button_handler function. Then connection establish occurs. But I dont want to do that. I want to Connect automatically device without press the button (without button_handler function). And I want the device not to reconnect until it leaves the bluetooth signal range.(think like KEYLESS GO - Mercedes). Is it possible?

Purgoufr
  • 761
  • 14
  • 22

1 Answers1

1

it is possible to send non-connectable advertisement from the peripheral. This is intended to broadcast some information without being connected. using this central device can read the rssi of the peripheral's advertisement. The second part of your question is not very clear.if the application in the central does not see an advertisement it is possible to detect the absence of the peripheral.

see passive scanning sequence below. enter image description here

enter image description here

see active scanning sequence below, the only requirement is that the active scanner should send at least one scan Request. enter image description here

active vs passive scanning: enter image description here

Once connection is established, RSSI can be read using following HCI command. enter image description here The relevant section for LE connection is as follows. enter image description here

bare_metal
  • 1,134
  • 9
  • 20
  • Yes but I need to make a connection so I can read the Rssi value. I want to read rssi's value and store it in somewhere(it can be an array) before I connect. When I press the button, the function "scan_start" is triggered due to the function "button_handler". But I do not want a connection. In fact, I want to be able to determine the exact time to connect. That's why, I would like to measure the rssi value continuously without making a connection. – Purgoufr Jul 24 '17 at 21:18
  • LE Advertising Report event gives you RSSI value in dbm, is that not sufficient?. I mean you do not need a connection to measure the RSSI value. – bare_metal Jul 25 '17 at 07:44
  • I appreciate the information you provide. But unfortunately, I am using active scanning in the current project. Can I scan both active and passive at the same time? – Purgoufr Jul 25 '17 at 19:51
  • based on the description attached to the answer , my understanding is that a bluetooth controller can only enter active or passive scan at a given time. – bare_metal Jul 26 '17 at 08:46
  • Could there be a scenario like this; Just do active scanning when I connect, passive scanning outside of it? – Purgoufr Jul 26 '17 at 19:09
  • once the connection is established HCI command (Read RSSI command) can be used to read the RSSI. please see the update. – bare_metal Jul 27 '17 at 10:47