Thread 中讨论的其他器件:Wi-SUN
工具与软件:
您好!
如何执行从节点到边界路由器的 CoAP GET 请求并使用发送的值进行响应?
我已经看了关于将 POST 从节点发送到边界路由器的培训示例、我曾尝试进行一些更改、但我不知道如何从边界路由器的响应中获取负载。
提前感谢您、
Eduardo。
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.
工具与软件:
您好!
如何执行从节点到边界路由器的 CoAP GET 请求并使用发送的值进行响应?
我已经看了关于将 POST 从节点发送到边界路由器的培训示例、我曾尝试进行一些更改、但我不知道如何从边界路由器的响应中获取负载。
提前感谢您、
Eduardo。
Eduardo、您好!
您是否通过 Wi-SUN CoAP Simple Link Academy 任务3实现了培训示例–从 CoAP 节点向边界路由器 https://dev.ti.com/tirex/explore/content/cc13xx_cc26xx_simplelink_academy_7_41_00_00/_build_cc13xx_cc26xx_simplelink_academy_7_41_00_00/source/ti_wisunfan/wisun_coap/wisun_coap.html#task-3-send-a-non-confirmable-request-from-the-coap-node-to-the-border-router 发送不可确认的请求
如果您查看 WPAN_CALLBACK ()的修改,您会看到新包类型的定义为 IPv6.CoAP_MESSAGE_CODE_post。 如果您需要将其注册为 IPv6.CoAP_MESSAGE_CODE_GET、当然也需要在路由器节点应用中进行调整。
此致、
等等
尊敬的 Theo:
是的、我已经实施了培训示例、它确实有效。 我可以成功地将 POST 请求从节点发送到边界路由器。
要实现 Get 功能、我在节点代码中进行了以下更改:
有一个变量时间戳定义为 uint8_t *时间戳= 0;
SPINEL 代码中所做的更改如下:
作为一个测试、您可以看到我修改了设置 PAYLOAD=12345的做法、我想这是我应该在节点侧得到的值。 如果我错了、请更正我。
我知道我收到了来自边界路由器的响应、因为红色 LED 按规定闪烁了两次、因此我知道我收到的是消息、但无法在有效载荷中获得响应。
此致、
Eduardo。
尊敬的 Theo:
实际上、我面临一些问题、我说过可以看到该节点的 Launchpad 中的红色 LED 闪烁、但事实并非如此。 我可以看到边界路由器收到了请求:
这是负责接收 GET 请求和发送响应的 SPINEL 代码:
以下是我用于发送 GET 请求的代码:
这是回调函数、当我收到响应时应该调用此函数:
我添加了一个断点、因此我可以确认是否在调用回调函数、并且在我发送 GET 请求时不会停止程序、因此我认为在边界路由器发送响应时不会调用该函数。
此致、
Eduardo。
尊敬的 Theo:
1.发送使用 PAYLOAD=None 的确认有效、可以看到节点 Launchpad 中的 LED 闪烁。
2.是的,回调函数之前已经定义。
回答您的上一个问题时、我想使用 Get 功能将一些数据从边界路由器发送到 CoAP 节点、例如时间戳和其他一些参数是 JSON 格式、该节点必须能够正常工作。
如何实现此功能? 是否预期具有某种负载的消息会出现此行为?
此致、
Eduardo。
Eduardo、您好!
我可以复制此行为、正如您在我们的另一个线程中看到的那样、我向您发送了我的实现: https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1423668/cc1352p7-is-there-maximum-coap-payload-size-in-wi-sun
感谢您的介绍。 我正在跟踪研发部门对此功能的情况、并将再次向您通报最新情况。
此致、
等等