Разница между неподписанным коротким и неподписанным символом в коммуникации LoRa - PullRequest
0 голосов
/ 09 января 2019

Я работаю над установлением связи между шлюзами (RPI3 + шляпа LoRa) и узлом (RPi3 + шляпа LoRa). Поскольку я хотел бы установить канал связи без TTN, я попробовал следующий пример для настройки связи между ними: https://github.com/dragino/rpi-lora-tranceiver/blob/master/dragino_lora_app/main.c

Код хорошо работает как для отправителя, так и для получателя. Это означает, что на стороне отправителя отправляемое сообщение печатается на консоли. А на стороне получателя отображается полученное сообщение.

Это хорошо работает для коротких сообщений. Тем не менее, я хотел бы отправить сообщение длиной 600 байт. Чтобы отправить это длинное сообщение, я отредактировал typedef аргумента writeBuf() следующим образом:

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

Я сделал это изменение, потому что byte len ограничивал отправку сообщения 255 (из-за диапазона неподтвержденных символов, который составляет 0-255). И поэтому мне нужно было расширить этот диапазон, чтобы я мог отправить более длинное сообщение. После внесения этого изменения в консоли не печатается никаких сообщений. Цикл for в writeBuf() начинается с 0-n, а затем с 99-n непрерывно, без отправки сообщения на консоль. Следовательно, получатель никогда не получает никакого сообщения. Я понимаю разницу между unsigned short и unsigned char. Однако я не могу понять разницу между unsigned short и unsigned char в этом контексте. Любая помощь / руководство будет высоко ценится. Я также хотел бы знать, делаю ли я правильные изменения или смотрю в правильном направлении или нет.

Спасибо

1 Ответ

0 голосов
/ 10 января 2019

Для европейской полосы 863–870 МГц размер пакета приложения варьируется от 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 байтов в сообщении, включая байты заголовка.

...