jun 022014
 

MQTTTijdens het schrijven van de post over de robots gisteren, kwam ik een term tegen die ik nog niet kende, maar die wél al heel lang blijkt te bestaan: MQTT of: MQ Telemetry Transport, in 1999 bedacht door Dr Andy Stanford-Clark van IBM en Arlen Nipper van Arcom (tegenwoordig Eurotech).

Het is een lichtgewicht protocol voor berichten tussen apparaten. De werking is heel simpel: je hebt minimaal drie partijen (apparaten/programma’s) nodig: een sender, een ontvanger en daar tussenin een ‘broker’. Dit is een plek waar de zender de informatie aflevert en de ontvanger de informatie op haalt. En natuurlijk kan een broker meer dan één zender aan en kunnen meerdere ontvangers dezelfde informatie ophalen. En het kan ook zijn dat één ontvanger de informatie van meerdere ontvangers verzameld/combineert.

Daarbij hoeven zender en ontvanger niets van elkaar te weten. Het kunnen verschillende hardwareplatformen zijn en verschillende programmeertalen. Zo beschrijft dit voorbeeld de communicatie tussen een BeagleBone Black die Python gebruikt en een Raspberry Pi waar Java op draait. Beide apparaten hoeven niet van elkaars bestaan te weten, ze hoeven niet in hetzelfde netwerk te zitten, als de ene er even niet is, dan heeft de andere er niet direct last van. Zolang de broker maar in de lucht is.

Het is bijna vanzelfsprekend dat de implementaties van het protocol in de verschillende programmeertalen en voor de verschillende platformen (ook een Arduino ‘spreekt’ MQTT!) open source is. Dat geldt ook voor de broker-software. En ook die kan op redelijk lichte platformen draaien. Zo wordt hier uitgelegd hoe je Mosquito broker op een Raspberry Pi moet installeren.

Mooi is ook dat er locatiesoftware bestaat voor iOS en Android waarmee je via MQTT je locatiedata door kunt sturen naar een broker. De toepassing heet OwnTracks. Je kunt zelf kiezen naar welke broker je de info wilt sturen. Dat kan er dus ook een zijn die op jouw eigen servers draait. En als je er een SQL-database achter hangt, dan weet jij voortaan waar je geweest bent en niet (alleen) Google.

MQTT wordt op meerdere manieren ingezet. Home automation is één voorbeeld. Bijvoorbeeld voor het uitlezen van het energieverbruik uit een Flux meter, of als waarschuwingssysteem voor gemiste telefoontjes.

Behalve voor de Rapiro heb ik nog niet echt veel uitgewerkte voorbeelden gezien van het gebruik van MQTT in combinatie met een robot. De Pinoccio maakt er ook gebruik van en ook Telemba, een Kickstarter project dat een Roomba hergebruikt om een Telepresence robot te bouwen (en dat zo te zien zijn financieringsdoel niet gaat halen) gebruikt MQTT.

Samenvattend
Hoewel ik nog geen tijd gehad heb om hands-on met MQTT aan de slag te gaan, al helemaal niet in combinatie met een robot, ziet het er uit als een handig protocol dat wellicht initieel wat meer setup vergt dan een directe koppeling (je moet immers een broker inrichten), maar daarna wordt het geheel een stuk schaalbaarder en flexibel.

Deel dit bericht:

  2 reacties aan “Bouw je eigen Internet of Things met MQTT”

Sorry, het reactieformulier is momenteel gesloten.