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

CoAP starting process

Hi,

I am trying to implement DALI-104 (IEC-62386:104:2019) on top of openThread protocol.

I am using  Thread: CoAP Client and  Thread: CoAP Server  and want to configure these codes according to DALI-104 standards.

1. According to my application (DALI), devices must support CoAP, CoAPs, and UDP message for transmission and receipt processes. I think it is possible to send and receive these messages with examples of Nordic Thread: CoAP Client and  Thread: CoAP Server. Am I right?

2. Thread: CoAP Client and  Thread: CoAP Server  examples use /provisioning resource for pairing mechanism. In my application, there will be just two resource. One of them is for CoAP and the other one is for CoAPs. The CoAP method is just POST. How to deal with pairing in my application? For example, there will be one client and lots of server in my system. When I add a new device(server) to my system, this device should be connected to client to send and receive CoAP messages. Am I right? How to deal with pairing in my application?

3. What happens in pairing process? I think, a device learn IP address of another device which sends a multicast signal. In Nordic example, it uses multicast CoAP message.   

Parents
  • Hi orkunsengur,

    This is Charlie again, sorry for the late reply, I will help you with your questions since my colleague has some personal matters.

    I read through the discussions, you basically have two questions:

    1. Why CoAP client and server need to pair with each other for one-to-one communication?

     Your assumption "When thread network is built, the devices can already earn IP addresses of each other."  is not correct. Just like two computers in the same LAN, the two devices may not know the exact address of each other even they are in the same OT network. Hence when the CoAP Client device has to ask who wants to pair at first, then after you press the button on the target CoAP server, it replies yes and tells the CoAP client its unique address. CoAP client will only send a control command to this paired CoAP server when you press button 3.

    2. How the commissioner commission a Joiner into the OT network?

    The Joiner is assigned a random unique link-local  IPv6 address at first. It multicast in the Link-Local scope to let Commission discover it. The expected discovery response can be found here.

    The external commission process is handled by OT API, the developer normally just used the API on the application level and does not need to bother with details. If you want to learn more about this process, please refer to the OpenThread official GitHub repository. The source codes of Jointer can be found at jointer.cpp. Sorry for that I have limited knowledge of such detail. The experts from OT development team may provide you more information.

    Best regards,

    Charlie

  • Thanks for reply.

    I understand that both OT and CoAP use different kind of IP adress. 

    Can I ask one more question you?

    I already ask this question but I couldn't take enough answer. I use currently client and server example of Nordic which you mention (press button client and server etc..) I want to add or activate DTLS protocol to this example. My purpose is to send and receive CoAP, CoAPs and UDP type messages. I am a noob. What is the simplest way or starting point to do such a project? 

Reply
  • Thanks for reply.

    I understand that both OT and CoAP use different kind of IP adress. 

    Can I ask one more question you?

    I already ask this question but I couldn't take enough answer. I use currently client and server example of Nordic which you mention (press button client and server etc..) I want to add or activate DTLS protocol to this example. My purpose is to send and receive CoAP, CoAPs and UDP type messages. I am a noob. What is the simplest way or starting point to do such a project? 

Children
No Data
Related