问题标签 [coap]

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 投票
1 回答
590 浏览

javascript - Nodejs CoAP 服务器未收到有效负载

我刚刚使用 Arduino 创建了 CoAP 客户端,并且能够将有效负载(“hello”)发送到 coap 浏览器(从 mozilla 浏览器安装)。我可以在浏览器中看到它,它接收。

现在我需要创建自己的 |Nodejs 服务器来从 Arduino 客户端接收我的有效负载(说“你好”)。我怎样才能实现它?

服务器

Arduino

0 投票
4 回答
7409 浏览

protocol-buffers - 使用 gRPC 作为物联网协议而不是 LWM2M/CoAP

我一直在玩弄将 gRPC 用于“IoT”类型设备的想法;不是很受限制的东西,比如传感器;更像是单板计算机内置设备,如机器人、无人机等。由于设备是单独开发的,并且可能由其他公司开发,因此需要设备和集中控制器之间的接口。所以版本化的界面语言是必须的;它不应该只是在一个word文档中;一些可编程的东西,比如头文件、WSDL、IDL 或 ProtocolBuffer。同样在设备和控制器之间,应为注册、重新注册等常见用例指定行为。这可以在 word 文件或一些非技术文档中。

Protocol Buffer (ver 3) 中的 (rpc) 接口规范以及通过 gRPC 的高效实现使我选择了 CoAP/LWM2M(乐山 Java 和 C++ 实现)。

使用过 LWM2M 和 grPC,我想说 gRPC 对开发人员更友好;与OMA LWM2M流程相比,接口定义和实现速度很快。当然gRPC中没有Observer-Notify,但对于那个MQTT就足够了。

严格来说,不能将 LWM2M 与 gRPC 进行比较。LWM2M 不仅仅是接口,它还定义了许多 IoT 案例中的行为,如 BootStrap、Registration、KeepAlive、SW 升级等,它的通用 HTTP(如 GET、PUT)在 URL 类型的可寻址资源上使其非常完整。然而,大多数这些行为都可以通过一些努力来自定义。

我们计划编排的一些物联网事物远不是像灯泡这样的小脑设备,更像是机器人。有没有人将 gRPC 用于类似目的。任何成功的失败故事分享

0 投票
1 回答
80 浏览

java - 可以在 californium 的帮助下在 CoAP 中实现 ECDSA 和 ECDH 类算法吗?

我正在为我的学者进行CoAP实施,我正在尝试在 CoAP 中集成 ECDSA 和 ECDH 之类的算法的组合版本,并将在实施后观察协议的行为。到目前为止,我已经通过Eclipse Californium 是 CoAP 的 Java 实现。但我仍然不清楚从哪里开始以及如何在 CoAP 中实现我的算法组合版本。尽管以下需要牢记建议。

  • 仅基于 Java 和 Eclipse 的方法。
  • 没有像 tinyOS、openWSN 这样的基于模拟的实现。

任何帮助,教程链接将不胜感激。我已经关注了 CoAP Tutorial for Eclipse

0 投票
1 回答
292 浏览

c - C 中的缓冲区解析

我正在查看 ContikiOS 中的 CoAP 实现,特别是在标头解析方面,我在理解两个操作时遇到了一些麻烦。代码如下。

coap_pkt 包含数据包和解析值的结构。

  • 版本是 uint8_t(无符号字符)类型
  • 缓冲区容纳数据包
  • COAP_HEADER_VERSION_MASK 值为 0xC0
  • COAP_HEADER_VERSION_POSITION 为 6
  • 类型值是一个有 4 个值的枚举结构
  • COAP_HEADER_TYPE_MASK 值为 0x30
  • COAP_HEADER_TYPE_POSITION 值为 4

现在根据 CoAP RFC 7252,版本和类型都占用两位,因此掩码操作和使用的值对我来说很有意义。

