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 设置rebootclock syncstart otaclocktimetempradioclear statsget afget agc.reset.intervalget nameget latget longet radioget rxdelayKISS 模式允许将 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 115200set 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 已相应重命名get txdelayget freqset afset int.threshset agc.reset.intervalset nameset radioset latset lonset rxdelayset txdelayset freqeraseverlog startlog stoprxlog onrxlog off