Instal·leu un servidor MQTT i Node-RED a Raspberry Pi per a la domòtica

Instal·leu un servidor MQTT i Node-RED a Raspberry Pi per a la domòtica

Messaging Queuing Telemetry Protocol, o MQTT, és un protocol de missatgeria lleuger dissenyat per a dispositius i entorns amb una amplada de banda baixa. És una solució ràpida, fàcil d'implementar i eficient energèticament per connectar i intercanviar informació entre diversos dispositius IoT. Requereix un corredor/servidor MQTT i el tema al qual es publiquen i subscriuen els missatges pels dispositius o usuaris per enviar o rebre la informació.





En aquesta guia, implementarem l'agent MQTT i l'eina Node-RED a Raspberry Pi per connectar dispositius IoT intel·ligents de bricolatge habilitats per MQTT i utilitzar-los per a la domòtica.





Coses que necessitaràs

Per crear i desplegar un servidor MQTT amb Node-RED, necessitareu el següent:





quina diferència hi ha entre un televisor i un monitor
  • Un Raspberry Pi Zero W o millor. Recomanem utilitzar un Raspberry Pi 3 o 4 (si està disponible).
  • Una targeta microSD (8 GB o superior).
  • Un lector de targetes microSD.
  • Un PC Linux, Mac o Windows.
  • Connexió a Internet (Wi-Fi).

Pas 1: instal·leu Raspberry Pi OS Lite (64 bits)

Necessitareu la versió Lite de 64 bits del sistema operatiu Raspberry Pi. En el Raspberry Pi Imager eina en un altre ordinador, feu clic Trieu SO > Raspberry Pi OS (Altre) i, a continuació, seleccioneu Raspberry Pi OS Lite (64 bits) . A més, voldreu utilitzar la configuració avançada d'Imager per habilitar SSH (hem utilitzat Pi i gerds com a nom d'usuari i contrasenya per a aquesta guia) i configureu la connexió Wi-Fi. Per obtenir més detalls, consulteu la nostra guia a com instal·lar un sistema operatiu en un Raspberry Pi . Després d'escriure el sistema operatiu a la targeta, expulseu-lo i inseriu-lo al vostre Raspberry Pi.

Pas 2: connecteu-vos a través de SSH i actualitzeu els paquets

Podeu connectar-vos al vostre Raspberry Pi mitjançant SSH mitjançant PuTTY a Windows o Terminal en macOS i Linux. Tanmateix, hauríeu de conèixer la IP del Raspberry Pi per connectar-vos a través de SSH. Per esbrinar-ho, podeu obrir la configuració DHCP del vostre encaminador sense fil o utilitzar el Fing aplicació al teu telèfon intel·ligent.



  Trobeu la ip del vostre gerd mitjançant la configuració dhcp de l'encaminador

Introduïu l'adreça IP MASSA i feu clic Connecta't . Escriviu el vostre nom d'usuari i contrasenya per iniciar sessió.

  connecteu-vos al raspberry pi per ssh

Al terminal Linux o macOS, escriviu YourPiUsername@IPAddress i després escriviu la contrasenya per iniciar sessió. Un cop connectat mitjançant SSH, executeu l'ordre següent per actualitzar la llista de paquets i actualitzar els paquets.





sudo apt update && sudo apt upgrade y

Pas 3: instal·leu MQTT Broker

Per instal·lar i habilitar el broker MQTT (Mosquitto), seguiu els passos següents.

  1. Instal·leu Mosquitto executant l'ordre següent a la finestra del terminal.
    sudo apt install mosquitto mosquitto-clients -y
      instal·lar el servidor mosquitto mqtt Això començarà a instal·lar el Mosquitto (corredor MQTT) i els serveis al client.
  2. Després de la instal·lació, habiliteu el servei Mosquitto i comproveu la versió de MQTT mitjançant les ordres següents.
    sudo systemctl enable mosquitto.service 
    mosquitto -v
      habilitar el servei de mosquit
  3. Creeu un compte d'usuari per permetre l'accés remot autenticat mitjançant l'ordre següent.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    Aquí tractament és el nom d'usuari (pots utilitzar el que vulguis). Introduïu la contrasenya quan se us demani. Anoteu aquest nom d'usuari i contrasenya per a un ús posterior.
  4. Obriu el mosquitto.conf fitxer a l'editor nano mitjançant l'ordre següent.
    sudo nano /etc/mosquitto.conf
    Enganxeu el codi següent a l'editor nano.
    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
      editar el fitxer de configuració del mosquitto Premeu CTRL+X Seguit per I i Entra per guardar els canvis.
  5. Reinicieu l'agent MQTT executant l'ordre següent.
    sudo systemctl restart mosquitto
  6. Comproveu l'estat de l'agent MQTT per veure si MQTT s'està executant.
    sudo systemctl status mosquitto
      comproveu l'estat del servidor mqtt Si veieu la sortida anterior, MQTT s'està executant.

