Menü Schließen

INTERLINK – Schnittstelle

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