
소비자용 LoRa 라디오를 KISS TNC 모뎀으로 변환하는 펌웨어로, 직렬 CLI, BLE 패킷 스니핑, 그리고 패킷 무선 네트워킹을 위한 APRS/AX.25 호환성을 제공합니다.
MeshTNC는 LoRa 데이터를 소비자용 라디오와 주고받기 위한 도구입니다.
pio project config | grep '^env:' 출력에서 장치를 찾으세요.export FIRMWARE_VERSION="localbuild" ; ./build firmware <device-environment-name> 명령으로 개별 펌웨어를 빌드합니다.사전 컴파일된 펌웨어 릴리즈 다운로드 - 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를 사용하여 시리얼 포트의 설정과 전송 속도가 올바르게 설정되었는지 확인하십시오.

MeshTNC와 함께 선호하는 APRS 도구를 사용할 수 있습니다. 주파수를 선택하고 라디오를 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
IP를 사용하지 않고 AX.25를 통해 직접 수행할 수 있는 매우 흥미로운 작업이 많지만, 다음 예제에서는 AX.25 인터페이스에 IP 주소를 할당하는 방법을 보여줍니다. 두 대의 다른 컴퓨터에 두 개의 MeshTNC를 사용하여 이 작업을 수행할 수 있으며, MeshTNC의 라디오 설정이 일치하고, 각 시스템에 할당된 IP 주소가 동일한 서브넷에 있고 서로 다르며, 각 시스템의 호출 부호(또는 적어도 SSID)가 다른 경우 공중파를 통해 ping을 할 수 있어야 합니다. 올바르게 구성되면 IP 라우팅도 작동합니다!
/etc/ax25/axports를 편집합니다:
0 AL1CE-1 115200 220 2 AX25 testAL1CE-1을 자신의 호출 부호와 SSID로 바꾸십시오.kissattach /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
LoRa를 통한 이더넷 네트워크를 만들려면 각각 MeshTNC 장치가 연결된 두 대 이상의 컴퓨터에서 다음을 실행하십시오.
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