i have a query regarding the BLE module that nxp is providing like NXP QN9020 Bluetooth™ Development Kit.Whether the board avail the facility to scan the RSSI values for the BLE beacons by coding the board.?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i have a query regarding the BLE module that nxp is providing like NXP QN9020 Bluetooth™ Development Kit.Whether the board avail the facility to scan the RSSI values for the BLE beacons by coding the board.?

540 Views
vineshsangwan
Contributor I

I have been working on a project where I need a BLE module or its SOC so that I can scan the BLE beacons around the boards. Also, I need the RSSI value(Received Signal Strength Index) from the advertising beacons packets(although without connecting to the beacons).

Actually, 

NXP QN9020 Bluetooth™ Development Kit.

shows me the chance to avail this.That's why I require your help because if it does then I would be requiring it a lot.

0 Kudos
1 Reply

428 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Vinesh,

You can take a look to the client example, and if you look the scanning process, you will found the RSSI value for each device that you scaned. So, you have to look what is the device that you want.

    const int8_t rssi = app_correct_rssi(param->adv_rep.rssi);

int app_gap_dev_inq_result_handler(ke_msg_id_t const msgid,
                                   struct gap_dev_inq_result_evt const *param,
                                   ke_task_id_t const dest_id,
                                   ke_task_id_t const src_id)
{
    bool found = false;
    const int8_t rssi = app_correct_rssi(param->adv_rep.rssi);
    .
    .
    .
    .
    /* add the device in the address keeper */
    if (!found && (app_env.inq_idx < BLE_CONNECTION_MAX))
    {
        struct app_adv_data adv_data;
        
        app_env.addr_type[app_env.inq_idx] = param->adv_rep.adv_addr_type;
        memcpy(app_env.inq_addr[app_env.inq_idx].addr, param->adv_rep.adv_addr.addr, BD_ADDR_LEN);
        QPRINTF("%d. %c %02X%02X%02X%02X%02X%02X", 
            app_env.inq_idx,
            app_env.addr_type[app_env.inq_idx] ? 'R' : 'P', 
            app_env.inq_addr[app_env.inq_idx].addr[5],
            app_env.inq_addr[app_env.inq_idx].addr[4],
            app_env.inq_addr[app_env.inq_idx].addr[3],
            app_env.inq_addr[app_env.inq_idx].addr[2],
            app_env.inq_addr[app_env.inq_idx].addr[1],
            app_env.inq_addr[app_env.inq_idx].addr[0]);
        
        QPRINTF("%d  ",rssi);
     .
     .
     .
     .

    return(KE_MSG_CONSUMED);
}
#endif

Hope it helps

Best Regards,

Mario

0 Kudos