
Firmware para convertir radios LoRa de consumo en módems KISS TNC con CLI serie, rastreo de paquetes BLE y compatibilidad con APRS/AX.25 para redes de radio por paquetes.
MeshTNC es una herramienta para canalizar datos LoRa hacia y desde radios de grado de consumo.
pio project config | grep '^env:'export FIRMWARE_VERSION="localbuild" ; ./build firmware <device-environment-name>Descarga los lanzamientos de firmware precompilados - github.com/datapartyjs/MeshTNC/releases
Todavía no hemos creado una herramienta de flasheo. Puedes flashear compilaciones usando el flasher de meshcore, las herramientas de flasheo proporcionadas por el fabricante o siguiendo las instrucciones para desarrolladores para flashear usando VS Code.
MeshTNC está diseñado para dispositivos compatibles con MeshCore, así que consulta su lista de soporte en MeshCore Flasher. Soporte la mayoría del mismo hardware, consulta variants.
El firmware de MeshTNC se inicia inicialmente en un modo serie legible para humanos. Puedes conectarte a la consola serie usando una aplicación de terminal serie. Puede que tengas que configurar la velocidad en baudios, que por defecto es 115200. El siguiente comando usa minicom para conectarse al puerto serie, por favor reemplaza /dev/ttyACM0 con el nodo de dispositivo adecuado para tu puerto serie:
minicom -b 115200 -D /dev/ttyACM0
Puede ser útil en sistemas Linux ejecutar el siguiente comando para establecer el baud predeterminado al interactuar con el puerto serie:
stty -F /dev/ttyACM0 115200
Una vez conectado, el dispositivo MeshTNC tiene una CLI simple. La CLI es muy similar a MeshCore con algunas adiciones notables.
txraw <hex...> - Transmitir un paqueteget syncword <word> - Leer la configuración de syncwordset kiss port <port> - Establecer el puerto del dispositivo KISSset radio <freq>,<bw>,<sf>,<coding-rate>,<syncword> - Configurar la radioserial mode kiss - Cambiar al modo KISSrxlog on - habilitar el registro de paquetes LoRa
[timestamp],[type=RXLOG],[rssi],[snr],[hex...]\nrxlog off - deshabilitar el registro de paquetes LoRarxlog ble on - habilitar el registro de paquetes BLE
[timestamp],[type=RXBLE],[rssi],[snr],[MAC - 6 octets][hex...]\nrxlog ble off - deshabilitar el registro de paquetes BLEget ble - volcar la configuración BLEset ble <active_scan>,<filter_dups>,<max_results>,<scantime>
active_scan - on / off - Si usar escaneo activo. Por defecto offfilter_dups - on / off - Si filtrar duplicados. Por defecto onmax_results - Número máximo de resultados por escaneoscantime - Número de milisegundos para escanearset/get txpower - El set/get tx de MeshCore ha sido renombrado apropiadamenterebootclock syncstart otaclocktimetempradioclear statsget afget agc.reset.intervalget nameget latget longet radioget rxdelayget txdelayget freqset afset int.threshset agc.reset.intervalset nameset radioset latset lonset rxdelayset txdelayset freqeraseverlog startlog stoprxlog onrxlog offEl modo KISS permite operar la radio LoRa como un módem KISS, lo que la hace compatible con muchos programas de radio existentes, incluyendo software APRS y el kernel de Linux.
serial mode kissecho -ne '\xC0\xFF\xC0' > /dev/ttyUSBx
stty

Puedes usar tus herramientas APRS favoritas con MeshTNC. Simplemente selecciona una frecuencia, pon la radio en modo kiss y conéctate a tus herramientas APRS como un dispositivo KISS TNC.
minicom -D /dev/ttyACM0
set radio 918.25,500.0,7,5,0x16serial mode kissMeshTNC debería funcionar con muchos clientes APRS, hemos probado en los siguientes:
Hay una gran cantidad de conocimiento y ejemplos disponibles aquí: https://linux-ax25.in-berlin.de/wiki/AX.25
Hay muchas cosas muy interesantes que se pueden hacer directamente sobre AX.25 sin involucrar IP, pero el siguiente ejemplo demostrará cómo asignar una dirección IP a la interfaz AX.25. Esto se puede hacer en dos máquinas diferentes con dos MeshTNC, y deberías poder hacer ping entre ellas por el aire, siempre que las configuraciones de radio en los MeshTNC coincidan, las direcciones IP asignadas en cada sistema estén en la misma subred y sean diferentes entre sí, y los indicativos (o al menos los SSID) difieran en cada sistema. ¡El enrutamiento IP también funcionará si se configura correctamente!