Installeer een MQTT-server en Node-RED op Raspberry Pi voor domotica

Installeer een MQTT-server en Node-RED op Raspberry Pi voor domotica

Messaging Queuing Telemetry Protocol, of MQTT, is een lichtgewicht berichtenprotocol dat is ontworpen voor apparaten en omgevingen met een lage bandbreedte. Het is een snelle, eenvoudig te implementeren en energiezuinige oplossing om verbinding te maken en informatie uit te wisselen tussen meerdere IoT-apparaten. Het vereist een MQTT-broker/server en het onderwerp waarop berichten worden gepubliceerd en waarop de apparaten of gebruikers zich hebben geabonneerd om de informatie te verzenden of te ontvangen.





In deze gids zullen we de MQTT-broker en Node-RED-tool op Raspberry Pi inzetten om MQTT-compatibele doe-het-zelf slimme IoT-apparaten aan te sluiten en te gebruiken voor domotica.





Dingen die je nodig hebt

Om een ​​MQTT-server met Node-RED te bouwen en te implementeren, hebt u het volgende nodig:





hoe een psd-bestand te openen zonder photoshop
  • Een Raspberry Pi Zero W of beter. We raden aan om een ​​Raspberry Pi 3 of 4 te gebruiken (indien beschikbaar).
  • Een microSD-kaart (8 GB of hoger).
  • Een microSD-kaartlezer.
  • Een Linux-pc, Mac of Windows-pc.
  • Internetverbinding (wifi).

Stap 1: Installeer Raspberry Pi OS Lite (64-bit)

Je hebt de 64-bit Lite-versie van Raspberry Pi OS nodig. In de Raspberry Pi-imager tool op een andere computer, klik op Kies besturingssysteem > Raspberry Pi OS (overig) en selecteer vervolgens Raspberry Pi OS Lite (64-bit) . Daarnaast wil je de geavanceerde instellingen van Imager gebruiken om SSH in te schakelen (we gebruikten pi en framboos als gebruikersnaam en wachtwoord voor deze handleiding) en configureer de Wi-Fi-verbinding. Bekijk voor meer informatie onze gids op: hoe installeer je een besturingssysteem op een Raspberry Pi . Nadat u het besturingssysteem naar de kaart hebt geschreven, verwijdert u het en plaatst u het in uw Raspberry Pi.

Stap 2: Maak verbinding via SSH en werk de pakketten bij

U kunt verbinding maken met uw Raspberry Pi via SSH met behulp van PuTTY op Windows of Terminal op macOS en Linux. U moet echter het IP-adres van de Raspberry Pi weten om verbinding te maken via SSH. Om erachter te komen, kunt u de DHCP-instellingen van uw draadloze router openen of de Fing app op je smartphone.



  vind het ip van je framboos via router dhcp instellingen

Voer het IP-adres in in Stopverf en klik Aansluiten . Typ uw gebruikersnaam en wachtwoord om in te loggen.

  maak verbinding met raspberry pi via ssh

Typ op Linux- of macOS-terminal YourPiUsername@IPAddress en typ vervolgens het wachtwoord om in te loggen. Eenmaal verbonden via SSH, voert u de volgende opdracht uit om de pakketlijst bij te werken en pakketten te upgraden.





sudo apt update && sudo apt upgrade y

Stap 3: Installeer MQTT Broker

Voer de volgende stappen uit om de MQTT-broker (Mosquitto) te installeren en in te schakelen.

  1. Installeer Mosquitto door de volgende opdracht uit te voeren in het Terminal-venster.
    sudo apt install mosquitto mosquitto-clients -y
      installeer mosquitto mqtt-server Hiermee begint u met het installeren van de Mosquitto (MQTT-makelaar) en klantenservice.
  2. Schakel na de installatie de Mosquitto-service in en controleer de MQTT-versie met de volgende opdrachten.
    sudo systemctl enable mosquitto.service 
    mosquitto -v
      muggenservice inschakelen
  3. Maak een gebruikersaccount om geverifieerde externe toegang toe te staan ​​met de volgende opdracht.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    Hier behandeling is de gebruikersnaam (je kunt gebruiken wat je wilt). Voer het wachtwoord in wanneer daarom wordt gevraagd. Noteer deze gebruikersnaam en wachtwoord voor later gebruik.
  4. Open de mug.conf bestand in de nano-editor met de volgende opdracht.
    sudo nano /etc/mosquitto.conf
    Plak de volgende code in de nano-editor.
    per_listener_settings true 
    pid_file /run/mosquitto/mosquitto.pid
    persistence true
    persistence_location /var/lib/mosquitto/
    log_dest file /var/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    allow_anonymous false
    listener 1883
    password_file /etc/mosquitto/passwd
      bewerk het Mosquitto-configuratiebestand druk op CTRL+X gevolgd door Y en Binnenkomen om de wijzigingen op te slaan.
  5. Start de MQTT-broker opnieuw door de volgende opdracht uit te voeren.
    sudo systemctl restart mosquitto
  6. Controleer de status van de MQTT-makelaar om te zien of MQTT actief is.
    sudo systemctl status mosquitto
      controleer de mqtt-serverstatus Als u de bovenstaande uitvoer ziet, is MQTT actief.

