当你用 coap 回答一个 get 请求时,你如何发送一个数字

How do you send a number when you answer a get request with coap

我已经阅读 rfc 7252 一段时间了,我可能是盲人,但我找不到如何在您回答资源获取请求时发送一​​个简单的数字(整数或浮点数)(对于例如传感器/灯,你把它写在数据包的什么地方。

我认为它在有效载荷中,所以我尝试发送这个数据包: 选项 content-format text/plain, charset=utf-8, length 1 然后我在数据包中写入 255(0xff) 然后我在数据包(有效载荷部分)中写入 0x34。

但显然它不起作用,首先我认为我不应该使用这个选项(可能是另一个,但我找不到发送整数或浮点数的好选项),但我不确定如果我以正确的方式并且不确定我在做什么,所以这就是我问的原因。

感谢您的帮助,

再见

编辑:这里有更多信息: 我在 arduino 上使用 microcoap,在 computer/arduino mega 2560 之间使用以太网电缆。 wireshark info

在查看您的 Wireshark 跟踪并看到 Copper 中的响应后,我想我明白了问题所在。当您说 Content-formattext/plain 时,您是在说您正在发送 ASCII 数据。你说你在 post 中发送 [0xFF 0x34],但在你实际发送的跟踪中是 [0xFF 0x33]。 Copper 向您展示了您正在发送的内容:0xFF 在这里没有解析为 ASCII,而 0x33 是 3 的 ASCII,它显示在 Wireshark 跟踪和您的 Copper 输出 window 中。如果您想发送不应被解释为文本的 2 个原始数据字节,您需要将 Content-format 设置为 application/octet-stream.