meshcom
Meshcom確實是公民科學研究所的太空與無線通信研究所(www.icssw.org),旨在為業餘無線電運營商創建一個基於彈性的基於文本的通信工具。它利用Lora™調製技術和APRS協議在70厘米頻段中建立網格網絡。 MESHCOM的主要目標是實現具有低能消耗和具有成本效益的硬件的連接離網消息傳遞系統。技術實施基於Lora™無線電模塊,該模塊可以以低傳輸功率傳輸消息,位置,測量以及更長的距離。可以連接MESHCOM模塊以形成網絡網絡或通過Meshcom網關建立消息網絡,理想地通過HAMNET連接。
基本功能:
- 每個節點都通過業餘無線電呼號(帶有可選的SSID)識別
- 可以通過服務器/網關的ACK發送簡短的測試消息(每個人)
- 簡短的短信可以直接發送到其他呼叫聲,並具有端向AKnowledgement
- 某些節點可以配置為通往Hamnet或Internet的網關(WiFi)
- 每個節點都應充當所有其他網格com消息的中繼器
- 服務器和網關可能具有某些功能,以避免傳播冗餘Trafic
- 節點將自動發送狀態和位置消息
- 帶有可選傳感器的節點將定期發送WX-DATA或遙測數據
- 郵件將在小型OLED顯示器上或通過BT連接的智能手機或平板電腦設備或通過USB連接的串行控制台進行外交
主要目標是擁有一個自我建築和自我修復的網狀網絡,可以通過業餘無線電服務的其他組件(例如Hamnet(IP網絡),集中或分佈式網格Comcom服務器)來增強這種網絡。這將增加對所有大陸的覆蓋範圍,並啟用與其他模式和服務的互連(APR,Winlink,DMR,Tetra-SDS,Sota-Watch,Pocsag,Vara-AC,Vara-AC,…)建立統一的通信底板。在發生災難或停電的情況下,特定有用的是緊急通信(EMCOM)的MESHCOM。在所有用途術語和規則中,都應尊重業餘無線電服務(嚴格非商業,實驗)。這是一個開放的公民科學項目,應該有助於促進學術和社會中的業餘無線電服務。
區域的頻率:
歐盟:433.175英國:TBD北歐:TBD美國:433.175 Afrika:433.175亞洲/太平洋:TBD
洛拉參數:
SF:11 Bandwith:250KHz CR:4/6
Aprs-Protokoll:
文檔:http://www.aprs.org/doc/aprs101.pdf地址:Call-SSID,來源,目標,Digi1-5遙測:數據,數據,配方,單位,單位,…天氣:臨時,壓力,雨水,雨水,……目標與Aprs.fi完全兼容。
硬體:
ESP32/Lora-Modul,Rak-Wisblock,ESP32-DEV4/E22-Lora,...
meshcom 4.0固件
MESHCOM是一個通過LORA無線電模塊交換短信的項目。主要目標是實現具有低功率和低成本硬件的網絡離網消息傳遞。
技術方法基於使用LORA無線電模塊,該模塊傳輸消息,位置,測量值,電信對照等,而遠距離傳輸功率較低。可以將MESHCOM模塊組合在一起以形成網絡網絡,但也可以通過Meshcom網關連接到消息網絡,這是通過HAMNET連接的。這使得Meshcom無線電網絡無法通過無線電連接,可以相互通信。
meshcom協議
MESHCOM 4.0使用APRS協議參考作為APRS定義的源,目的地,Digipeater和有效載荷數據。 (APRS101.PDF APRS協議參考版本1.0 2000,第12頁)MESHCOM 4.0VerwendetFürDie有效載荷daten daten das ax.25 protokoll,wie esfürapr aprs definiert ist。 (APRS101.PDF APRS協議參考版本1.0 2000,Seite 12)
術語:
- 標識符 - APRS數據類型標識符
- 消息ID - 32位LSB-> MSB唯一值
- 最大 - 最大。使用7(Mask 0x07)默認5允許另外4個傳輸。
- 0x80 - ID關於是否已經通過MQTT服務器發送此消息
- 0x40 - 標識該消息應為每個網格電量的呼叫符號補充傳輸站。用於測量和控制目的。
- 源地址 - 此字段包含傳輸站的呼叫聲和SSID
- 目標地址 - 此字段可以包含APR目標呼叫登錄或
- Digipeater - 該領域中可以有0到8個Digipeater呼號。注意:這些Digipeater地址可以被通用的APRS Digipeater路徑(由目標地址的SSID指定)覆蓋。
- 有效載荷 - 此字段包含傳輸數據。該字段的第一個字符是APRS數據類型標識符,該標識符指示以下是哪種有效載荷數據。
- 硬件ID-請參見下表
- 洛拉調製索引 - 請參見下表
- 框架檢查序列 - FCS是16位的序列,用於檢查接收框架的完整性。
消息:
- 簡訊:
- :|! mmmmmmmmm |! hh | oe0xxx-99 |>*|:|短信|! 00 |!
- 帶有路徑的短信:
- 職位報告:
- ! |! mmmmmmmmm |! bbb /a = hhh |! 00 |! hw |! mod | fcs##
- 傳奇:
消息元素
- Medlution ID:! @ ...文字,位置,天氣消息
- mmmmmmmm消息ID 32位LSB-> MSB
- HH Max-Hop 8位掩碼0x07
- 通過MQTT服務器位掩碼0x80消息
- 將路徑插入網格(帶有逗號作為分離)位蒙版0x40
- 4800.00緯度度/十進制x 100
- 01600.00 longidude Demes/Decimal x 100
- n北 /南char
- / APRS符號組(/或)char
- EE AST / West Char
- #APRS符號char
- BBB電池狀態在%INT 0-100
- /a = HHHH GPS海平面(M)INT 0-9999
- 消息完成關閉APRS消息範圍從0x00
- HW ...硬件類型ID
- mod ... Lora調製ID
- FCS#校驗和包括標識符和0x00來自消息完成未簽名的INT 16位
- 額外的信息以形成mheard
- GGGGGGGGG網關ID(僅適用於Meshcom 2.0兼容性)32位LSB-> MSB
- HW硬件ID 8位(請參閱表)
meshcom硬件ID
- 硬件ID HW類型MCU類型LORA類型HW短名稱hw版本
- 1 TTGO ESP32 PaxCounter ESP32 SX1278 Tlora V2
- 2 TTGO ESP32 PaxCounter ESP32 SX1278 Tlora V1
- 3 TTGO ESP32 PaxCounter ESP32 SX1278 Tlora V2 1.6
- 4 TTGO T-BEAM ESP32 SX1278 T梁1.1
- 5 TTGO T-BEAM ESP32 SX1268 T-BEAM-1268 1.1 1268
- 6 TTGO T-BEAM ESP32 SX1262 T-BEAM-0.7 0.7
- 7 T-Echo Lora SX1262 NRF SX1262 T-ECHO
- 8 T-DECK ESP32-S3 SX1262 T-DECK
- 9 Wisblock RAK4631 NRF Wisblock NRF RAK4631
- 10 WiFi Lora 32 V2 ESP32 SX1262 HELTEC-V2-1 V2
- 11 WiFi Lora 32 V1 ESP32 SX1276 HELTEC-V1 V1
- 12 TTGO T-BEAM ESP32 SX1278 TBEAM-AXP2101
- 39 EBYTE LORA E22 ESP32 SX1278 EBYTE-E22
- 43 WiFi Lora 32 V3 ESP32-S3 SX1262 HELTEC-V3 V3
Meshcom Lora調製指數
- 0擴展範圍10-20快速
- 1擴展範圍10-20慢(健壯)0.275 kbps
- 2個額外的擴展範圍20-40慢(健壯)0.183 kbps
- 3正常範圍5-10慢(健壯)
- 4普通範圍5-10快速5,469 kbps
- 5局部範圍0-5慢(健壯)
- 6局部範圍0-5快21,875 kbps
平台的準備。 IOVSCODE插件
- 在平台下安裝所需的框架:
- Espressif 32
- Nordic NRF52版本9.6.0(目前)
- 要添加RAK無線RAK4631的正確板定義,請按照以下說明:https://github.com/rakwireless/wisblock/wisblock/blob/master/master/platformio/readme.md
閃爍的固件
通常,它是通過直接在VSCODE中的上傳按鈕完成的。
ESP32通過命令行:
- 對於此任務,需要Esptool。您可以使用位於
.platformio/tool-esptoolpy/esptool.py .platformio/penv/bin/python Platform.io中的一個。隱藏的.platformio目錄位於您的用戶目錄中。
否則,如果尚未安裝,請安裝最新的Python版本。然後,您需要通過PIP獲得Esptool: pip install esptool
- 固件bin,bootloader.bin和partition.bin文件是在編譯到Meshcom-Firmware Repo Directory的隱藏
.pio/build目錄後編寫的。
如果僅更新固件,則只需要將相應的文件閃爍。
適應在哪裡閃爍每個文件的位置:
| 地址 | 文件 |
|---|
| 0x1000 | bootloader.bin |
| 0x8000 | partitions.bin |
| 0x10000 | 韌體 |
Mac: python esptool.py -p /dev/tty.usbserial-<NUMBER> write_flash 0x10000 <PATH-TO-BIN-FILE>/firmware.bin
Linux:相同,但是/dev下的串行設備可以是ttyUSB0或相似的。
Windows:串行設備通常是一些com
就緒構建固件也可以通過在線工具(Chrome,Edge,Opera)閃爍:
https://oe1kfr.com/esptool/
擦除NVS:
如果要擦除存儲在節點上的設置:
python esptool.py --port <SERIAL-PORT> erase_region 0x009000 0x005000
RAK4631通過CLI:
為此,您需要Adafruit Nrfutil。安裝和用法:
https://github.com/adafruit/adafruit_nrf52_nrfutil
RAK4631通過UF2文件:
雙擊模塊上的按鈕時,它將安裝一個USB設備,您可以在其中將.UF2文件複製到模塊上。要生成該文件,您需要以下Python腳本:
https://github.com/microsoft/uf2/blob/master/utils/uf2conv.py
./uf2conv.py <PATH_TO-HEX-FILE> -c -o firmware.uf2 -f 0xADA52840