I am working on a project, where it would be necessary to obtain some information (ip addresses, eui ...) about the current nodes on the thread network. My question: what is the best way to do it. My first idea is to use the thread network diagnostic and diagnostic TLVs for this purpose, but I would like to ask if there is a common way / best practice for it.
Thanks for the answers!
The getnodesip command really works, however i would like a solution that works on a host controller device (there is no shell there). I checked the code performing getnodesip, and i sent the same management get command from the python sdk wrapper. Unfortunately it gave me segmentation fault after the first incoming response. Now i try to do it
By any chanche have you checkes the enums file in the hsdk? I believe that the THR_MgmtDiagnosticResetRequestTlvId class might help you.
You could use the $getnodesip shell command, this instruction will send a Get Diagnostic /d/dq message asking for the IPv6 address list.
The node will reply with a Get Diagnostic Answer /d/da containing its IPv6 addresses after receiving the instruction
I'm confused by this also. That is, when I create a low power end node without alternate means of communication, it seems impossible to see its IP address. Maybe the border router maintains a list of granted IP addresses? All of the NXP examples seem to rely on typing in "ifconfig" into the console to learn IP addresses.
From what I read about CoAP, I might need to create a CoAP Resource Directory? My understanding is that end-nodes can POST their available resource links somehow into a /.well-known/core directory, and then outside sources can see those resource links, and GET them. If this is true, does the resource directory reside on the border router, or does each end-node have its own directory?
I'm using the Copper extension for Firefox to perform coap interaction, and I have an RNDIS border router set up for the connection.