Протокол телеметрии очереди сообщений, или 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).
instagram viewer

Шаг 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 или Terminalon macOS и Linux. Однако вы должны знать IP-адрес Raspberry Pi для подключения через SSH. Чтобы узнать это, вы можете открыть настройки DHCP вашего беспроводного маршрутизатора или использовать Fingapp на своем смартфоне.

Введите IP-адрес в замазка и нажмите Соединять. Введите имя пользователя и пароль для входа.

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

судо подходящее обновление && судо подходящее обновление у

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

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

  1. Установите Mosquitto, выполнив следующую команду в окне терминала.
    Судо подходит установить mosquitto mosquitto-clients -y
    Начнется установка Mosquitto (брокера MQTT) и клиентских служб.
  2. После установки включите службу Mosquitto и проверьте версию MQTT с помощью следующих команд.
    судоsystemctlвключитькомар.оказание услуг
    комар -в
  3. Создайте учетную запись пользователя, чтобы разрешить удаленный доступ с проверкой подлинности, используя следующую команду.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd рави
    Здесь рави это имя пользователя (вы можете использовать любое). Введите пароль при появлении запроса. Запишите это имя пользователя и пароль для дальнейшего использования.
  4. Открой mosquitto.conf файл в редакторе nano с помощью следующей команды.
    судо нано /etc/mosquitto.conf
    Вставьте следующий код в редактор nano.
    per_listener_settings истинный
    pid_file /run/mosquitto/mosquitto.pid
    упорство истинный
    расположение_постоянства /вар/lib/mosquitto/
    log_dest файл /вар/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    allow_anonymous ЛОЖЬ
    слушатель 1883
    файл_пароля /etc/mosquitto/passwd
    Нажимать CTRL+Х с последующим Д а также Войти чтобы сохранить изменения.
  5. Перезапустите брокера MQTT, выполнив следующую команду.
    sudo systemctl перезапустить комара
  6. Проверьте состояние брокера MQTT, чтобы узнать, работает ли MQTT.
    sudo systemctl статус комара
    Если вы видите приведенный выше вывод, 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

Затем выполните следующие действия:

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

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