MQTT Interface
The data integration is implemented via MQTT. To configure the broker, navigate to Serivces / System / miotysc. The interface is according to the MIOTY ACMQTTI interface defined by Fraunhofer IIS, and is currently on v0.1.1.
Subscription examples
- Uplink topic for end point 70-b3-d5-67-70-11-00-01:
mioty/+/70-b3-d5-67-70-11-00-01/uplink
- All topics for end point 70-b3-d5-67-70-11-00-01:
mioty/+/70-b3-d5-67-70-11-00-01/#
- Uplink topic for every end point:
mioty/+/+/uplink
- Every topic for every end point:
mioty/#
- or just everything:
#
Topics
End point data
The end point data follows this scheme:
mioty/XX XX XX XX XX XX XX XX/YY YY YY YY YY YY YY YY/uplink
or
mioty/XX XX XX XX XX XX XX XX/YY YY YY YY YY YY YY YY/downlink
where
XX XX XX XX XX XX XX XX: common root for the Application Center (use + as wildcard),
and,
YY YY YY YY YY YY YY YY: Device EUI
Uplink
The uplink topic provides data and meta information for uplink transmissions:
{ "baseStations": […], // Receiving base stations "cnt": 1234, // Packet counter data": [1,2,3,4], // Payload raw data "format": 0, // Payload format ID "typeEui": 1234567890, // Type EUI for blueprint selection "components": {…}, // Payload components "meta": {…} // Meta information (blueprint) }
Base stations
The base stations array contains one base station object for every receiving base station:
{ "bsEui": 9876543210, // Base station EUI "rssi": -123.45, // RSSI in dBm "snr": 6.78, // SNR in dB "rxTime": 1234567890 // Unix time of reception in ns }
Components
The components object is only present if a blueprint is provided for the end point and contains the interpreted payload components:
{ "temperature": { "unit": "°C", // Temperature unit "value": 22.5 // Temperature value }, "humidity": { "unit": "%rel", // Humidity unit "value": 50 // Humidity value } // Additional components... }
Meta
The meta object is only present if a blueprint is provided for the end point and contains device meta information:
{ "vendor": "Fraunhofer Mioty Demonstrator", // Vendor name "name": "Weather" // Device name // Additional metadata... }
Downlink
The downlink topic accepts data and meta information for downlink transmissions:
{ "data": [1,2,3,4], // Payload raw data "format": 0, // Payload format ID (optional) "queId": 0, // Queuing ID (optional) "prio": 0.0, // Priority (optional) "cnt": [0,1,2,3], // Packet counter for prescheduling (optional) "presched": true, // True to schedule immediately (optional) "responseExp": true, // EP response expected (optional) "responsePrio": true, // EP priority response expected (optional) "dlWindReq": true, // Further EP DL window requested (optional) "expOnly": true // Only send when EP expects response (optional) }
End point registration
The end point registration follows this scheme:
mioty/XX XX XX XX XX XX XX XX/register
or
mioty/XX XX XX XX XX XX XX XX/deregister
where
XX XX XX XX XX XX XX XX: common root for the Application Center (use + as wildcard)
Register
The register topic accepts information of an end point to be registered:
{ "eui": 12345678, // EUI "shAddr": 1234, // Short address "nwkKey": "0001…0e0f", // Network key "bidi": true, // True for bidi End Points (optional) "preAttach": true, // True to preattach End Point (optional) "appKey": "0001…0e0f", // Application key (optional) "typeEui": 87654321, // Type EUI (blueprint) (optional) "carrOff": 3, // EP Carrier offset 3 or 5 (optional) "meta": {..}, // EP specific meta infos (optional) "calibration": {..} // EP calibration infos (optional) }
Deregister
The deregister topic accepts information of an end point to be deregistered:
{ "eui": 12345678 // EUI }
End point type registration
The end point type registration follows this scheme:
mioty/XX XX XX XX XX XX XX XX/typeRegister
or
mioty/XX XX XX XX XX XX XX XX/typeDeregister
where
XX XX XX XX XX XX XX XX: common root for the Application Center (use + as wildcard)
Type Register
The type register topic accepts the payload format description (blueprint) for an end point type to be registered:
{ "eui": 12345678, // EUI "format": "{}" // Payload format description (blueprint) }
Type Deregister
The type deregister topic accepts information for an end point type to be deregistered:
{ "eui": 12345678 // EUI }