This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Profile Observer and RSSI reading

Other Parts Discussed in Thread: BLE-STACK, CC2541

Hi i've a small problem with my firmware implementation.

I'm using a peripheralObserver profile and i've modified the stock firmware so it can alternate, every 1000msec, peripheral or observer profile for reading the rssi from other 4 beacon that are in my scenario.

but there are 2 type of problems.

first is that the rssi from beacon farther is higher than beacon nearest.

second is that the rssi value registred from each beacon from other beacons seems not to be affected by attenuation or the value registred is costant at all time.

for example

[66, 66, 66, 66, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 67, 67, 67, 67, 67, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 67, 67, 67, 67, 67, 67, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 66, 66, 66, 66, 66, 66, 66, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64]

this measure is refered at beacon that are at 7.42m.

if i measure the rssi value with a tablet in the same position  of observer beacon i observed highest rssi value and their stability is worst.

  • Hello,

    Which BLE-Stack version are you using?

    Best wishes
  • hi, i'm using ble stack 1.4.0 with cc2541.

    for read the rssi value, i'm using the follow procedure.

    1- each beacon scan (observer mode) finding the presence of other beacon.

    2- if observer beacon find other beacon, save the name and the rssi value:

    static void observerEventCB( observerRoleEvent_t *pEvent )
    {
    switch ( pEvent->gap.opcode )
    {

    case GAP_DEVICE_INFO_EVENT:
    {
    simpleBLEAddDeviceInfo( pEvent->deviceInfo.addr, pEvent->deviceInfo.addrType , pEvent->deviceInfo.rssi);
    }
    break;

    but the rssi value that i can read are little likely because at 1m meter the deviceInfo.rssi=210.

    if i use the generic rssi offset value for standard gain mode of the cc2541 that is 98dbm, i can have deviceInfo.rssi=112, but it's a wrong value because at same distance with a device like tablet or smartphone i can read -40dbm.

    How i can improve the rssi reading? there are problem in process of conversion value?