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

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

Протокол телеметрии очереди сообщений, или MQTT, — это упрощенный протокол обмена сообщениями, разработанный для устройств и сред с низкой пропускной способностью. Это быстрое, простое в развертывании и энергоэффективное решение для подключения и обмена информацией между несколькими устройствами IoT. Для этого требуется брокер/сервер MQTT и тема, в которой сообщения публикуются и подписываются устройствами или пользователями для отправки или получения информации.





В этом руководстве мы развернем брокера MQTT и инструмент Node-RED на Raspberry Pi, чтобы подключить интеллектуальные устройства IoT DIY с поддержкой MQTT и использовать их для домашней автоматизации.





Вещи, которые вам понадобятся

Чтобы создать и развернуть сервер MQTT с помощью Node-RED, вам потребуется следующее:





  • Raspberry Pi Zero W или лучше. Мы рекомендуем использовать Raspberry Pi 3 или 4 (если доступно).
  • Карта microSD (8 ГБ или больше).
  • Устройство чтения карт памяти microSD.
  • ПК с Linux, Mac или Windows.
  • Интернет-соединение (Wi-Fi).

Шаг 1. Установите ОС Raspberry Pi Lite (64-разрядная версия)

Вам понадобится 64-битная облегченная версия ОС Raspberry Pi. в Имидж-сканер Raspberry Pi инструмент на другом компьютере, нажмите Выберите ОС > ОС Raspberry Pi (другое) , затем выберите ОС Raspberry Pi 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-адрес в замазка и нажмите Соединять . Введите имя пользователя и пароль для входа.

  подключиться к raspberry pi через ssh

В терминале Linux или macOS введите YourPiUsername@IP-адрес а затем введите пароль для входа в систему. После подключения через SSH выполните следующую команду, чтобы обновить список пакетов и обновить пакеты.





почему у меня только 2 фильтра снэпчат
sudo apt update && sudo apt upgrade y

Шаг 3: Установите брокера MQTT

Чтобы установить и включить брокера MQTT (Mosquitto), выполните следующие действия.

  1. Установите Mosquitto, выполнив в окне терминала следующую команду:
    sudo apt install mosquitto mosquitto-clients -y.
      установить москитный сервер 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 файл в редакторе nano с помощью следующей команды.
    sudo nano /etc/mosquitto.conf
    Вставьте следующий код в редактор 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
    .
      отредактируйте файл конфигурации москита Нажимать CTRL+Х с последующим Д а также Войти чтобы сохранить изменения.
  5. Перезапустите брокер MQTT, выполнив следующую команду.
    sudo systemctl restart mosquitto.
  6. Проверьте состояние брокера MQTT, чтобы узнать, работает ли MQTT.   проверить состояние сервера 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, выполните следующую команду в окне терминала.

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. Вы также можете создавать интеллектуальные переключатели Tasmota своими руками или интеллектуальные датчики на базе Arduino, а также другие интеллектуальные устройства с управлением MQTT и использовать их с этим сервером MQTT и Node-RED. Вы можете создавать потоки для домашней автоматизации на основе событий, времени или полезных данных, полученных от клиента MQTT вашего смартфона.

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