【问题标题】:How to communicate using libcoap over USB in linux?如何在 Linux 中通过 USB 使用 libcoap 进行通信?
【发布时间】:2021-07-08 06:17:13
【问题描述】:

我想使用 COAP 协议通过 USB 进行通信。

我目前正计划使用 libcoap,它有示例,但它是基于 UDP server-client 的。

如果我要使用USB,必须做什么?

谢谢

【问题讨论】:

    标签: linux usb coap libcoap


    【解决方案1】:

    取决于部署场景,但总的来说,我建议在中间使用 USB 以太网 (CDC-ECM)。然后,您可以通过 USB 使用 CoAP,就像在任何其他网络连接上使用它一样。 (如果您将RIOT 用于您的嵌入式设备并在带有本机USB 的板上构建gcoap 示例并启用usbus_cdc_ecm 模块,那么您几乎可以立即使用)。

    这种方法的一大缺点是您会受制于主机操作系统的网络设置。 可能它至少会占用 IPv6 链路本地接口,因此您可以继续向 fe80::addr:ess 发出请求(或者甚至使用链路本地多播来查找您的设备),但可能会有陷阱。

    slipmux 提案可以通过串行执行 CoAP,但是 a) 我不知道其实现,并且 b) 它给您留下了类似的问题,即如何确保您的应用程序能够真正找到正确的串行港口。

    通过自定义 USB 命令指定 CoAP 并非不可能(然后将由应用程序占用),但需要有充分的理由不只是通过 USB 网络来证明它们的合理性,并且我不确定确保正确设置 NetworkManager 的复杂性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多