Difference between revisions of "MQTT"

From Operame
Jump to navigation Jump to search
 
Line 5: Line 5:
 
[[File:MQTTbasic.png|center|600px|de basis dataflow in MQTT]]
 
[[File:MQTTbasic.png|center|600px|de basis dataflow in MQTT]]
   
Omdat er vele data genererende sensors kunnen zijn en ook er meestal ook vele veel ‘afnemers’ zijn zou het aantal verbindingen enorm oplopen als deze 1 op 1 verbonden zouden zijn. Om dit te voorkomen heeft MQTT een middenlaag; de broker hierboven aangegeven door de ronde vorm. <br />Simpelweg komt het er op het volgende neer:
+
Omdat er vele data genererende sensors kunnen zijn en er meestal ook vele ‘afnemers’ zijn, zou het aantal verbindingen enorm oplopen als deze 1 op 1 verbonden zouden zijn. Om dit te voorkomen heeft MQTT een middenlaag; de broker, hierboven aangegeven door de ronde vorm. <br />Simpelweg komt het er op het volgende neer:
   
*Een sensor (die noemen we vanaf nu de Publisher Client) meld zich bij de broker en zegt ‘onder deze naam ga ik de komende tijd data aanbieden, succes ermee’. De naam waaronder hij zijn data gaat inleveren noemen we het ‘Topic’. Verder merken we op dat de Publisher client maar 1 connectie heeft te onderhouden (nl met de broker) ongeacht waar de data uiteindelijk uitkomt of nodig is.
+
*Een sensor (die noemen we vanaf nu de Publisher Client) meldt zich bij de broker en zegt ‘onder deze naam ga ik de komende tijd data aanbieden, succes ermee’. De naam waaronder hij zijn data gaat inleveren noemen we het ‘Topic’. Verder merken we op dat de Publisher-client maar 1 connectie heeft te onderhouden (nl met de broker) ongeacht waar de data uiteindelijk uitkomt of nodig is.
*Een of meer afnemers (dashboard, loggende database etc), die we ‘Subscriber client’ noemen, melden zich bij de broker en zegt ‘ik wil graag een ‘abonnement’ op dit specifieke ‘Topic’. Vanaf dat moment zal de broker elke keer als er nieuwe data is binnen dit topic deze aan alle ‘geabonneerden’ meedelen.
+
*Een of meer afnemers (dashboard, loggende database etc), die we ‘Subscriber client’ noemen, melden zich bij de broker en zegt/zeggen ‘ik wil graag een ‘abonnement’ op dit specifieke ‘Topic’. Vanaf dat moment zal de broker elke keer als er nieuwe data is binnen dit topic deze aan alle ‘geabonneerden’ meedelen.
 
<br />
 
<br />
   
Line 14: Line 14:
   
 
<br />
 
<br />
Verder merken we op dat door de toevoeging van de broker zowel de Publisher client als de ‘subscriber client’ maar 1 connectie heeft te onderhouden (nl met de broker) ongeacht het aantal sensoren als het aantal plaatsen waar de data uiteindelijk nodig is.
+
Verder merken we op dat door de toevoeging van de broker zowel de Publisher client als de ‘subscriber client’ maar 1 connectie heeft te onderhouden (nl met de broker) ongeacht het aantal sensoren of het aantal plaatsen waar de data uiteindelijk nodig is.
 
 <br />
 
 <br />
   

Latest revision as of 10:49, 16 January 2021

Het Operame sensorbord heeft de mogelijkheid om gemeten waarden periodiek te versturen. Dit is een voorziening die het mogelijk maakt om de gemeten CO2 waarden te verzamelen in een database of realtime zichtbaar te maken op een (web)dashboard.

Het transportsysteem dat voor het vervoer van sensor naar database of dashboard gebruikt wordt heet MQTT (een acroniem voor MQ Telemetry Transport). MQTT is een ideaal voor communicatie tussen kleine, data genererende, beperkt intelligente apparaten en de vele ‘geïnteresseerden’ die de data ‘afnemen’. Zowel ‘aanbieders’ als ‘afnemers’ van data noemen we in MQTT ‘clients’ aangegeven hieronder met de blauwe vierkantjes.

de basis dataflow in MQTT

Omdat er vele data genererende sensors kunnen zijn en er meestal ook vele ‘afnemers’ zijn, zou het aantal verbindingen enorm oplopen als deze 1 op 1 verbonden zouden zijn. Om dit te voorkomen heeft MQTT een middenlaag; de broker, hierboven aangegeven door de ronde vorm.
Simpelweg komt het er op het volgende neer:

  • Een sensor (die noemen we vanaf nu de Publisher Client) meldt zich bij de broker en zegt ‘onder deze naam ga ik de komende tijd data aanbieden, succes ermee’. De naam waaronder hij zijn data gaat inleveren noemen we het ‘Topic’. Verder merken we op dat de Publisher-client maar 1 connectie heeft te onderhouden (nl met de broker) ongeacht waar de data uiteindelijk uitkomt of nodig is.
  • Een of meer afnemers (dashboard, loggende database etc), die we ‘Subscriber client’ noemen, melden zich bij de broker en zegt/zeggen ‘ik wil graag een ‘abonnement’ op dit specifieke ‘Topic’. Vanaf dat moment zal de broker elke keer als er nieuwe data is binnen dit topic deze aan alle ‘geabonneerden’ meedelen.


Onwerkbaar veel verbindingen zonder broker


Verder merken we op dat door de toevoeging van de broker zowel de Publisher client als de ‘subscriber client’ maar 1 connectie heeft te onderhouden (nl met de broker) ongeacht het aantal sensoren of het aantal plaatsen waar de data uiteindelijk nodig is.  

Minder verbinding te administreren met een MQTT broker

Klik hier om met MQTT je eigen webbased dashboard maken