我想使用COAP协议通过USB进行通信。
我目前正在计划使用libcoap,它有示例,但它是基于UDP服务器-客户端的。
如果我想使用USB,必须做些什么?
谢谢
发布于 2021-08-12 14:21:50
这在一定程度上取决于部署场景,但通常我建议使用USB以太网中间层(CDC-ECM)。然后,您可以通过USB使用CoAP,就像通过任何其他网络连接一样。(如果您在嵌入式设备上使用RIOT,并在具有原生USB板上构建gcoap示例,并启用usbus_cdc_ecm模块,则几乎可以开箱即用)。
这种方法的最大缺点是,您会受到主机操作系统网络设置突发奇想的影响。它可能至少会占用IPv6链路本地接口,这样您就可以继续向fe80::addr:ess发出请求(或者甚至使用链路本地多播来查找您的设备),但也可能存在陷阱。
有一个slipmux提议在串行上做CoAP,但是a)我不知道它的实现,b)它给你留下了类似的问题,如何确保你的应用程序能够真正找到正确的串行端口。
在自定义USB命令上指定CoAP并不是不可能的(然后由应用程序接管),但需要有真正充分的理由来证明它们的合理性,而且我不确定确保您的NetworkManager设置正确的复杂性是否算数。
https://stackoverflow.com/questions/68296505
复制相似问题