Инсталирайте MQTT сървър и Node-RED на Raspberry Pi за домашна автоматизация

Инсталирайте MQTT сървър и Node-RED на Raspberry Pi за домашна автоматизация

Messaging Queuing Telemetry Protocol, или MQTT, е олекотен протокол за съобщения, предназначен за устройства и среди с ниска честотна лента. Това е бързо, лесно за внедряване и енергийно ефективно решение за свързване и обмен на информация между множество IoT устройства. Изисква се MQTT брокер/сървър и темата, за която се публикуват съобщения и са абонирани от устройствата или потребителите, за да изпращат или получават информацията.





двуфакторно удостоверяване във facebook без телефонен номер

В това ръководство ще внедрим MQTT брокера и инструмента Node-RED на Raspberry Pi, за да свържем MQTT-активирани DIY интелигентни IoT устройства и да ги използваме за домашна автоматизация.





Неща, от които ще имате нужда

За да изградите и внедрите MQTT сървър с Node-RED, ще ви трябва следното:





  • Raspberry Pi Zero W или по-добър. Препоръчваме да използвате Raspberry Pi 3 или 4 (ако има такъв).
  • MicroSD карта (8 GB или повече).
  • Четец на microSD карти.
  • Компютър с Linux, Mac или компютър с Windows.
  • Интернет връзка (Wi-Fi).

Стъпка 1: Инсталирайте Raspberry Pi OS Lite (64-bit)

Ще ви трябва 64-битовата Lite версия на Raspberry Pi OS. В Raspberry Pi Imager инструмент на друг компютър, щракнете Изберете OS > Raspberry Pi OS (друго) , след което изберете Raspberry Pi OS Lite (64-битова) . Освен това ще искате да използвате разширените настройки на Imager, за да активирате SSH (ние използвахме пи и малина като потребителско име и парола за това ръководство) и конфигурирайте Wi-Fi връзката. За повече подробности вижте нашето ръководство за как да инсталирате операционна система на Raspberry Pi . След като запишете операционната система на картата, извадете я и я поставете във вашия Raspberry Pi.

Стъпка 2: Свържете се през SSH и актуализирайте пакетите

Можете да се свържете с вашия Raspberry Pi през SSH, като използвате PuTTY на Windows или терминал на macOS и Linux. Трябва обаче да знаете IP адреса на Raspberry Pi, за да се свържете през SSH. За да разберете, можете да отворите DHCP настройките на вашия безжичен рутер или да използвате Fing приложение на вашия смартфон.



  намерете ip-то на вашата малина чрез dhcp настройките на рутера

Въведете IP адреса PuTTY и щракнете Свържете се . Въведете вашето потребителско име и парола, за да влезете.

  свържете се с raspberry pi през ssh

На терминал Linux или macOS въведете YourPiUsername@IPAddress и след това въведете паролата, за да влезете. След като се свържете чрез SSH, изпълнете следната команда, за да актуализирате списъка с пакети и да надстроите пакетите.





sudo apt update && sudo apt upgrade y

Стъпка 3: Инсталирайте MQTT брокер

За да инсталирате и активирате MQTT брокера (Mosquitto), направете следните стъпки.

  1. Инсталирайте Mosquitto, като изпълните следната команда в прозореца на терминала.
    sudo apt install mosquitto mosquitto-clients -y
      инсталирайте mosquitto mqtt сървър Това ще започне инсталирането на Mosquitto (MQTT брокер) и клиентските услуги.
  2. След инсталацията активирайте услугата Mosquitto и проверете версията на MQTT, като използвате следните команди.
    sudo systemctl enable mosquitto.service 
    mosquitto -v
      активирайте услугата против комари
  3. Създайте потребителски акаунт, за да позволите удостоверен отдалечен достъп, като използвате следната команда.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    Тук лечение е потребителското име (можете да използвате каквото искате). Въведете паролата, когато бъдете подканени. Запишете това потребителско име и парола за по-късна употреба.
  4. Отвори mosquitto.conf файл в нано редактора, като използвате следната команда.
    sudo nano /etc/mosquitto.conf
    Поставете следния код в нано редактора.
    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
      редактирайте конфигурационния файл на mosquitto Натиснете CTRL+X следван от Y и Въведете за да запазите промените.
  5. Рестартирайте MQTT брокера, като изпълните следната команда.
    sudo systemctl restart mosquitto
  6. Проверете състоянието на MQTT брокера, за да видите дали MQTT работи.
    sudo systemctl status mosquitto
      проверете състоянието на mqtt сървъра Ако видите горния изход, MQTT работи.

