Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Biz Raspberry Pi-da Mosquitto va paho-mqtt kutubxonalari yordamida MQTT serveri va mijozini o'rnatmoqchimiz. Biz tugmani o'qiymiz va agar u bosilsa, biz Arduino tomonidagi LEDni o'chiramiz.
Holbuki, Arduino -da biz Adafruit MQTT kutubxonasidan foydalanamiz. Biz LDR kabi sensorni ishlatamiz (Siz boshqa har qanday sensorni ishlatishingiz mumkin), uni o'qing va Raspberry Pi ga o'zgarishi bilan uni chop eting.
Bizga kerak:
Raspberry Pi
NodeMCU
1 -qadam: Esp8266 uchun kutubxonalar qo'shish
Arduino IDE yordamida "Kutubxonalarni boshqarish …" ga o'ting va Adafruit "MQTT" ni qidiring.
Muvaffaqiyatli o'rnatilgandan so'ng, quyidagi havoladan "MQTT_NodeMCU.ino" ni qo'shing:
Arduino kodi
Wi -Fi ssid, parol va RPi IP manzilini almashtirish orqali quyidagi o'zgarishlarni amalga oshiring.
#WLAN_SSID " #397" ni belgilang #WLAN_PASS "farmhouse397" #MQTT_SERVER ni belgilang "192.168.0.108
Eskizni yuklang va Serial monitorni 115200 -da oching
2 -qadam: MQTT Sever va Client dasturini Raspberry Pi -ga o'rnating
Birinchidan, Mosquitto serverini o'rnating:
sudo apt-get chivinni o'rnating
Mosquitto Client -ni o'rnatish:
sudo apt-get chivin-mijozlarni o'rnating
Siz o'rnatishni tasdiqlashingiz mumkin:
systemctl holati mosquitto.service
Endi biz paho-MQTT-ni o'rnatamiz:
sudo apt-get install python python-pipsudo pip o'rnatish RPi. GPIO paho-mqtt
Malinali pi (-hostname) dan esp8266-leds (-to'liq) ga xabar yuborish uchun ushbu buyruqlardan foydalaning.
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
-h ==> xost nomi ==> malina (agar siz uni o'zgartirmagan bo'lsangiz)
-t ==> mavzu
-m ==> xabar
3 -qadam: Python skriptini ishga tushiring
Siz MQTT_Pi -ni yuklab olishingiz mumkin
github.com/anuragvermaa/MQTT_NodeMCU
Agar hamma narsa yaxshi bo'lsa, siz terminalda sensor ma'lumotlarini ko'rishingiz kerak.
Chiqish uchun Ctrl+C tugmalar birikmasini bosing.