MQTT-Sparkplug -viestien hyötykuorman rakenteen ja koodauksen määrittää viestien aiheen alussa oleva ”spBv1.0” merkintä (SparkPlug B versio 1.0).
Sparkplug B hyötykuormamuoto on datan koodausjärjestelmä, joka käyttää Googlen Protocol Buffers -koodausta. Kyseinen ohjelmointikielineutraali koodaus on laajasti käytössä. Sparkplug B on datamalli, joka mahdollistaa strukturoidun MQTT-datan sarjoittamien tehokkaasti ja johdonmukaisesti.
MQTT-Sparkplug -hyötykuorman komponentit
- Aikaleima:
- Sparkplug edellyttää aikaleiman sisällyttämistä jokaiseen mittariin
- Sparkplug-viestin aikaleima edustaa aikaa, jolloin viesti julkaistiin
- Mittarit
- Sparkplug-hyötykuorman metriikka koostuu joukosta mittareita
- Jokaisen mittarin tiedot sisältää mm. nimin, arvon, aikaleiman, tietotyypin
- sekä tarvittaessa myös metatietoa ja ominaisuuksia ym.
- Järjestys
- Jokainen Sparkplug-viesti sisältää järjestysnumeron
- Jos vastaanottaja havaitsee aukon järjestysnumeroissa, se tietää, että viesti on kadonnut
MQTT-Sparkplug -hyötykuorman esimerkki
Sparkplug-syntymätodistus (NBIRTH) -viestissä mittareilla voi olla eri aikaleimat, kuin MQTT-Sparkplug -viestillä. Sparkplug DDATA -viesti julkaistaan mittarin muutoksen yhteydessä, jolloin aikaleimat ovat samat.
{
"timestamp": 1486144502122,
"metrics": [{
"name": "Kaivon kuivavara",
"timestamp": 1484123452194,
"dataType": "Int32",
"value": "50"
}, {
"name": "Kaivon luukku kiinni",
"timestamp": 1479123452194,
"dataType": "Boolean",
"value": true
}, ],
"seq": 2
}