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.

LAUNCHXL-CC26X2R1: coordinator decides which device to pair

Part Number: LAUNCHXL-CC26X2R1


Hello,

I want to create a menu in the CC2652 acting as a coordinator on the network.

The menu consist in these options:

1. Pair with another launchpad (end device or router)

2. List the bulbs availables and choose one to pair.

3. Set the configuration of a sensor (like a presence or temperature sensor)

Can be done?

The coordinator when we press <Commission> on the GUI creates the network, open the network and find devices who can join it. But that is way I do not know if it is possible because it is the bulb or the end device which joins the network. Can the coordinator choose which device to pair?

Thank you.

  • Basically, coordinator has to open network, which means enable permit join exactly, to allow device to join. Then, your application choose the one that it allows to join and send leave requests to others. In the way, I suppose you can achieve what you mean to do.

  • Hello Dani,

    You will need to let devices join so that you can perform Device Discovery (Active Endpoint & Simple Descriptor Requests) to find out what each device's capabilities are.  You can then modify the Common User Interface (i.e. the ui folder) to list found devices based on their short/IEEE addresses and discovered capabilities.  It will then be possible to further select which devices to bind and/or configure, otherwise another option would be to request that the device leaves the network.  You may also be further interested in the sample application provided in the ZIGBEE-LINUX-SENSOR-TO-CLOUD solution.

    Regards,
    Ryan

  • Thank you, I am trying your suggestions. I know what to do but I am bit lost on how to do it. I am trying to list the devices by their short/IEEE address but I am not being able to do it. I tried some options like getting it from zdoNwkAddrReq, ZdoIeeeAddrReq or lastBindNotification.dstAddr but still not being able to list it. What should I call in order to get the devices short or IEEE address?

        zstack_zdoNwkAddrReq_t zdoNwkAddrReq;
        Zstackapi_ZdoNwkAddrReq(uiAppEntity, &zdoNwkAddrReq);
        
        
        //zclport_getDeviceInfo(uiAppEntity, &zdoNwkAddrReq);
        
        
        zstack_zdoIeeeAddrReq_t req;
        Zstackapi_ZdoIeeeAddrReq(uiAppEntity, &req);
        
        if (CUI_ITEM_INTERCEPT_START == _input) {
            char tmp[17];
    
            uiUintToString((uint32_t)lastBindNotification.dstAddr.addr.shortAddr, tmp, 16, 16, TRUE, FALSE);
            strncpy(_pLines[0], tmp, sizeof(tmp));
    
    
        }

  • This code is to show how I tried to get the address. In each try I deleted the rest of options. Now they are all together to show how I did it in every of them.

    PD: Ryan, I could not find the ZIGBEE-LINUX-SENSOR-TO-CLOUD, could you tell me in which section can I find it?

    Thank you.

  • I recommend that you record the short/IEEE addresses in an application table after receiving zstackmsg_CmdIDs_ZDO_DEVICE_ANNOUNCE.  You can follow the Zigbee Fundamental Project Development SimpleLink Academy Lab, Step 4 of Task 1, as a guide.  Please refer to this temporary download location of the ZIGBEE-LINUX-SENSOR-TO-CLOUD resources.

    Regards,
    Ryan