Meshcom
Meshcom ist in der Tat ein aufregendes Projekt des Institute of Citizen Science for Space & Wireless Communication (www.icsw.org), das darauf abzielt, ein widerstandsfähiges, textbasiertes Kommunikationsinstrument für Amateur-Funker zu schaffen. Es wird die LORA ™ -Modulationstechnologie und das APRS -Protokoll verwendet, um ein Netznetzwerk im 70 -cm -Band zu erstellen. Die Hauptziele von Meshcom sind es, ein angeschlossenes Off-Grid-Messaging-System mit geringem Energieverbrauch und kostengünstiger Hardware zu realisieren. Die technische Implementierung basiert auf LORA ™ -Funkmodulen, die Nachrichten, Positionen, Messungen und mehr über große Entfernungen mit geringer Übertragungsleistung übertragen können. Meshcom -Module können angeschlossen werden, um ein Mesh -Netzwerk zu bilden oder ein Messaging -Netzwerk über Meshcom -Gateways einzurichten, das idealerweise über Hamnet verbunden ist.
Grundfunktionen:
- Jeder Knoten wird von einem Amateur -Radio -Rufzeichen (mit optionalem SSID) identifiziert.
- Kurze Testnachrichten können an alle (alle) mit ACK vom Server/Gateway gesendet werden
- Kurze Textnachrichten können direkt an einen anderen Rufzeichen gesendet werden, wobei die End-toend-Aerkinggement
- Einige Knoten können auch so konfiguriert werden, dass sie als Gateway für Hamnet oder Internet (WLAN) fungieren, um zu fungieren.
- Jeder Knoten sollte als Repeater für alle anderen Meshcom -Nachrichten in der Luft fungieren
- Server und Gateways haben möglicherweise einige Funktionen, um die Übertragung von redundanter Trafic zu vermeiden
- Knoten senden automatisch Status- und Positionsnachrichten
- Knoten mit optionalen Sensoren senden WX-Daten- oder Telemetriedaten regelmäßig
- Nachrichten werden auf einem kleinen OLED -Display oder über BT verbundenes Smartphone oder Tablet -Gerät oder über USB -angeschlossene serielle Konsole diplayiert
Das Hauptziel ist es, ein Selbstbau und eine Selbsthärtung zu haben, die durch andere Komponenten des Amateur-Radiosendienstes wie Hamnet (IP-Network), zentralisierte oder verteilte Meshcom-Server verbessert werden kann. Dies erhöht die Abdeckung auf alle Kontinente und ermöglicht die Vernetzung mit anderen Modi und Diensten (APRS, Winlink, DMR, Tetra-SDS, SOTA-Watch, POCSAG, Vara-AC,…) Erstellen einer einheitlichen Kommunikationsplattform. Besonders nützlich ist Meshcom für die Notfallkommunikation (EMCOM) bei Katastrophen oder Stromausfällen. In allen Usecases sollten Begriffe und Regeln des Amateur -Funkdienstes (streng nicht kommerziell, experimentell) respektiert werden. Dies ist ein Open Citizen Science -Projekt, das dazu beitragen sollte, den Amateur -Radio -Service innerhalb von Akademikern und Gesellschaft zu fördern.
Frequenz in der Region:
EU: 433.175 UK: TBD Nordic: TBD USA: 433.175 Afrika: 433.175 Asien/Pazifik: TBD
LORA -Parameter:
SF: 11 Bandwith: 250 kHz CR: 4/6
APRS-Protokoll:
Dokument: http://www.aprs.org/doc/aprs101.pdf Adresse: Call-Ssid, Quelle, Ziel, DIGI1-5 Telemetrie: Daten, Formel, Einheiten,… Wetter: Temp, Druck, Regen,… Ziel ist, vollständig für APRS.Fi kompatibel zu sein
Hardware:
ESP32/LORA-MODUL, RAK-WISBLOCK, ESP32-DEV4/E22-LORA, ...
Meshcom 4.0 Firmware
Meshcom ist ein Projekt zum Austausch von Textnachrichten über LORA -Radiomodule. Das Hauptziel ist es, vernetzte Off-Grid-Messaging mit niedriger Leistung und kostengünstiger Hardware zu realisieren.
Der technische Ansatz basiert auf der Verwendung von LORA -Funkmodulen, die Nachrichten, Positionen, gemessene Werte, Telecontrol und vieles mehr mit geringer Übertragungsleistung über große Entfernungen übertragen. Meshcom -Module können zu einem Mesh -Netzwerk kombiniert werden, können jedoch auch über Meshcom -Gateways mit einem Nachrichtennetzwerk verbunden werden, die ideal über Hamnet verbunden sind. Dadurch können Meshcom -Radio -Netzwerke, die nicht über das Radio miteinander verbunden sind, miteinander zu kommunizieren.
Meshcom -Protokoll
Meshcom 4.0 verwendet die APRS -Protokollreferenz für Quelle, Ziel-, Digipeater- und Nutzlastdaten, die für APRS definiert sind. (APRS101.PDF APRS Protokoll Referenz Version 1.0 2000, Seite 12) Meshcom 4.0 Verwendet für die Nutzlastdaten des Axe.25 Protokoll, Wie es für APRS Definierer ist. (APRS101.PDF APRS Protokoll Referenz Version 1.0 2000, SETE 12)
Bedingungen:
- Kennung - APRS Datentyp -Kennung
- Nachrichten-ID-32-Bit LSB-> MSB eindeutiger Wert
- Max-Hop-Max. 7 (Maske 0x07) Standard 5 wird verwendet, wodurch weitere 4 Übertragungen ermöglicht werden.
- 0x80 - ID, ob diese Nachricht bereits über den MQTT -Server gesendet wurde
- 0x40 - Identifizierung, dass diese Nachricht für jeden Mesclient mit dem Anrufzeichen der Sendungsstation ergänzt werden sollte. Zu Mess- und Kontrollzwecken.
- Quelladresse - Dieses Feld enthält den Rufzeichen und die SSID der Sendungsstation
- Zieladresse - Dieses Feld kann ein APRS -Zielanrufzeichen enthalten oder
- "*" Für Übertragungen an alle.
- Digipeater - In diesem Bereich kann es 0 bis 8 Digipeater Rufzeichen geben. Hinweis: Diese Digipeater -Adressen können durch einen generischen APRS -Digipeater -Pfad (angegeben durch die SSID der Zieladresse) überschrieben werden.
- Nutzlast - Dieses Feld enthält Transportdaten. Das erste Zeichen dieses Feldes ist die APRS -Datentyp -Kennung, die angibt, welche Art von Nutzlastdaten folgt.
- Hardware -ID - Siehe Tabelle unten
- Lora -Modulationsindex - Siehe Tabelle unten
- Frame Check -Sequenz - Das FCS ist eine Sequenz von 16 Bits, mit denen die Integrität eines empfangenen Frame überprüft wird.
Nachrichten:
- Textnachrichten:
- : |! Mmmmmmmmm |! Hh | oe0xxx-99 |>*|: | Textnachricht |! 00 |!
- Textnachrichten mit Pfad von Mesh:
- Positionsberichte:
- ! |! Mmmmmmmm |! Hh | oe0xxx-99 |>*|! Bbb /a = hhhh |! 00 |! Hw |! Mod | fcs#
- Legende:
- | ... dient nur dazu, die Trennungen hier im Text zu zeigen
Nachrichtenelemente
- Medlution ID:! @ ... Text, Position, Wetternachricht
- Mmmmmmmmm Meldung ID 32-Bit LSB-> MSB
- HH Max-Hop 8-Bit-Bitmaske 0x07
- Nachricht über MQTT Server -Bitmaske 0x80
- Setzen Sie den Pfad in ein Netz ein (mit Komma als Trennung) Bitmaske 0x40
- 4800.00 Breitengradgrad/Dezimalzahl x 100
- 01600.00 Longidude Grad/Decimal x 100
- N Nord / Süd -Char
- / APRS Symbolgruppe (/ oder) char
- Ee ast / west char
- # APRS Symbol Char
- BBB -Batteriestatus in % int 0 - 100
- /A = HHHH GPS -Meeresspiegel (m) int 0 - 9999
- Der Abschluss der Nachricht schließt den APRS -Nachrichtenbereich von 0x00
- HW ... Hardwaretyp -ID
- Mod ... Lora Modulations -ID
- FCS# Prüfsumme einschließlich Kennung und 0x00 aus der Meldung Abschluss unsigned int 16-Bit
- Zusätzliche Informationen zur Bildung von Mheard
- GGGGGGGGGGG Gateway-ID (nur für Meshcom 2.0-Kompatibilität) 32-Bit-LSB-> MSB
- HW-Hardware-ID 8-Bit (siehe Tabelle)
Meshcom -Hardware -ID
- Hardware -ID HW -Typ MCU -Typ Lora Typ HW Kurzname HW Version
- 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-Beam 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 HILTEC-V2-1 V2
- 11 WiFi Lora 32 V1 ESP32 SX1276 HILTEC-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 HILTEC-V3 V3
Meshcom Lora Modulations Index
- 0 erweiterter Bereich 10-20 schnell
- 1 erweiterter Bereich 10-20 langsam (robust) 0,275 kbit / s
- 2 zusätzlichen erweiterten Bereich 20-40 langsam (robust) 0,183 kbit / s
- 3 Normalbereich 5-10 langsam (robust)
- 4 Normalbereich 5-10 schnell 5.469 Kbit / s
- 5 Lokaler Bereich 0-5 langsam (robust)
- 6 Lokale Reichweite 0-5 schnell 21.875 Kbit / s
Vorbereitungen für Plattform.io VSCODE -Plugin
- Installieren Sie die erforderlichen Frameworks unter Plattformen:
- Espresssif 32
- Nordic Nrf52 Version 9.6.0 (für den Moment)
- Für das Hinzufügen der richtigen Board -Definitionen für RAK Wireless RAK4631 Folgen Sie folgenden Anweisungen: https://github.com/rakwireless/wisblock/blob/master/platformio/readme.md
Firmware blinken
Normalerweise erfolgt dies über die Upload -Taste in VSCODE direkt.
ESP32 über Befehlszeile:
- Für diese Aufgabe wird die Eptool benötigt. Sie können entweder das von Platform.io verwenden
.platformio/penv/bin/python das sich am .platformio/tool-esptoolpy/esptool.py befindet. Das versteckte Verzeichnis .platformio
Andernfalls installieren Sie, wenn sie noch nicht installiert sind, eine aktuelle Python -Version. Dann müssen Sie die Eptool über PIP: pip install esptool erhalten
- Die Datei firmware.bin, bootloader.bin und partition.bin wird nach dem Kompilieren in das Verzeichnis von Meshcom-Firmware
.pio/build geschrieben.
Wenn Sie nur die Firmware aktualisieren, möchten Sie nur, dass die entsprechende Datei blinkt.
Verwendet, wo jede der Dateien blinkt:
| Adresse | Datei |
|---|
| 0x1000 | Bootloader.bin |
| 0x8000 | partitions.bin |
| 0x10000 | firmware.bin |
MAC: python esptool.py -p /dev/tty.usbserial-<NUMBER> write_flash 0x10000 <PATH-TO-BIN-FILE>/firmware.bin
Linux: Gleiches, aber serielles Gerät unter /dev kann ttyUSB0 oder ähnlich sein.
Windows: Serielles Gerät ist normalerweise einige com
Feraste Build -Firmware kann auch über das Online -Tool (Chrome, Edge, Opera) geblitzt werden:
https://oe1kfr.com/esptool/
Löschen des NVS:
Wenn Sie die auf dem Knoten gespeicherten Einstellungen löschen möchten:
python esptool.py --port <SERIAL-PORT> erase_region 0x009000 0x005000
RAK4631 über CLI:
Dazu brauchen Sie den Adafruit Nrfutil. Installation und Verwendung:
https://github.com/adafruit/adafruit_nrf52_nrfutil
RAK4631 über UF2 -Datei:
Wenn Sie auf die Schaltfläche im Modul doppelt klicken, montiert es ein USB -Gerät, auf dem Sie eine .uf2 -Datei auf das Modul kopieren können. Um diese Datei zu generieren, benötigen Sie das folgende Python -Skript:
https://github.com/microsoft/uf2/blob/master/utils/uf2conv.py
./uf2conv.py <PATH_TO-HEX-FILE> -c -o firmware.uf2 -f 0xADA52840