Menu Close

INTERLINK – Interface

MC Network

The MeshCom servers use UDP for message exchange. The MeshCom server in OE currently serves as the Matrix server. Future plans include having country-specific servers exchange messages among themselves when these are only required at specific server locations. DM messages or group messages when the group booking system also communicates via the interfaces. Similar to bMaster+ in DMR.

Each server opens an incoming UDP port and also sends messages to the partner MeshCom server via that port.

The film is set in 1985.

Heard-Beat / Registration

  • The client sends "DNCLOUD" + a login code with a fixed length of 50 bytes. Always pad the rest with 0x00
    Repeat this login every 60–80 seconds at most. If two logins are missed, the client will be disconnected.
  • The master returns "HBMASTER" with a fixed length of 8 bytes. If no response is received within the normal round-trip latency, either the login code is incorrect or there is a network error.

A JSON protocol is used:

Note: Which JSON protocols are transmitted depends on the login.

  • Text message:
    • {
        "type": "msg",
        "src": "OE1XAR-45",
        "dst": "*",
        "msg": "this is the text",
        "msg_id": "663B1093"
      }

    • msg_id must remain unique across all text messages, direct messages, and position reports within 120 messages per sending station.
  • Direct message:
    • {
        type: "msg",
        src: "OE1KFR-3",
        dst: “OE1KBC-2”,
        msg: „test{787“,
        msg_id: „754CE313“
      }

    • 787 is a sequential number for messages; it can range from 001 to 999 and then reset to 001. Used by the recipient to acknowledge text messages (APRS protocol)
    • msg_id must remain unique across all text messages, direct messages, and position reports within 120 messages per sending station.
  • Positions:
    • {
        "type": "pos",
        "src": "OE1KFR-2,OE1KFR-12",
        "lat": 48.2388,
        "lat_dir": "N",
        "long": 16.3178,
        "long_dir": "E",
        "old": 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="";

How is the JSON transmitted:

  • Variable-length buffer
    • Pos:0 DNCDATA
    • Pos:7: {…json-String…}
  • Data is not acknowledged

 

73 de Kurt
OE1KBC