Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Мы собираемся настроить сервер и клиент MQTT на Raspberry Pi, используя библиотеки Mosquitto и paho-mqtt. Мы прочитаем кнопку, и если она будет нажата, мы переключим светодиод на стороне Arduino.
Тогда как на Arduino мы будем использовать библиотеку Adafruit MQTT. Мы будем использовать датчик типа LDR (вы можете использовать любой другой датчик), прочитаем его и опубликуем, как только он перейдет на Raspberry Pi.
Нам нужно:
Raspberry Pi
NodeMCU
Шаг 1. Добавление библиотек для Esp8266
Перейдите в «Управление библиотеками…» с помощью IDE Arduino и найдите «MQTT» от Adafruit.
После успешной установки добавьте «MQTT_NodeMCU.ino» по следующей ссылке:
Код Arduino
Внесите следующие изменения, заменив Wi-Fi ssid, пароль и IP-адрес RPi.
#define WLAN_SSID "# 397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Загрузите скетч и откройте Serial Monitor на 115200
Шаг 2. Установите сервер и клиент MQTT на Raspberry Pi
Сначала установите сервер Mosquitto, используя:
sudo apt-get install mosquitto
Установите Mosquitto Client, используя:
sudo apt-get install mosquitto-clients
Вы можете проверить установку, используя:
systemctl статус mosquitto.service
Теперь мы установим paho-MQTT, используя:
sudo apt-get установить python python-pipsudo pip установить RPi. GPIO paho-mqtt
Используйте эти команды для публикации -сообщений от raspberry pi (-hostname) до esp8266-leds (-topic).
mosquitto_pub -h raspberrypi -t "/ leds / esp8266" -m "ВКЛ"
mosquitto_pub -h raspberrypi -t "/ leds / esp8266" -m "ВЫКЛ"
-h ==> имя хоста ==> raspberrypi (если вы его не изменили)
-t ==> тема
-m ==> сообщение
Шаг 3. Запустите скрипт Python
Вы можете скачать MQTT_Pi из
github.com/anuragvermaa/MQTT_NodeMCU
Если все в порядке, вы должны увидеть данные датчика в терминале.
Нажмите Ctrl + C, чтобы выйти.