Pas 4: prova MQTT Broker

Per provar si el corredor MQTT funciona o no, instal·leu-lo MQTTLens o una aplicació MQTT similar a Chrome o qualsevol altre navegador web i inicieu-la. Introduïu l'adreça IP del Raspberry Pi i el nom d'usuari/contrasenya MQTT. Feu clic Crear connexió .





  connecteu-vos al servidor mqtt i envieu un missatge al tema de prova per comprovar que mqtt broker funciona

Introduïu qualsevol tema a Subscriu-te camp i el mateix tema al Publicar camp. Escriviu 'Hola' o qualsevol cosa al camp del missatge i feu clic Publicar .

no sé què cercar
  missatges publicats correctament que indiquen que mqtt funciona

Si veieu el missatge a les subscripcions, el corredor MQTT funciona bé.

Pas 5: instal·leu Node-RED

Amb Node-RED, podeu publicar missatges o enviar i rebre càrregues útils cap o des dels vostres dispositius intel·ligents. Aquesta càrrega útil es pot utilitzar per activar dispositius intel·ligents per activar/desactivar o rebre dades (com ara la temperatura) d'un sensor. Podeu utilitzar el vostre navegador web per crear aquests fluxos a Node-RED i controlar els vostres dispositius intel·ligents.

Per instal·lar Node-RED, executeu l'ordre següent a la finestra del terminal.

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
  instal·leu el node vermell

Això baixarà i instal·larà el Node-RED al vostre Raspberry Pi. Pot trigar una estona a completar-se. Un cop instal·lat Node-RED, heu de crear un fitxer de configuració de Node-RED executant l'ordre següent.

node-red admin init

A continuació, seguiu aquests passos:

  1. Premeu el botó Entra clau.
  2. Voleu configurar la seguretat dels usuaris? Seleccioneu . Introduïu un nom d'usuari i una contrasenya. Manteniu-lo segur, ja que s'utilitzarà per iniciar sessió i gestionar Node-RED mitjançant una interfície web.
  3. Tria Accés complet .
  4. Podeu afegir un altre usuari o seleccionar-lo No procedir.
  5. Seleccioneu No quan se li demana que habiliti les funcions del projecte.
  6. Premeu Entra .
  7. Escriu una frase de contrasenya i mantén-la segura.
  8. Escull el tema predeterminat > Mònaco (per defecte) .
  9. Seleccioneu No quan se li demana carregar nodes externs.
  configurar la instal·lació del node vermell

Un cop fet això, reinicieu Node-RED.

node-red restart

Ja podeu visitar-lo El vostre-Raspberry-Pi-IP:1880 en un navegador web per obrir i iniciar sessió al tauler d'administració de Node-RED.

  node d'accés vermell a la ip de raspberry pi al port 1880

Ara podeu crear fluxos a Node-RED. A continuació es mostra un exemple d'un flux Node-RED que fem servir per executar la nostra pantalla de matriu WS2812B 8x32 que mostra informació de diversos sensors instal·lats a casa nostra en temps real.

  flux vermell del node de mostra per mostrar diversos valors del sensor a la pantalla de matriu de 8x32

Per començar, també pots creeu un rellotge intel·ligent de bricolatge mitjançant la matriu de punts MAX7219 , i connecteu-lo al vostre servidor MQTT per mostrar-hi text o missatges.

com fer un disquet d'arrencada

Habiliteu la domòtica mitjançant MQTT i Node-RED

Ara podeu crear fluxos per controlar o supervisar els vostres dispositius domèstics intel·ligents habilitats per MQTT. També podeu construir interruptors intel·ligents Tasmota de bricolatge o sensors intel·ligents basats en Arduino i altres dispositius intel·ligents amb control MQTT i utilitzar-los amb aquest servidor MQTT i Node-RED. Podeu crear fluxos per a la domòtica en funció dels esdeveniments, l'hora o la càrrega útil rebuda del client MQTT del vostre telèfon intel·ligent.

Al vostre telèfon intel·ligent Android, podeu instal·lar MQTT Dash per connectar-vos al vostre intermediari MQTT i enviar o rebre càrregues útils a o des de diversos temes als quals es subscriuen o publiquen els vostres dispositius intel·ligents.

Categoria DIY