Menu Chiudi

INTERLINK – Interfaccia

MC-Network

I server MeshCom utilizzano uno scambio di messaggi UDP. Il server MeshCom in OE funge attualmente da server Matrix. In futuro è previsto che anche i server specifici per paese scambino messaggi tra loro, qualora questi siano necessari solo in determinate sedi server. Messaggi DM o messaggi di gruppo, qualora il sistema di prenotazione di gruppo comunichi anche tramite le interfacce. Analogamente a bMaster+ nel DMR.

Ogni server apre una porta UDP in entrata e invia messaggi al server MeshCom partner proprio su quella porta.

Il gioco è ambientato nel 1985.

Heard-Beat / Registrazione

  • Il client invia “DNCLOUD” + codice di accesso di lunghezza fissa pari a 50 byte. Riempire sempre lo spazio rimanente con 0x00
    Ripetere questa procedura di autenticazione ogni 60-80 secondi al massimo. Se mancano due autenticazioni, il client viene disconnesso.
  • Il master restituisce "HBMASTER" con una lunghezza fissa di 8 byte. Se non arriva alcuna risposta entro il tempo di latenza normale (andata e ritorno), significa che il codice di accesso è errato oppure che si è verificato un errore di rete.

Codice di registrazione

  • DNCDATA-M indica che vengono inviati tutti i pacchetti HEY, POS, TXT, GATEWAY e TELEMETRY
  • DNCDATA-D solo TXT

Si utilizza un protocollo JSON:

Nota: i protocolli JSON trasmessi dipendono dalle credenziali di accesso

  • Messaggio di testo:
    • {
        "type": "msg",
        "src": "OE1XAR-45",
        "dst": "*",
        "msg": "questo è il testo",
        "msg_id": "663B1093",

        "timestamp": 9999999999,
        "rssi": -100,
        "snr": 3
      }
    • msg_id deve rimanere univoco per tutti i messaggi di testo, i messaggi diretti e i messaggi di posizione all'interno di un limite di 120 per stazione trasmittente.
    • timestamp è il tempo dell'epoca Unix espresso in secondi
  • Messaggio diretto:
    • {
        "type": "msg",
        "src": "OE1KFR-3",
        "ds"t: "OE1KBC-2",
        „msg“: „test{787“,
        „msg_id“: „754CE313“,

        „timestamp“: 9999999999,
        „rssi“: -100,
        „snr“: 3

      }

    • 787 È un numero progressivo dei messaggi che può variare da 001 a 999 per poi ripartire da 001. Serve a confermare la ricezione dei messaggi di testo da parte del destinatario (protocollo APRS)
    • msg_id deve rimanere univoco per tutti i messaggi di testo, i messaggi diretti e i messaggi di posizione all'interno di un limite di 120 per stazione trasmittente.
    • timestamp è il tempo dell'epoca Unix espresso in secondi
  • Posizioni:
    • {
        "type": "pos",
        "src": "OE1KFR-2,OE1KFR-12",
        "lat": 48,2388,
        "lat_dir": "N",
        "long": 16,3178,
        "long_dir": "E",
        «vecchio»: 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,

        "timestamp":9999999999,
        "rssi": -100,
        "snr": 5,
        "grc":[232,2321],
        "comment": "Node Vienna",
        "nome": "Kurt",
        "max_hop": 3,
        „mod“:8
      }

  • Messaggi HEY:
    • {
        "type": "hey",
        "path": "OE1MOJ-45,OE1KFR-12",
        "nct": "9",
        "rssi": "12,86,6",
        "msg_id": "663B1093",
      "timestamp": 11111111

      }

    •  Sintassi: hey payload ("rssi")
      • Rn, rssi, snr;
        • –> nct=n rssi="rssi,snr;"
      • Rssi,snr;
        • –> nct=0 rssi="rssi,snr;"
      • Rn;
        • –> nct=n rssi=““;

  • Messaggi gateway:
    • {
        "type": "gwstatus",
        "src": "OE1XAR-12",
        "timestamp": 121212121212,
        "status": 1,
        "grc": [232,2321,93]
      }

Come viene trasmesso il JSON:

  • Buffer di lunghezza variabile
    • Pos:0 DNCDATA
    • Pos:7: {…json-String…}
  • I dati non vengono confermati

 

73 da Kurt
OE1KBC