问题标签 [libcoap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3610 浏览

iot - CoAP 和 DTLS 集成

我有 CoAP (libcoap) 的实现和 DTLS (tinyDTLS) 的实现。如何将 CoAP (libcoap) 与 DTLS (tinyDTLS) 集成?

我将不胜感激任何建议。

0 投票
1 回答
122 浏览

iot - CoAP:将类似资源归为一组

我正在为我的一个 IOT 应用程序使用 CoAP 的 libcoap 实现。

查询:我想在一个主题下分组多个资源。例如,我想将“当前时间”资源和“日期”资源分组在“时间”资源下。

在对“/TIME”资源的 GET 请求中,服务器应向客户端提供日期和当前时间。在对 '/TIME/current time' 资源的 GET 请求中,服务器应向客户端提供当前时间。在对“/TIME/date”资源的 GET 请求中,服务器应向客户端提供今天的日期。

另外,我正在使用 Firefox Copper 插件来测试我的物联网服务器应用程序。

0 投票
1 回答
1606 浏览

c - 在 libcoap coap 服务器 GET 响应处理程序中,如何访问对 URI 的查询添加?

我正在使用libcoap-dev-1带有 Raspberry Pi 的 Raspbian 下的库,使用带有简单客户端和简单服务器的库来实现 CoAP 协议。我有一个工作客户端和一个工作服务器,现在正在尝试修改服务器,以便它可以接受带有查询字符串的 URI,然后我可以获取 URI 的查询字符串。

我目前正在测试的 URIcoap://127.0.0.1/hello?item=1有一个查询参数,item=1?.

服务器中的请求处理程序是以下函数,它是一个存根,用于测试将预设响应作为 JSON 文本发送回客户端。这工作正常,客户端接收 JSON 文本并能够使用 Fast JSON 库来解析它。

printf()函数末尾的 打印不带查询部分的 URI 。所以打印的是hello和不是hello?item=1

我的问题是如何访问客户端发送的 URI 的查询部分?

0 投票
1 回答
128 浏览

c - 指定密码套件 libcoap

我正在使用 libcoap 库在 C 中通过 DTLS 编写一个小型 CoAP 客户端/服务器程序。使用 Wireshark 分析流量表明服务器选择了 TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256。

出于评估目的,我想更改密码套件。我该怎么做呢?似乎没有任何地方可以指定套件。另外,我用 OpenSSL 作为后端编译了 libcoap。

如果 libcoap 不支持这一点,有没有办法自己设置 DTLS 并使用 libcoap 来处理 CoAP 数据包?

0 投票
1 回答
213 浏览

proxy - 关于 CoAP 客户端代理功能

我正在开发 CoAP 客户端代理功能。但是,我对规范及其工作方式感到困惑。我对以下内容感到困惑:

  1. 代理 URI 选项

    1.1 如果设置了Proxy-URI选项,可以连接哪个coap服务器?

    1.2 如果有Proxy-URI选项,CoAP请求消息是否应该包含URI-*选项?据我所知,应该包括 URI-* 选项。但是,在 libcoap 代码中跳过了 URI-* 选项。

  2. 代理方案选项

    2.1 如果存在代理方案选项,如何构造 URI-* 选项?如果存在,是否应该跳过正常的 URI-* 选项?

0 投票
1 回答
488 浏览

iot - 部署可支持多个 PSK 身份/秘密集的 CoAP-DTLS 服务器的最佳实践是什么?

我们正在评估用基于 NB-IoT 的 CoAP/DTLS 取代传统的 HTTPS/RESTful over 蜂窝网络 (4G-LTE) 以延长远程设备的电池寿命的可行性。我们部署的物联网应用只占用了 4G-LTE 数据带宽的一小部分,UDP over NB-IoT 就足够了;所以传输性能不是我们主要关心的问题。

但问题是,我们现在在 SSL/TLS 层中使用相互身份验证,并且我们将不同的客户端证书分配给不同的子组。而且我不确定如何在 CoAP/DTLS 中做到这一点。

我了解到 CoAP/DTLS 的默认凭证模型是预共享密钥 (PSK),并且我还从 RFC4279 中了解到,我可以使用 PSK 身份/共享密钥对作为用户名的简单替代品,这正好适合我的需要。但是当我试图弄清楚如何实现这一点时,我发现互联网资源非常有限。到目前为止,我已经进行了调查node-coap.jslibcoap但在文档中找不到任何提示。两者似乎同时只支持一种证书。

部署可以支持多个 PSK 身份/共享密钥集的 CoAP-DTLS 服务器的最佳实践是什么?还是我需要在应用层实现整个认证机制?

0 投票
1 回答
136 浏览

coap - 如何使用属性动态创建资源?

语境

我正在尝试在同一台服务器上动态创建和访问多个 CoAP 资源。基本上想要的是 get coap://ip/ressource/* 并获取 ressource/1 ressource/n 的所有数据

链接主题

我找到了以下 CoAP:将类似资源归为一组

“剩下的就是你创建一个 /TIME/ 资源(最后的斜线很重要)并在 .well-known/core 中以 ;if="core.b" 的形式宣布它。”

问题

我不知道如何从客户端创建具有特定属性的资源

尝试使用 libcoap

coap-client -m put coap://ip/ressource;if="core.b" 不返回错误但未创建属性(使用铜)

0 投票
1 回答
95 浏览

ubuntu - 继续使用 libcoap

我安装了 Ubuntu 16.04LTS 和 contiki-ng。尝试在终端中启动多播根(由 cooja 多播示例提供)时遇到错误“无法打开 tun 设备”。接收节点出现相同的错误,但使用 sudo 解决了。在任何情况下都存在根节点。我在某处读到需要用 libcoap 替换本机 coap 包。所以我尝试了(如 libcoap.net/install.html 中所述)

但后来我收到错误“make:没有确定目标并且没有找到makefile”。有人可以帮我吗?

0 投票
1 回答
72 浏览

linux - 如何在 Linux 中通过 USB 使用 libcoap 进行通信?

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

我目前正计划使用 libcoap,它有示例,但它基于 UDP 服务器客户端。

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

谢谢