Полезная нагрузка для отправки (AppData
) передается на уровень LoRaMAC через запрос MCPS (подуровень общей части MAC), например, для неподтвержденного кадра:
mcpsReq.Req.Unconfirmed.fBuffer = AppData;
То есть физически (то есть по RF), AppData
отправляется, но перед этим шифруется и инкапсулируется.
PrepareFrame()
функция создает кадр для отправки по схеме PHYPayload
(см. «Форматы сообщений MAC»).часть документа LoRaWAN ™ Specification 1.0.2), следующие поля:
MHDR
(1 байт). Заголовок Mac DevAddr
(4 байта). Адресконечное устройство FCtrl
(1 байт) Управление кадром FCnt
(2 байта) Счетчик кадров FOpts
(0 - 15 байтов) Параметры кадра FPort
(0 - 1 байт) Поле порта FRMPayload
(0 - N байт) Шифрование полезной нагрузки кадра MAC, ваш AppData
зашифрованный MIC
(4 байта) Код целостности сообщения
FRMPayload
зашифрован в соответствии с FPort.Алгоритм шифрования основан на AES 128.
Если FPort
= [1..255], ключ AppSKey
будет использоваться для шифрования вашей полезной нагрузки.
Иначе (FPort
= 0), этозашифровано с помощью ключа NwkSKey
.
Подробнее см. в функции LoRaMacPayloadEncrypt()
.
PHYPayload
будет инкапсулировано Radio PHY Layer
и отправленочерез РФ.