MQTT-Sparkplug hyötykuorma

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 }