
उपभोक्ता 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
लिनक्स सिस्टम पर सीरियल पोर्ट के साथ इंटरैक्ट करते समय डिफ़ॉल्ट बॉड सेट करने के लिए निम्न कमांड चलाना सहायक हो सकता है:
stty -F /dev/ttyACM0 115200
एक बार कनेक्ट होने के बाद, MeshTNC डिवाइस में एक सरल CLI होता है। CLI काफी हद तक MeshCore के समान है, जिसमें कुछ उल्लेखनीय परिवर्धन हैं।
txraw <hex...> - एक पैकेट प्रेषित करेंget syncword <word> - syncword सेटिंग पढ़ें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 पैकेट लॉगिंग अक्षम करेंrebootclock syncstart otaclocktimetempradioclear statsget afget agc.reset.intervalget nameget latget longet radioget rxdelayKISS मोड LoRA रेडियो को KISS मॉडेम के रूप में संचालित करने की अनुमति देता है, जो इसे APRS सॉफ़्टवेयर और लिनक्स कर्नेल सहित बहुत सारे पूर्व-मौजूदा रेडियो सॉफ़्टवेयर के साथ संगत बनाता है।
serial mode kissecho -ne '\xC0\xFF\xC0' > /dev/ttyUSBx
stty के साथ सही ढंग से सेट है

आप MeshTNC के साथ अपने पसंदीदा APRS टूल्स का उपयोग कर सकते हैं। बस एक फ्रीक्वेंसी चुनें, रेडियो को KISS मोड में रखें और अपने APRS टूल्स से KISS TNC डिवाइस के रूप में कनेक्ट करें।
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) भिन्न हों। सही ढंग से कॉन्फ़िगर किए जाने पर IP रूटिंग भी काम करेगी!
/etc/ax25/axports संपादित करें:
0 AL1CE-1 115200 220 2 AX25 testAL1CE-1 को अपने कॉलसाइन और SSID से बदलेंkissattach /dev/ttyACM0 0 का उपयोग करके MeshTNC को AX.25 पोर्ट से अटैच करें
sudo dmesg | grep mkiss
[88447.885556] mkiss: ax0: crc mode is auto.ip addr add 10.10.10.10/24 dev ax0 चलाकर एक IP पता असाइन कर सकते हैं
दो या अधिक कंप्यूटरों पर निम्नलिखित चलाएँ, प्रत्येक में एक 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 115200get bleset ble <active_scan>,<filter_dups>,<max_results>,<scantime>
active_scan - on / off - क्या सक्रिय स्कैनिंग का उपयोग करना है। डिफ़ॉल्ट off हैfilter_dups - on / off - क्या डुप्लिकेट को फ़िल्टर करना है। डिफ़ॉल्ट on हैmax_resulrs - प्रति स्कैन अधिकतम परिणामों की संख्या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