¿Qué tan grande es un paquete LoRa que incluye encabezados PHY?
¿Supongo que te refieres al encabezado MAC? Después de que un chip LoRa haya demodulado las señales de radio LoRa por usted, le dará la carga útil LoRa PHY. Para un enlace ascendente LoRaWAN, dicha carga útil PHY contiene un encabezado MAC, carga útil MAC y MIC.
Para 1.0.x, la regla general parece ser que un paquete LoRaWAN es al menos 13 bytes más grande que la carga útil de la aplicación:
Creo que generalmente al menos 13 [MHDR (1) + DevAddr (4) + FCtrl (1) + FCnt (2) + Fport (1) + MIC (4)] en un paquete sin opciones
La carga útil máxima de la aplicación depende de la velocidad de datos seleccionada. Si un nodo debe poder operar en las peores condiciones, entonces uno debe asumir la peor velocidad de datos, SF12, donde el nodo no debe enviar más de aproximadamente 51 bytes. (Donde, en las mejores condiciones, SF7, eso podría ser 222 bytes). Creo que todo eso también depende de la región. (Y las cosas podrían ser mejores cuando el nodo LoRaWAN no usa LoRa, sino FSK).
Entonces, para su caso de uso, trataría de no depender de una longitud máxima a través de USB. En lugar:
Puede convertir fácilmente el paquete binario LoRaWAN a texto sin formato con Base64 . A continuación, puede enviar como texto a través de USB y terminar con un salto de línea o un NULL -character dejar que sus habilidades receptor cuando el mensaje USB es completa. Incluso puede enviar metadatos adicionales en esa línea de texto si elige un separador que no está en el juego de caracteres Base64.
Por ejemplo, el protocolo UDP Semtech entre puertas de enlace y servidores utiliza mensajes de texto JSON, lo que también le permite pasar metadatos adicionales. En el texto JSON, el paquete binario LoRaWAN también se codifica utilizando Base64. Si el texto JSON está bastante formateado para incluir nuevas líneas, aún puede terminar dicho mensaje de texto con un carácter NULL y su receptor no se confundirá.