MC-Network
Die MeshCom-Server verwenden einen UDP-Meldungsaustausch auf. Der MeshCom-Server in OE bildet derzeit den Matrix-Server. Für später ist geplant dass die Lnadesspezifischen Server auch untereinander Meldungen austauschen wenn diese nur an bestimmten Server-Standorten benötigt werden. DM-Meldungen oder Gruppen-Meldungen wenn das Gruppenbuchungssystem auch via die Schnittstellen kommuniziert wird. Ähnlich bMaster+ bei DMR.
jeder Server öffnet eingehend ein UDP-Port und sendet auch auf diesem Port Meldungen zum Partner-MeshCom-Server.
Das Port ist 1985.
Heard-Beat / Anmeldung
- Client sendet „DNCLOUD“ + Anmeldecode mit fixer Länge von 50 Bytes. Rest immer mit 0x00 auffüllen
Diese Anmeldung alle max. 60-80 Sekunden wiederholen. Wenn zwei Anmeldungen fehlen wird der Client abgehängt. - Master sendet „HBMASTER“ mit einer fixen Länge von 8 Bytes retour. Wenn keine Antwort in normaler Latenzzeit (hin/zurück) kommt dann entweder Anmeldecode falsch oder Netzfehler.
Verwendet wird ein JSON-Protokoll:
Hinweis: Welche JSON-Protokolle übertragen werden hängt von der Anmeldung ab
- Text-Message:
-
{„type“: „msg“,„src“: „OE1XAR-45“,„dst“: „*“,„msg“: „das ist der Text“,„msg_id“: „663B1093“}
- msg_id muss über alle Meldungen Text-Messages, Direct-Messages, Positions-Meldungen innerhalt von 120 pro Sendestelle eindeutig bleiben.
-
-
Direct-Message:
-
{type: „msg“,src: „OE1KFR-3“,dst: „OE1KBC-2“,msg: „test{787“,msg_id: „754CE313“}
- 787 ist eine laufende Nummer der Meldungen kann von 001-999 und dann wieder auf 001 springen. Dient der Quittierung von Textmeldungen durch den Empfänger (APRS-Protokoll)
- msg_id muss über alle Meldungen Text-Messages, Direct-Messages, Positions-Meldungen innerhalt von 120 pro Sendestelle eindeutig bleiben.
-
- Positionen:
-
{„type“: „pos“,„src“: „OE1KFR-2,OE1KFR-12“,„lat“: 48.2388,„lat_dir“: „N“,„long“: 16.3178,„long_dir“: „E“,„alt“: 801,„aprs_sym“: „-„,„aprs_sym_grp:“: „/“,„hw_id“: 10,„msg_id“: „A4ED0001“,„fw“: „4.33b“„batt“: 0,„press“: 1019.2,„hum“: 56.2,„temp“: 22.1,„temp2“: 22.1,„qnh“: 989.2,„gas_res“: 125,„eco2“: 655,„wlevel“:655,„wtemp“:22.5,„gw“: 0,„nct“: 0}
-
- HEY-Messages:
-
{„type“: „hey“,„path“: „OE1MOJ-45,OE1KFR-12“,„nct“: „9“,„rssi“: „12,86,6“,„msg_id“: „663B1093“}
-
Syntax hey payload („rssi“)
-
Rn,rssi,snr;
-
–> nct=n rssi=“rssi,snr;“
-
-
Rssi,snr;
-
–> nct=0 rssi=“rssi,snr;“
-
-
Rn;
-
–> nct=n rssi=““;
-
-
-
Wie wird das JSON übertragen:
- Buffer mit variabler Länge
- Pos:0 DNCDATA
- Pos:7: {…json-String…}
- Daten werden nicht quittiert
73 de Kurt
OE1KBC