我的问题是为什么两个操作中的移位值不同?,它是否与一个使用 unsigned char 和另一个使用 enum 结构有关?

0 投票
1 回答
1377 浏览

c - C:指向 uint8_t[] 的指针有一些问题

我正在使用微控制器并得到以下工作代码:

.h 文件

.c 文件

我确实想通过在切换后调用 memcpy 来更改此代码以缩短文件(上传的代码更少)。因此,我需要使用一个指针,该指针指向 .h 中的正确值,方法是使用案例来填充指针。不幸的是,我无法让它工作。所以我很不知道我需要在哪里使用 * 或 & 或根本不使用它来让它工作。我尝试了很多不同的方法,但没有一个成功。

那么问题是:我使用什么类型的 uint8_t (uint8_t/uint8_t*/uint8_t**) 来初始化指向其中一个 char 数组的变量?如何填写那个(指针)变量(ptr = state/ptr = &state/ptr=&state[0]/...)?如何在 memcpy 函数中使用(指针)变量(ptr/&ptr/*ptr/&(*ptr)/...)?

我知道我将需要使用我自己设置的大小的变量。

更多信息(如果需要):此代码用于 OpenWSN。我正在使用物联网设备/微控制器。我正在使用他们的 COAP 实现将信息发送到浏览器。

编辑:reserveHeaderSize 函数和 memcpy 函数都将放在切换之后。正如正确答案所指出的,这很简单,但我一直忽略了一个小小的愚蠢错误:我没有删除第三个参数中的 sizeof,所以我基本上是在做 sizeof(size)。德普

0 投票
0 回答
437 浏览

arduino - 通过 Arduino 以太网 UDP 或 WIfi UDP 支持 DTLS

我也通过 EthernetUDP 和 WIFIUDP 实现了 COAP 协议。我现在需要添加数据报级传输层安全性 (DTLS)。EthernetUdp 或 WifiUdp 是否支持 DTLS ?

谢谢,乔蒂·拉吉·夏尔马

0 投票
1 回答
1137 浏览

azure - 在云(或 Azure IoT HUB)中发送/接收 CoAP 请求

我需要在云中为 IoT 设备实施 CoAP(受限应用程序协议)。

我有以下问题:

  1. CoAP客户端和服务器有什么好的和快速的教程吗?
  2. 如何在我的服务器上接收 CoAP 请求?
  3. 实现这一点的最佳语言是什么?目前我的服务器运行 PHP 代码。
  4. 还有可以帮助我测试 CoAP 请求的软件/网站,就像“邮递员”一样?
  5. 如何在 Azure IoT HUB 中实施 CoAP?

以下是我可以使用的技术

  1. 微软 Azure 虚拟机。
  2. 微软 Azure 物联网中心。

请指导我,将我视为 CoAP 的初学者

提前致谢。

0 投票
1 回答
425 浏览

go - 如何在 CoAP 服务器程序 Golang 中添加资源或端点

https://github.com/dustin/go-coap

我正在使用上述库在 Golang 中构建服务器客户端程序。我们如何在服务器端添加资源或端点并编写特定于该端点的处理程序。

以及如何从客户端将数据发布到特定资源或端点。

有人可以使用上述库举例。提前致谢!

0 投票
1 回答
1072 浏览

coap - 一条消息中可以容纳多少数据?

在 CoAP 中为单个消息发送数据的大小限制是多少?

0 投票
1 回答
1040 浏览

java - Java 加州 C​​oAP 服务器

我正在为我的 CoAP 服务器使用加州图书馆。

我使用它没有任何困难。

但是,我想知道是否有办法将我的资源设置为“根资源”。

似乎有些网站的服务器 URL 上没有“suburl”。(例如 coap://192.168.0.1:8080/ )

ATM,因为我不知道如何将我的资源设置为“根资源”,所以我的网址看起来像这样“coap://192.168.0.1:8080/myResource/”

有什么方法可以将我的资源绑定到根上下文?

谢谢