MQTT op de Raspberry: verschil tussen versies

Uit RobotMC.be
Ga naar: navigatie, zoeken
Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
Regel 23: Regel 23:


<code>node-red start</code>
<code>node-red start</code>
Als node-red eenmaal gestart is kan je met je browser (hoeft niet lokaal op de pi te zijn) node-red bereiken via het ip-adres van de pi  en het poort nummer "1880"

Versie van 24 dec 2017 18:33

MQTT op de Raspberry

MQTT is een soort van berichten "makelaar", dat gebruik maakt van het TCP/IP protocol. Het is speciaal ontworpen om via de standaard netwerkverbindingen (Wifi, Ethernet) data te delen en te versturen met weinig overhead en beperkte bandbreedte. Er bestaan uitstekende librarys voor Arduino (ESP8266) en andere populaire programmeertalen (Python). De MQTT "Broker" is belast met het ontvangen en verdelen van de berichten. Je kan met verschillende "clients" data naar de broker sturen, en er kunnen ook verschillende clients data ontvangen. Data naar MQTT sturen noemt men "Publish", als je data wil ontvangen moet je "Subscriben". De data kan bijvoorbeeld van een temperatuur sensor zijn, deze sensor moet één unieke naam krijgen : dat noemt dan "topic". Je stuurt dan de gemeten temperatuur door als "payload". Als iemand deze gemeten temperatuur wil opvolgen, moet hij "subscriben" op dit welbepaalde "topic".

MQTT Mosquitto

Op de Pi wordt meestal Mosquitto gebruikt als MQTT broker. Dit moet eerst nog geinstalleerd worden op de Pi via het welbekende "apt get" :

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key

sudo apt-key add mosquitto-repo.gpg.key

cd /etc/apt/sources.list.d/

sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list

sudo apt-get update

sudo apt-get install mosquitto Na de installatie wordt Mosquitto direct gestart.

Node-red

Met Node-red kan je op eenvoudige manier MQTT programmeren en debuggen vanuit een webbrowser. Als je Rasbian "Stretch" gebruikt op de Pi, is "Node-red" reeds standaard geinstalleerd op de Pi. Je kan node-red starten vanuit de desktop (onder het menu "programming"), maar ook via de terminal :

node-red start

Als node-red eenmaal gestart is kan je met je browser (hoeft niet lokaal op de pi te zijn) node-red bereiken via het ip-adres van de pi en het poort nummer "1880"