gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 05:04:28 26 4
gpt4 key购买 nike

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

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

服务器

var coap        = require('coap');
var server = coap.createServer();

// At this point, I checked from mozilla coap browser, sent "hello" and I am able to receive the HEX values. Same way, I tried to send it from Arduino, but did not print anything
server.on('request', function(req, res) {
console.log(req.payload);
})

// the default CoAP port is 5683
server.listen(function() {
var req = coap.request('coap://localhost');
console.log('Listening on : 5683')

req.on('response', function(res) {
res.pipe(process.stdout);
});

req.end()
});

Arduino

void loop() {
// send GET or PUT coap request to CoAP server.
// To test, use libcoap, microcoap server...etc
int msgid = coap.put(IPAddress(192,168,0,11), 5683, "light","1");
Serial.println("Send Request");
//int msgid1 = coap.get(IPAddress(192, 168, 0, 11), 5683, "time");

delay(1000);
coap.loop();
}

最佳答案

在 Arduino 上,您应该在固件中(而不是在 Node 中)实现 coap 服务器。

您正在使用 this图书馆?如果是这样,那么您应该特别检查this example它从以太网外设读取数据,解析数据包,然后做出相应的响应。

伪代码:

udp.setup()

while true
p = udp.read()
if(p == SUCCESSFUL_UDP_READ_FLAG)
parsed = p.parse()
if(parsed matches some condition)
udp.respond(message regarding condition)
<小时/>

还有另一个具有 2 个端点的示例服务器 here .

重要的部分是:

内部void setup():

coap.add_resource(&aSensor);
coap.add_resource(&bSensor);

然后在void Loop()内:

coap.handler();

关于javascript - Nodejs CoAP 服务器未接收有效负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41862202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com