Hi,
I am working nRF52832 and sdk 16 version. I want to get the RSSI value of my peripheral device nRF52832 and send it to central (phone) over ble ? how to do that ?
Best Regards
pspavi
Hi,
I am working nRF52832 and sdk 16 version. I want to get the RSSI value of my peripheral device nRF52832 and send it to central (phone) over ble ? how to do that ?
Best Regards
pspavi
Hi,
Just to make sure, did you consider the option of just reading the RSSI on the phone instead? I don't think it's common to have a peripheral send measured RSSI to the central, and it does complicate things a bit. In any case, you can use the following SD APIs to control RSSI sampling:
yes I did , but i am not getting the RSSI stable value , it is varying ..please let me know how to rectify
switch (p_ble_evt->header.evt_id) { case BLE_GAP_EVT_CONNECTED: NRF_LOG_INFO("Connected"); err_code = bsp_indication_set(BSP_INDICATE_CONNECTED); APP_ERROR_CHECK(err_code); m_conn_handle = p_ble_evt->evt.gap_evt.conn_handle; err_code = nrf_ble_qwr_conn_handle_assign(&m_qwr, m_conn_handle); APP_ERROR_CHECK(err_code); uint32_t err_code; m_conn_handle = p_ble_evt->evt.gap_evt.conn_handle; err_code = sd_ble_gap_rssi_start(m_conn_handle, 10, 0); APP_ERROR_CHECK(err_code); break; case BLE_GAP_EVT_RSSI_CHANGED: rssi = p_ble_evt->evt.gap_evt.params.rssi_changed.rssi; NRF_LOG_INFO("rssi:%d",rssi);
Measured RSSI will vary quite a bit when tested in uncontrolled environments, so the variation you see is probably as expected. To limit this variation you could try calculate an average RSSI from multiple samples.
Measured RSSI will vary quite a bit when tested in uncontrolled environments, so the variation you see is probably as expected. To limit this variation you could try calculate an average RSSI from multiple samples.