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

В това ръководство ще внедрим 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)

instagram viewer

Ще ви трябва 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 или Terminal macOS и Linux. Трябва обаче да знаете IP адреса на Raspberry Pi, за да се свържете през SSH. За да разберете, можете да отворите DHCP настройките на вашия безжичен рутер или да използвате Fingapp на вашия смартфон.

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

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

sudo apt актуализация && надграждане на sudo apt г

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

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

  1. Инсталирайте Mosquitto, като изпълните следната команда в прозореца на терминала.
    sudo apt Инсталирай комар комар-клиенти -у
    Това ще започне инсталирането на Mosquitto (MQTT брокер) и клиентските услуги.
  2. След инсталацията активирайте услугата Mosquitto и проверете версията на MQTT, като използвате следните команди.
    sudosystemctlактивирайтекомар.обслужване
    комар -в
  3. Създайте потребителски акаунт, за да позволите удостоверен отдалечен достъп, като използвате следната команда.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    Тук рави е потребителското име (можете да използвате каквото искате). Въведете паролата, когато бъдете подканени. Запишете това потребителско име и парола за по-късна употреба.
  4. Отвори mosquitto.conf файл в нано редактора, като използвате следната команда.
    sudo nano /etc/mosquitto.conf
    Поставете следния код в нано редактора.
    per_listener_settings вярно
    pid_file /run/mosquitto/mosquitto.pid
    постоянство вярно
    местоположение_постоянство /вар/lib/mosquitto/
    log_dest файл /вар/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    позволи_анонимен невярно
    слушател 1883
    парола_файл /etc/mosquitto/passwd
    Натиснете CTRL+X следван от Y и Въведете за да запазите промените.
  5. Рестартирайте MQTT брокера, като изпълните следната команда.
    sudo systemctl рестартирайте mosquitto
  6. Проверете състоянието на MQTT брокера, за да видите дали MQTT работи.
    sudo systemctl status mosquitto
    Ако видите горния изход, MQTT работи.

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

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

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

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

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

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

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

bash //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.

възел-червен рестарт

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

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

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

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

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

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