BLE Transmission Power

Hi ,

Is there a way to check BLE strength from the web interface? How can I increase BLE Tx power?

My case scenario : Microtronics GW connected to Sensor Via BLE

Hi,

regarding your first question, you can get the BLE strength (RSSI) for each BLE peripheral that is found via a BLE scan.
When you start a BLE Scan via the BleApp_Scan() function and the BLEAPP_SCAN_CALLBACK is defined, the RSSI data will be present in the sScan[TBleApp_Scan] parameter of the callback, when a BLE peripheral is found.

Example Callback:

BleApp_Scan_Callback(handle, type, sScan[TBleApp_Scan])
{
    // Logs the signal strength (dbm) to the console
    #log("%d", sScan.rssi);
}

If you want to view this data on the web interface, you have to record the sScan.rssi data and transmit it to the server.

Regarding your second question, I’m not completely sure, but I don’t think it is currently possible to configure the BLE Tx power.

Kind regards
Stefan

Thank you for your response. Iwhat is the right approach to associate the sScan.rssi with the sensor?

is this the right approach? #log("%d %d", sScan.rssi, sScan.addr{iIdx});

When the sensor state is scanning , the sScan.rssi gives me the RSSI with timestamp but wanted to know from which sensor the RSSI is coming from.

Hi,

with the sScan[TBleApp_Scan] parameter of the scan callback, you can match the RSSI to the hardware address or the advertising name.
The sScan[TBleApp_Scan] structure contains the following entries, according to the studio help:

image

With that you should be able to print the following:

#log("ADDR: %02X:%02X:%02X:%02X:%02X:%02X", sScan.addr{0}, sScan.addr{1}, sScan.addr{2}, sScan.addr{3}, sScan.addr{4}, sScan.addr{5});
#log("NAME: %s", sScan.name);

For your use case you could print the RSSI and the complete hardware address:

#log("%d; %02X:%02X:%02X:%02X:%02X:%02X", sScan.rssi, sScan.addr{0}, sScan.addr{1}, sScan.addr{2}, sScan.addr{3}, sScan.addr{4}, sScan.addr{5});