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
}