Stap 4: MQTT-makelaar testen

Om te testen of de MQTT-makelaar werkt of niet, installeer MQTTLens of een vergelijkbare MQTT-app in Chrome of een andere webbrowser en start deze. Voer het IP-adres van de Raspberry Pi en de MQTT gebruikersnaam/wachtwoord in. Klik Verbinding maken .





  maak verbinding met de mqtt-server en stuur een bericht naar het testonderwerp om te controleren of mqtt broker werkt

Voer een willekeurig onderwerp in de Abonneren veld en hetzelfde onderwerp in de Publiceren veld. Typ 'Hallo' of iets anders in het berichtveld en klik op Publiceren .

muziek overzetten van ipod naar computer
  berichten succesvol gepubliceerd die aangeven dat mqtt werkt

Als je het bericht onder de abonnementen ziet, werkt de MQTT-makelaar prima.

Stap 5: Installeer Node-RED

Met Node-RED kunt u berichten publiceren of payloads verzenden en ontvangen van of naar uw slimme apparaten. Deze payload kan worden gebruikt om slimme apparaten te triggeren om in/uit te schakelen of gegevens (zoals temperatuur) van een sensor te ontvangen. U kunt uw webbrowser gebruiken om dergelijke stromen in Node-RED te maken en uw slimme apparaten te bedienen.

Om Node-RED te installeren, voert u de volgende opdracht uit in het Terminal-venster.

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
  installeer het knooppunt rood

Hiermee wordt de Node-RED op uw Raspberry Pi gedownload en geïnstalleerd. Het kan even duren om te voltooien. Nadat Node-RED is geïnstalleerd, moet u een Node-RED-instellingenbestand maken door de volgende opdracht uit te voeren.

node-red admin init

Volg dan deze stappen:

  1. druk de Binnenkomen sleutel.
  2. Wilt u gebruikersbeveiliging instellen? Selecteer Ja . Voer een gebruikersnaam en een wachtwoord in. Houd het veilig, want dit wordt gebruikt om in te loggen en Node-RED te beheren via een webinterface.
  3. Kiezen Volledige toegang .
  4. U kunt nog een gebruiker toevoegen of selecteren Nee verder gaan.
  5. Selecteer Nee wanneer u wordt gevraagd om de projectfuncties in te schakelen.
  6. druk op Binnenkomen .
  7. Typ een wachtwoordzin en bewaar deze veilig.
  8. Kies de Standaard thema > Monaco (standaard) .
  9. Selecteer Nee wanneer gevraagd om externe knooppunten te laden.
  configureer de node red-installatie

Zodra dit is gebeurd, start u Node-RED opnieuw.

node-red restart

U kunt nu bezoeken Uw-Raspberry-Pi-IP:1880 in een webbrowser om het Node-RED admin panel te openen en in te loggen.

  toegangsknooppunt rood op de raspberry pi ip op poort 1880

U kunt nu stromen maken in Node-RED. Hieronder ziet u een voorbeeld van een Node-RED-stroom die we gebruiken om ons WS2812B 8x32-matrixdisplay te laten zien dat verschillende sensorinformatie in realtime weergeeft die in ons huis is geïnstalleerd.

kleding vinden die in tv-shows wordt gedragen
  monsterknooppunt rode stroom om verschillende sensorwaarden weer te geven op 8x32 matrixdisplay

Om te beginnen, kunt u ook: bouw een doe-het-zelf slimme klok met MAX7219 dot matrix , en verbind het met uw MQTT-server om er tekst of berichten op weer te geven.

Schakel huisautomatisering in met MQTT en Node-RED

U kunt nu stromen maken om uw MQTT-compatibele smart home-apparaten te besturen of te bewaken. Je kunt ook doe-het-zelf Tasmota slimme schakelaars of op Arduino gebaseerde slimme sensoren en andere slimme apparaten met MQTT-besturing bouwen en deze gebruiken met deze MQTT- en Node-RED-server. U kunt stromen maken voor domotica op basis van gebeurtenissen, tijd of payload die u van uw smartphone MQTT-client hebt ontvangen.

Op uw Android-smartphone kunt u MQTT Dash installeren om verbinding te maken met uw MQTT-broker en payloads te verzenden of ontvangen van of naar verschillende onderwerpen waarop uw slimme apparaten zich abonneren of publiceren.