Я использую Пример кода конечного узла ST I-Cube (на языке C), встроенный в плату комплекта обнаружения B-L072Z-LRWAN1, и передаю пакет LoRaWAN на свое оконечное устройство. Я вижу, что пакет получен конечным устройством, потому что он печатает:
"PACKET RECEIVED ON PORT 1"
Но я не знаю, как и где хранится полученный пакет.
Как я могу распечатать и получить доступ к пакетным данным/полезной нагрузке, которые я передал на свой узел?
Цените помощь!
Была объявлена и определена функция с сигнатурой void LORA_RxData(lora_AppData_t *AppData)
, в которой lora_AppData_t
содержит полезную нагрузку LoRaWAN нисходящего канала.
Доступные переменные-члены:
буфер сообщения: AppData->Buff
Размер буфера сообщений: AppData->BuffSize
Порт полученного сообщения: AppData->Port
Все это можно найти в файлах lora.h
и lora.c
. Эти файлы содержат реализацию ST LoRaMac-узел.
Функция определена с помощью __weak
, поэтому вы можете определить свой собственный LORA_RxData
для обработки данных на своих условиях. Если вы не переопределите его, он будет использовать значение по умолчанию.
Идеально! Работает!