This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Query related to pairing NRF24 Device to HOST using button.

Dear all,

Greetings!!!

I am using the NRF24LE1E module. I want to pair my device with host using a button. Button is available on device side. Please help me to do it. Please share the solution links related to this task.

  • Hi,

     

    If you look at "gzll_device_w_dynamic_pairing" example in nRFgo SDK, these two function calls are what requests the pairing procedure:

          // Send "system address request". Needed for sending any user data to Host.
          gzp_address_req_send();
          
          // Send "Host ID request". Needed for sending encrypted user data to host.
          id_req_status = gzp_id_req_send();
        }
    
        // If waiting for Host to grant or reject ID request
        if(id_req_status == GZP_ID_RESP_PENDING)
        {
          // Send new ID request for fetching response
          id_req_status = gzp_id_req_send();
        }

     

    Note that the above makes use of the encrypted pipe, which is restricted to only one device on the host side. For unencrypted pairing, only call the "gzp_address_req_send()" function (remember to check the return value).

     

    Kind regards,

    Håkon

  • Thank you very much . This helped me a lot. Now I am confused about how to set the id of Host and Device. Now I am stuck at this point. If any support is provided, I will be grateful. 

    Thanks again,

    Nitesh Dubey

  • Hi,

     

    In nRFgo SDK, under docs, there's a documentation file nrf_sdk.chm.

    Here you can find detailed information about how both Gazell and GZP works, under modules ->firmware -> RF protocol -> Gazell Pairing Library.

    Here it is, in case you don't have it:

    0121.docs_nrfgo_sdk_v2.3.0.10040.zip

    Nitesh Dubey said:
    Now I am confused about how to set the id of Host and Device. Now I am stuck at this point. If any support is provided, I will be grateful. 

    Which ID? Is there anything specific that is unclear?

     

    Kind regards,

    Håkon

      

  • I want to give a unique ID to each device (multiple hosts and multiple devices). If I will press buttons on host and device simultaneously, then they will get paired using this unique ID. Once they will get paired, only these two will communicate and other will get restricted.

  • The device sends a request, as per the functions in my first post.

    The host, can choose to accept this, like this:

        // If Host ID request received
        if(gzp_id_req_received())
        {
          // Always grant request
          gzp_id_req_grant();
        }
     

     

    If you do not want to disable new pairing entries, you can disable the pairing pipe on the host using the function gzp_pairing_enable()

     

    Kind regards,

    Håkon

Related