0

我正在努力在网关(RPI3 + LoRa hat)和节点(RPi3 + LoRa hat)之间建立 lora 通信。由于我想建立没有TTN的通信通道,我尝试了以下示例来设置两者之间的通信:https ://github.com/dragino/rpi-lora-tranceiver/blob/master/dragino_lora_app/main.c

该代码在发送方和接收方两端都运行良好。这意味着在发送方,要发送的消息正在控制台上打印。在接收方,正在显示接收到的消息。

这适用于短消息。但是,我想发送一条 600 字节长的消息。为了发送这个长消息,我编辑了writeBuf()参数的 typedef 如下:

static void writeBuf(byte addr, byte *value, unsigned short len) {

我进行了此更改,因为byte len将发送的消息限制为 255(由于 unsugned char 的范围为 0-255)。所以我需要扩大这个范围,以便我可以发送更长的消息。进行此更改后,控制台中不会打印任何消息。其中的 for 循环writeBuf()从 0-n 开始,然后连续从 99-n 开始,控制台上没有打印发送消息。因此,接收者永远不会收到任何消息。unsigned short我理解和之间的区别unsigned char。但是,我无法理解在这种情况下unsigned short和之间的区别。unsigned char任何帮助/指导将不胜感激。我还想知道我是否正在做出正确的改变或寻找正确的方向。

谢谢

4

1 回答 1

1

对于欧洲 863-870MHz 频段,应用数据包大小在 51 字节(最慢数据速率)和 222 字节(更快速率)之间变化。参照。https://www.thethingsnetwork.org/forum/t/limitations-data-rate-packet-size-30-seconds-uplink-and-10-messages-downlink-per-day-fair-access-policy/1300

您绝对不能在消息中包含超过 255 个字节,包括标头字节。

于 2019-01-10T00:56:52.050 回答