Стъпка 4: Тествайте MQTT брокер

За да проверите дали MQTT брокерът работи или не, инсталирайте MQTTLens или подобно MQTT приложение в Chrome или друг уеб браузър и го стартирайте. Въведете IP адреса на Raspberry Pi и потребителското име/парола за MQTT. Кликнете Създаване на връзка .





  свържете се с mqtt сървър и изпратете съобщение до тестовата тема, за да проверите дали mqtt брокерът работи

Въведете произволна тема в Абонирай се поле и същата тема в Публикувай поле. Въведете „Здравей“ или нещо друго в полето за съобщение и щракнете Публикувай .

  съобщения, публикувани успешно, показващи, че mqtt работи

Ако видите съобщението под абонаментите, MQTT брокерът работи добре.

Стъпка 5: Инсталирайте Node-RED

С Node-RED можете да публикувате съобщения или да изпращате и получавате полезни товари към или от вашите смарт устройства. Този полезен товар може да се използва за задействане на интелигентни устройства за включване/изключване или получаване на данни (като температура) от сензор. Можете да използвате уеб браузъра си, за да създадете такива потоци в Node-RED и да контролирате смарт устройствата си.

За да инсталирате Node-RED, изпълнете следната команда в прозореца на терминала.

промяна на скоростта на превъртане на мишката windows 10
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
  инсталирайте червения възел

Това ще изтегли и инсталира Node-RED на вашия Raspberry Pi. Завършването може да отнеме известно време. След като Node-RED бъде инсталиран, трябва да създадете файл с настройки на Node-RED, като изпълните следната команда.

node-red admin init

След това изпълнете следните стъпки:

  1. Натисни Въведете ключ.
  2. Искате ли да настроите защитата на потребителите? Изберете да . Въведете потребителско име и парола. Пазете го безопасно, тъй като това ще се използва за влизане и управление на Node-RED чрез уеб интерфейс.
  3. Избирам Пълен достъп .
  4. Можете да добавите друг потребител или да изберете не за да продължите.
  5. Изберете не когато бъдете помолени да активирате функциите на проекта.
  6. Натиснете Въведете .
  7. Въведете парола и я пазете.
  8. Избери тема по подразбиране > Монако (по подразбиране) .
  9. Изберете не когато бъдете помолени да заредите външни възли.
  конфигурирайте инсталацията на червения възел

След като това стане, рестартирайте Node-RED.

node-red restart

Вече можете да посетите Вашият-Raspberry-Pi-IP:1880 в уеб браузър, за да отворите и влезете в административния панел на Node-RED.

  възел за достъп червен на raspberry pi ip на порт 1880

Вече можете да създавате потоци в Node-RED. По-долу е даден пример за поток Node-RED, който използваме, за да стартираме нашия матричен дисплей WS2812B 8x32, който показва различна информация от сензори, инсталирани в нашия дом в реално време.

  червен поток на примерен възел за показване на различни стойности на сензора на матричен дисплей 8x32

За да започнете, можете също създайте си сам интелигентен часовник с помощта на точкова матрица MAX7219 и го свържете към вашия MQTT сървър, за да показвате текст или съобщения на него.

Активирайте домашната автоматизация с помощта на MQTT и Node-RED

Вече можете да създавате потоци, за да контролирате или наблюдавате вашите интелигентни домашни устройства с активиран MQTT. Можете също така да изградите DIY интелигентни превключватели Tasmota или базирани на Arduino интелигентни сензори и други интелигентни устройства с MQTT контрол и да ги използвате с този MQTT и Node-RED сървър. Можете да създавате потоци за домашна автоматизация въз основа на събития, време или полезен товар, получен от вашия смартфон MQTT клиент.

На вашия смартфон с Android можете да инсталирате MQTT Dash, за да се свържете с вашия MQTT брокер и да изпращате или получавате полезни данни към или от различни теми, за които вашите смарт устройства са абонирани или публикувани.