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.

zigbee device discovery



hi all

i m using zstack 1.4.3 form my zigbee project ..

i have set up the network which includes one zigbee co-ordinator and 10 end devices .

now i need to do the device discovery so that i can get the n/w address of the each end devices ..

i reffered some the zstack APIs like

afStatus_t ZDP_NwkAddrReq ( byte *IEEEAddress, byte ReqType, 
                               byte StartIndex, byte SecuritySuite );

but this requires IEEE address of the end device which i dont know..

can u suggest me what is correct way to do the device discovery ?

  • Hi,

    Short addresses are sent by the devices with each data packet. You can obtain them by for example : packet->srcAddr.addr.shortAddr. Check out "afIncomingMSGPacket_t" for more packet datas.

    I hope this helps.

    Regards,

    Necdet

  • Hi I believe that the concept is slightly wrong. If you know nothing about the end device at the starting point, how are you going to address it (in case of unicast)? I mean that you have to differ end devices at the level of your application, i.e. to have some descriptors. These descriptors can be known by the coordinator a priori or sent by end devices during normal work. If you know IEEE address of the end node you can get its short address and then use it. The knowledge of short address without the information about what device it belongs to is not very helpful.
  • Hi Ilya,

    I think it depends too much on the application. I had that problem, there may be other solutions but I simply send IEEE address with my data packets.

    Regards,

    Necdet

  • Hi Necdet,

    we are speaking about the same thing by different words. In my case,  each node transmits to the coordinator its IEEE address at the moment of the start. This means that we have the same solution in general. What other solutions did you mean?

    Regards,

    Ilya

     

     

  • hi thanks for replying

    i just going through the apis of zstack and i found this one

    ZDP_EndDeviceannce(shortid,ieee,capability,security);

    wen ever end device joins the network it announces its information(broadcast).

    but while using this api i m getting the error like

    Error[e46]: Undefined external "ZDP_EndDeviceAnnce::?relay" referred in GenericApp ( G:\zStack\ZStack-1.4.3-1.2.1\Projects\zstack\Samples\GenericApp\CC2430DB\EndDeviceDB\Obj\GenericApp.r51 )

     

    any idea how to solve this?