MeshTNC 是一个用于在消费级无线电之间传输 LoRa 数据的工具。
pio project config | grep '^env:' 输出找到设备export FIRMWARE_VERSION="localbuild" ; ./build firmware <设备环境名称>下载预编译的固件发布版 - github.com/datapartyjs/MeshTNC/releases
我们尚未构建刷写工具。您可以使用 meshcore 刷写器、OEM 提供的刷写工具,或者按照开发者说明使用 VS Code 进行刷写。
MeshTNC 设计用于 MeshCore 支持的设备,因此请查看 MeshCore Flasher 中的支持列表。我们支持大部分相同的硬件,请参阅 variants。
MeshTNC 固件初始启动时处于人类可读的串行模式。您可以使用串行终端应用程序连接到串行控制台。您可能需要配置波特率,默认值为 115200。以下命令使用 minicom 连接到串行端口,请将 /dev/ttyACM0 替换为正确的设备节点:
minicom -b 115200 -D /dev/ttyACM0
在 Linux 系统上,运行以下命令设置与串行端口交互时的默认波特率可能会有所帮助:
stty -F /dev/ttyACM0 115200
连接后,MeshTNC 设备具有一个简单的 CLI。该 CLI 与 MeshCore 大致相似,只有一些值得注意的补充。
txraw <hex...> - 传输一个数据包get syncword <word> - 读取同步字设置set kiss port <port> - 设置 KISS 设备端口set radio <freq>,<bw>,<sf>,<coding-rate>,<syncword> - 配置无线电serial mode kiss - 切换到 KISS 模式rxlog on - 启用 LoRa 数据包记录
[timestamp],[type=RXLOG],[rssi],[snr],[hex...]\nrxlog off - 禁用 LoRa 数据包记录rxlog ble on - 启用 BLE 数据包记录
[timestamp],[type=RXBLE],[rssi],[snr],[MAC - 6 octets][hex...]\nrxlog ble off - 禁用 BLE 数据包记录get ble - 转储 BLE 设置set ble <active_scan>,<filter_dups>,<max_results>,<scantime>
active_scan - on / off - 是否使用主动扫描。默认值为 offfilter_dups - on / off - 是否过滤重复项。默认值为 onmax_results - 每次扫描的最大结果数scantime - 扫描的毫秒数set/get txpower - MeshCore 的 set/get tx 已相应重命名rebootclock 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 offKISS 模式允许将 LoRa 无线电作为 KISS 调制解调器操作,使其与许多现有的无线电软件兼容,包括 APRS 软件和 Linux 内核。
serial mode kissecho -ne '\xC0\xFF\xC0' > /dev/ttyUSBx
stty 正确设置了串行端口的设置和波特率

您可以将喜爱的 APRS 工具与 MeshTNC 配合使用。只需选择一个频率,将无线电置于 kiss 模式,然后作为 KISS TNC 设备连接到您的 APRS 工具即可。
minicom -D /dev/ttyACM0
set radio 918.25,500.0,7,5,0x16serial mode kissMeshTNC 应与许多 APRS 客户端兼容,我们已在以下客户端上进行了测试:
此处有大量知识和示例:https://linux-ax25.in-berlin.de/wiki/AX.25
有许多非常有趣的事情可以直接通过 AX.25 完成,无需涉及 IP,但以下示例将演示如何为 AX.25 接口分配 IP 地址。这可以在两台不同的机器上使用两个 MeshTNC 完成,只要两个 MeshTNC 上的无线电设置相匹配、每台系统上分配的 IP 地址位于同一子网且彼此不同,并且每台系统上的呼号(或至少 SSID)不同,您就应该能够通过无线电在它们之间进行 ping 操作。如果配置正确,IP 路由也将正常工作!
/etc/ax25/axports:
0 AL1CE-1 115200 220 2 AX25 testAL1CE-1 替换为您的呼号和 SSIDkissattach /dev/ttyACM0 0
sudo dmesg | grep mkiss
[88447.885556] mkiss: ax0: crc mode is auto.ip addr add 10.10.10.10/24 dev ax0
在两台或更多计算机上执行以下操作,每台计算机都连接一个 MeshTNC 设备,以创建基于 LoRa 的以太网网络。
tncattach
git clone https://github.com/markqvist/tncattach.gitcd tncattachmakesudo make installminicom -D /dev/ttyACM0
set radio 916.75,500.0,5,5,0x16serial mode kisssudo tncattach --mtu=230 -e -noipv6 --ipv4=10.10.10.10/24 /dev/ttyACM0 115200sudo tncattach --mtu=230 -e -noipv6 --ipv4=10.10.10.11/24 /dev/ttyACM0 115200