LoRa: прикладной уровень, принимающий фрагментированные пакеты для каждой полученной передачи?
Я использую RF модуль Ebyte ttl-1w-433 с малиновым пи. Когда я отправляю пакет, получатель получает его, но в моей программе (прикладном уровне) он печатает данные в двух фрагментах. Я использую pySerial для своей программы. Ниже приведен сценарий, с которым я сталкиваюсь
- отправитель отправляет 2 пакета по 58 байт каждый.
- приемник получает две передачи и только две (светодиодный индикатор приемника мигает только дважды)
- Приемник передает данные на прикладном уровне как 48, 10, 48, 10 моды, а не 58, 58 байтов моды. 4.Application Layer(скрипт Python) печатает четыре оператора печати (вместо двух)
Я не теряю никаких данных, мне просто любопытно, почему прибывающий на уровень данных слой приложений фрагментирован. пробовал с различной последовательной скоростью передачи данных и комбинацией скорости передачи данных по воздуху, но я всегда вижу одну и ту же схему.
1 ответ
Я не знаком с Ebyte ttl-1w-433
модуль, но он использует Semtech SX1276
чип. SX1276 имеет регистр RegPayloadLength
(см. таблицу данных SX1272, стр. 114), которая определяет длину полезной нагрузки. Может быть, ваша библиотека Raspberry Pi (или что-то еще), которая контролирует доступ к модулю, определяет фиксированную длину макс. 48 байтов при инициализации. Поскольку вы не предоставили никакого кода, это просто дикая догадка.