<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CoAP starting process</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/74986/coap-starting-process</link><description>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</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 16 Jun 2021 13:40:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/74986/coap-starting-process" /><item><title>RE: CoAP starting process</title><link>https://devzone.nordicsemi.com/thread/315649?ContentTypeID=1</link><pubDate>Wed, 16 Jun 2021 13:40:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7095b20-657d-4569-841e-ada1821e6043</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Hi Orkunsengur,&lt;/p&gt;
&lt;p&gt;Please create a new ticket for a new question and keep track of one question on a dedicated ticket.&lt;/p&gt;
&lt;p&gt;Your&amp;nbsp;another two tickets on this question have been replied.&amp;nbsp;You do need some time and effort to implement DTLS on these examples. Good luck!&lt;/p&gt;
&lt;p&gt;Charlie&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CoAP starting process</title><link>https://devzone.nordicsemi.com/thread/315284?ContentTypeID=1</link><pubDate>Tue, 15 Jun 2021 07:46:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5dd263c8-0b37-4995-bbe2-7fe9931d51f0</guid><dc:creator>orkunsengur</dc:creator><description>&lt;p&gt;Thanks for reply.&lt;/p&gt;
&lt;p&gt;I understand that both OT and CoAP use different kind of IP adress.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can I ask one more question you?&lt;/p&gt;
&lt;p&gt;I already ask this question but I couldn&amp;#39;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?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CoAP starting process</title><link>https://devzone.nordicsemi.com/thread/315217?ContentTypeID=1</link><pubDate>Mon, 14 Jun 2021 16:11:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c86fbada-5a0f-4192-8d44-92b0e64cfa21</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Hi orkunsengur,&lt;/p&gt;
&lt;p&gt;This is Charlie again, sorry for the late reply, I will help you with your questions since my&amp;nbsp;colleague has some&amp;nbsp;&lt;span&gt;personal matters&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;I read through the discussions, you basically have two questions:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.&amp;nbsp;Why CoAP client and server&amp;nbsp;need to pair with each other for one-to-one communication?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;Your assumption&amp;nbsp;&lt;em&gt;&amp;quot;When thread network is built, the devices can already earn IP addresses of each other.&amp;quot;&amp;nbsp; &lt;/em&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. How the commissioner commission a Joiner into the OT network?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Joiner is assigned &lt;a href="https://github.com/openthread/openthread/blob/6792eb76afb5ef61c815b3617d935ef1c156d097/src/core/meshcop/joiner.cpp#L154#L156"&gt;a random unique link-local&amp;nbsp; IPv6 address&lt;/a&gt;&amp;nbsp;at first. It&amp;nbsp;&lt;a href="https://github.com/openthread/openthread/blob/f7802d60a17a355bbfd02f25a34035bddf5ee333/src/core/thread/discover_scanner.cpp#L137"&gt;multicast in&amp;nbsp;the&amp;nbsp;&lt;/a&gt;&lt;span&gt;&lt;a href="https://github.com/openthread/openthread/blob/f7802d60a17a355bbfd02f25a34035bddf5ee333/src/core/thread/discover_scanner.cpp#L137"&gt;Link-Local scope&lt;/a&gt;&amp;nbsp;to let Commission discover it. The expected discovery response can be found &lt;a href="https://github.com/openthread/openthread/blob/f7802d60a17a355bbfd02f25a34035bddf5ee333/src/core/thread/discover_scanner.cpp#L325"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;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 &lt;a href="https://github.com/openthread"&gt;the OpenThread official GitHub repository&lt;/a&gt;. The source codes of Jointer can be found at &lt;a href="https://github.com/openthread/openthread/blob/6792eb76afb5ef61c815b3617d935ef1c156d097/src/core/meshcop/joiner.cpp"&gt;jointer.cpp&lt;/a&gt;. Sorry&amp;nbsp;for that I have&amp;nbsp;limited knowledge of such detail. The experts from OT development team may provide you more&amp;nbsp;information.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Charlie&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CoAP starting process</title><link>https://devzone.nordicsemi.com/thread/312570?ContentTypeID=1</link><pubDate>Mon, 31 May 2021 08:39:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de61da19-7377-4776-8249-6b5f8db0668f</guid><dc:creator>orkunsengur</dc:creator><description>&lt;p&gt;Thanks Marjeris,&lt;/p&gt;
&lt;p&gt;However, I didn&amp;#39;t ask that. There is a paragraph below which is written in NORDIC website :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;The Joiner starts broadcasting discovery requests on all available channels. When the Commissioner receives the discovery request, it responds to the sender. After the response, a DTLS session is established to securely authenticate the Joiner and exchange the network credentials.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v3.1.0%2Fthread_ot_commissioning_configuring.html&amp;amp;anchor=thread_ot_commissioning_configuring_on-mesh"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v3.1.0%2Fthread_ot_commissioning_configuring.html&amp;amp;anchor=thread_ot_commissioning_configuring_on-mesh&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am not sure&amp;nbsp; what&amp;nbsp; this broadcast message means. Is it send by using mesh local IPv6 address? Also, if this message is sent via IP multicast, what is the response of receiver? It sends its own unique IP address or not?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CoAP starting process</title><link>https://devzone.nordicsemi.com/thread/312073?ContentTypeID=1</link><pubDate>Thu, 27 May 2021 12:06:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8457df4f-b68a-47a3-b56e-a15b92e470cc</guid><dc:creator>Marjeris Romero</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;In the SDK both examples Thread CoAP Client and Thread Coap Server are pre-commissioned to the same Thread network. The multicast and unicast messages between them are on IP protocol level. To properly observe the commissioning process it is recommended to form a new Thread network.&lt;/p&gt;
&lt;p&gt;Pairing of the CoAP server node with the client node in the example is not part of Thread or CoAP specification, and is just implemented and provided specifically to these examples.&lt;/p&gt;
&lt;p&gt;The pairing procedure is explained in the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/thread_client_server_example.html?cp=8_3_2_10_4_2_6#thread_client_server_example_pairing"&gt;documentation in the infocente&lt;/a&gt;r.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marjeris&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CoAP starting process</title><link>https://devzone.nordicsemi.com/thread/309612?ContentTypeID=1</link><pubDate>Wed, 12 May 2021 20:40:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:64c0ec2d-0840-4ec0-922d-e452a1ac3970</guid><dc:creator>orkunsengur</dc:creator><description>&lt;p&gt;&lt;em&gt;The commisioning process for Thread is detailed in chapter 8.4.1.2 Commissioner Authentication in the Thread specification. If you want to know more about what happens in the OpenThread commissioning process here:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_thread_commissioning.html#openthread-commissioning"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_thread_commissioning.html#openthread-commissioning&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I didn&amp;#39;t ask the commisioning process of Thread. When I use Thread: CoAP Client and Thread: CoAP Server example of NORDIC, already thread network is built. One of them leader and others router... My question is that, why pairing process for CoAP is made. When I press the button on client, it sends a multicast&amp;nbsp;message and server takes it. After that, client can send a unicast message to server. I think, it is made to learn the IP address of server. Is it necessary to implement such as provisioning process. When thread network is built, the devices can lalready earn IP addresses of each other.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CoAP starting process</title><link>https://devzone.nordicsemi.com/thread/309575?ContentTypeID=1</link><pubDate>Wed, 12 May 2021 16:20:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3174dcb-7bf0-4339-8112-bb8247ebcf2c</guid><dc:creator>Marjeris Romero</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user=""]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&amp;nbsp;these messages with examples of Nordic&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/openthread/coap_client/README.html#thread-coap-client"&gt;Thread: CoAP Client&lt;/a&gt;&lt;span&gt;&amp;nbsp;and&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/openthread/coap_server/README.html#coap-server-sample"&gt;Thread: CoAP Server&lt;/a&gt;. Am I right?[/quote]
&lt;p&gt;&amp;nbsp;Yes, correct, CoAP, CoAPs and UDP message transmission is supported with both examples.&lt;/p&gt;
[quote user=""]2.&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/openthread/coap_client/README.html#thread-coap-client"&gt;Thread: CoAP Client&lt;/a&gt;&lt;span&gt;&amp;nbsp;and&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/openthread/coap_server/README.html#coap-server-sample"&gt;Thread: CoAP Server&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;examples use&amp;nbsp;&lt;code&gt;/provisioning&lt;/code&gt;&lt;span&gt;&amp;nbsp;resource&amp;nbsp;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?&amp;nbsp;How to deal with pairing in my application?&lt;/span&gt;[/quote]
&lt;p&gt;I found this press release from the Thread group announcing a collaboration with DALI: &lt;a href="https://www.threadgroup.org/news-events/press-releases/ID/226/Thread-Group-and-DiiA-Collaborate-to-Shape-the-Future-of-IoT-Lighting-for-Commercial-Buildings"&gt;https://www.threadgroup.org/news-events/press-releases/ID/226/Thread-Group-and-DiiA-Collaborate-to-Shape-the-Future-of-IoT-Lighting-for-Commercial-Buildings&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;It seems like this implementation of 104 is under development by DiiA, you should check with them for more help. The article also mentioned that &amp;quot;Together, DiiA and Thread will implement protocols for commisioning and operating devices in lightning and building networks.&amp;quot;&lt;/p&gt;
&lt;p&gt;So the pairing process in DALI + Thread may not yet be defined. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
[quote user=""]3.&amp;nbsp;What happens in pairing process? I think, a device&amp;nbsp;learn&amp;nbsp;IP address of another device which&amp;nbsp;sends a multicast signal. In Nordic example, it uses multicast CoAP message.&amp;nbsp;&amp;nbsp;&amp;nbsp;[/quote]
&lt;p&gt;&lt;br /&gt;The commisioning process for Thread is detailed in chapter 8.4.1.2 Commissioner Authentication in the Thread specification. If you want to know more about what happens in the OpenThread commissioning process here: &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_thread_commissioning.html#openthread-commissioning"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_thread_commissioning.html#openthread-commissioning&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marjeris&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>