Aan de slag met IoT en MQTT: Een code-vrije ESP8266-tutorial
MQTT is de lichtgewicht messaging-ruggegraat van de meeste IoT-oplossingen. Deze gids laat zien hoe je een complete, code-vrije workflow lanceert: een ESP8266-sensor publiceert data naar een Raspberry Pi die Node‑RED draait, waar de metingen verschijnen in een live dashboard.
Waarom MQTT belangrijk is voor IoT
Het publiceer/abonneer-model van MQTT houdt netwerkverkeer minimaal en is ontworpen voor onbetrouwbare of laag-bandbreedte verbindingen – precies wat de meeste IoT-implementaties vereisen. Door open standaarden als Arduino, MQTT en Node‑RED te benutten, kun je snel prototypen zonder een enkele regel code te schrijven.
Wat je nodig hebt
- ESP8266-module (hier aangeduid als de "IoT Octopus") met een Bosch BME280-sensor (temperatuur, druk, vochtigheid)
- Raspberry Pi met Raspbian (getest op 2018‑06‑27 release)
- Node‑RED (voorgeïnstalleerd op nieuwere Raspbian-images, anders handmatig installeren)
- Mosquitto MQTT-broker – https://mosquitto.org
- Arduino IDE 1.8.5 (portable versie inbegrepen in het IoT Werkstatt-pakket)
- Ardublock – een visuele blok-editor die Arduino-code automatisch genereert
Stap 1: Het IoT Werkstatt-pakket downloaden
Download de IoT Werkstatt ZIP. Het bundelt een portable Arduino 1.8.5, alle vereiste bibliotheken en Ardublock, dat voorgebouwde "superblokken" voorvoorgt voor veelvoorkomende IoT-taken.
Stap 2: De ESP8266 voorbereiden
Open Ardublock en laad het meegeleverde XML-project. Configureer je Wi‑Fi SSID/wachtwoord en richt de MQTT-instellingen op het broker-adres van je Raspberry Pi. Selecteer de Bosch BME280-sensor en creëer een uniek onderwerp voor elke meting (bijv. home/room1/temperature).
Klik op Upload naar Octopus – de Arduino IDE compileert de gegenereerde sketch en flasht het naar de ESP8266. Eenmaal draaiend, publiceert het apparaat sensordata naar de MQTT-broker.
Stap 3: De MQTT-broker op Raspberry Pi instellen
Op de Pi, installeer Mosquitto:
sudo apt-get update sudo apt-get install mosquitto mosquitto-clients
Start de broker (het draait automatisch op boot). Geen extra configuratie vereist voor een basis lokale setup.
Stap 4: De Node‑RED-flow importeren
Open Node‑RED (https://localhost:1880) en plak de meegeleverde flow-JSON. Dubbelklik op elke MQTT-input-node om het broker-adres en credentials in te stellen.
Het debug-paneel rechts zal inkomende berichten tonen zodra de ESP8266 begint te publiceren.
Stap 5: Een dashboard toevoegen
In Node‑RED, installeer de node‑red-dashboard palette-node. De flow bevat al de configuratie voor de dashboard-UI.
Na installeren is het dashboard bereikbaar op https://localhost:1880/ui en toont live grafieken van temperatuur, druk en vochtigheid.
Optioneel: Het dashboard beveiligen
Om de UI te beschermen, schakel httpNodeAuth in settings.js in zoals beschreven in de Node‑RED-beveiligingsdocs.
Raspberry Pi Quick‑Start Checklist
- Download Raspbian van de officiële Raspberry Pi-website en flash het naar een 32 GB SD-kaart.
- Schakel Wi‑Fi en SSH in voor een headless-setup:
- Maak een leeg bestand genaamd
sshin de/boot-partitie. - Plaats een
wpa_supplicant.conf-bestand met je netwerkgegevens:
country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="YourNetworkSSID" psk="YourNetworkPassphrase" key_mgmt=WPA-PSK } - Maak een leeg bestand genaamd
- Boot de Pi, upgrade dan de OS:
sudo apt-get update sudo apt-get upgrade
- Installeer Mosquitto (zie Stap 3).
- Als Node‑RED niet voorgeïnstalleerd is, voer uit:
- Schakel Node‑RED in om op boot te starten:
- Installeer de Node‑RED-dashboard-node:
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
sudo systemctl enable nodered.service
sudo apt-get install npm sudo npm install -g npm hash -r cd ~/.node-red npm i node-red-dashboard node-red-start
Eenmaal draaiend, benader Node‑RED op https://localhost:1880 en het dashboard op https://localhost:1880/ui.
Node‑RED beheren
node-red-start– Node‑RED startennode-red-stop– Node‑RED stoppensudo systemctl– de service beherensudo journalctl -f -u nodered -o cat– de log realtime volgen
Wat is er nu?
Breid je project uit met machine learning: installeer TensorFlow op de Pi (pip3 install tensorflow) en voeg de node-red-contrib-machine-learning palette toe om AI-mogelijkheden naar je dashboard te brengen.
Referenties
— KLAAR —
Productieproces
- Uw weerstation integreren met CWOP: Een praktische gids
- De PSoC 6 Pioneer Board met IoT Add-On Shield Beheersen: Een Ontwikkelaarsgids
- Cybersecurity vereenvoudigd: Begin met het eind in gedachten voor fabrikanten
- IoT Revolutioniseert Veldservice: Voorspellend Onderhoud & Hogere ROI
- Hoe Slimme Steden IoT, Microservices en Dashboards Benutten voor Efficiënt Asset-beheer
- Hoe IoT mobiele apps transformeert en zakelijke innovatie drijft
- De IoT-blinde vlek dichten in een post-pandemische wereld
- IoT World: Binnenkijken in Vertica's Big-Data-oplossing voor IoT-analytics
- Waarde heroverwegen in Industriële IoT: Van tracking naar transformatie
- Software AG projecteert de volgende golf van IoT-groei
- De Wetenschap van Textielen: Diepgaande Duik in Zuur, Reactief, Leer en Directe Kleurstoffen