Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Chúng tôi sẽ thiết lập máy chủ và máy khách MQTT trên Raspberry Pi bằng cách sử dụng các thư viện Mosquitto và paho-mqtt. Chúng tôi sẽ đọc một nút và nếu nó được nhấn, chúng tôi sẽ Chuyển đổi đèn LED ở phía Arduino.
Trong khi đó, trên Arduino, chúng tôi sẽ sử dụng thư viện Adafruit MQTT. Chúng tôi sẽ sử dụng một cảm biến như LDR (Bạn có thể sử dụng bất kỳ cảm biến nào khác), đọc nó và xuất bản nó ngay khi nó chuyển sang Raspberry Pi.
Chúng tôi cần:
Raspberry Pi
NodeMCU
Bước 1: Thêm thư viện cho Esp8266
Đi tới "Quản lý thư viện…" bằng cách sử dụng Arduino IDE của bạn và tìm kiếm "MQTT" của Adafruit.
Sau khi cài đặt thành công, Thêm "MQTT_NodeMCU.ino" từ liên kết sau:
Mã Arduino
Thực hiện các thay đổi sau bằng cách thay thế ssid wifi, mật khẩu và Địa chỉ IP RPi.
#define WLAN_SSID "# 397" #define WLAN_PASS "farmhouse397" #define MQTT_SERVER "192.168.0.108" #define "led_pin" #define "sensor_input"
Tải lên bản phác thảo và mở Serial Monitor ở 115200
Bước 2: Cài đặt MQTT Sever và Ứng dụng khách trên Raspberry Pi
Đầu tiên, cài đặt máy chủ Mosquitto bằng:
sudo apt-get install mosquitto
Cài đặt Mosquitto Client bằng:
sudo apt-get install mosquitto-client
Bạn có thể xác nhận cài đặt bằng cách sử dụng:
trạng thái systemctl mosquitto.service
Bây giờ, chúng tôi sẽ cài đặt paho-MQTT bằng:
sudo apt-get install python python-pipsudo pip install RPi. GPIO paho-mqtt
Sử dụng các lệnh này để xuất bản -messages từ raspberry pi (-hostname) sang esp8266-leds (-topic).
mosquitto_pub -h raspberrypi -t "/ leds / esp8266" -m "BẬT"
mosquitto_pub -h raspberrypi -t "/ leds / esp8266" -m "TẮT"
-h ==> tên máy chủ ==> raspberrypi (trừ khi bạn đã thay đổi nó)
-t ==> chủ đề
-m ==> tin nhắn
Bước 3: Chạy Python Script
Bạn có thể tải xuống MQTT_Pi từ
github.com/anuragvermaa/MQTT_NodeMCU
Nếu mọi thứ đều ổn, bạn sẽ có thể xem dữ liệu cảm biến trong thiết bị đầu cuối.
Nhấn Ctrl + C để thoát.