Mundarija:
- 1 -qadam: materiallar
- 2 -qadam: simlarni ulash
- 3 -qadam: kod
- 4 -qadam: MQTT sozlamalari
- 5 -qadam: nashr qilish va obuna bo'lish
Video: MicroPython ESP32: 5 bosqichlariga asoslangan MQTT
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Men uy mushuklarini boqishni yaxshi ko'raman. Bir kunlik tinimsiz ishdan so'ng, uyga qaytganimda mushuk meni tinchlantirishi mumkin. Qattiq mashg'ulotlardan so'ng, bu mushuk har kuni "restoranda" muntazam ovqatlanishni yaxshi odatiga ega. Ammo yaqinda men bir necha kun sayohat qilishim kerak edi va uyda hech kim mushukka g'amxo'rlik qilmaydi, shuning uchun men MQTT -ni masofadan boshqarish bilan oziqlantirish uchun ishlatmoqchiman. Agar mushuk ovqatlansa, bu menga eslatib qo'yishi mumkin
MQTT
MQTT-bu mijoz-serverga asoslangan xabarlarni nashr etish / obuna bo'lish protokoli. MQTT protokoli engil, sodda, ochiq va bajarilishi oson va bu xususiyatlar uni keng qo'llanilishini ta'minlaydi.
Nashr qiling va obuna bo'ling
MQTT protokoli tarmoqdagi ikki turdagi sub'ektlarni aniqlaydi: xabarlar vositachisi va ba'zi mijozlar. Agent - bu mijozdan kelgan barcha xabarlarni oladigan va keyin bu xabarlarni tegishli mijozga yo'naltiruvchi server. Mijoz - bu xabar yuborish va qabul qilish uchun agent bilan o'zaro aloqada bo'ladigan hamma narsa. Mijoz IOT sensori yoki ma'lumotlar markazida IoT ma'lumotlarini qayta ishlaydigan dastur bo'lishi mumkin.
1 -qadam: materiallar
Uskuna:
MakePython ESP32
MakePython ESP32 - bu o'rnatilgan SSD1306 OLED -displeyli ESP32 platasi.
servo motor
HC-SR04
Dasturiy ta'minot:
uPyCraft IDE
Windows uchun uPyCraft IDE -ni yuklab olish uchun bosing
2 -qadam: simlarni ulash
MakePython ESP32 - Servo
- 3V3 - VCC (qizil chiziq)
- GND - GND (jigarrang chiziq)
- IO14 - signal (to'q sariq chiziq)
MakePython ESP32-HC-SR04
- 3V3 - VCC
- IO13 - Trig
- IO12 - aks sado
- GND - GND
3 -qadam: kod
Bu erda ko'rsatilgan kodni yuklab oling va ishga tushiring.
Main.py fayliga quyidagi o'zgartirishlarni kiriting, so'ngra saqlang va ishga tushiring.
Wi -Fi -ga ulanish uchun SSID va PSW -ni o'zgartiring
SSID = 'Makerfabs' #SIZNING_SSID bilan
PSW = '20160704' #SIZNING_PAROLINGIZNI OZGARISH
MQTT brokerining IP manzilini o'zgartiring va nashr qilish va obuna bo'lish uchun mavzularni aniqlang
mqtt_server = '39.106.151.85 '#SIZNING_MQTT_BROKER_IP bilan OZGARISH
topic_sub = b'feed 'topic_pub = b' davlat '
Mavzularga ulaning va obuna bo'ling
def connect_and_subscribe ():
global client_id, mqtt_server, topic_sub client = MQTTClient (client_id, mqtt_server) client.set_callback (sub_cb) client.connect () client.subscribe (topic_sub) print (' %s MQTT brokeriga ulangan, %s mavzusiga ulangan' %(mqtt_server), topic_sub)) qaytaruvchi mijoz
xabarlarni nashr etish
mijoz = connect_and_subscribe ()
client.publish (topic_pub, msg)
4 -qadam: MQTT sozlamalari
Siz MQTT mijozini bu erdan yuklab olishingiz va o'rnatishingiz mumkin, bu sizga mobil telefoningiz yoki kompyuteringizda masofadan boshqarishni amalga oshirish imkonini beradi.
- MQTT mijozini yaratish uchun oching va bosing
- Ism kiritish tasmasi
- Protokolni tanlang mqtt / tcp
- Xost kiritish: 39.106.151.85:1883
- Saqlash -ni bosing
5 -qadam: nashr qilish va obuna bo'lish
Ulangandan so'ng, kirishni nashr qilish uchun mavzu: tasma. Ish yukini kiritish: yoqing va keyin nashr etishni bosing
Servo dvigatel aylanadi va ovqatlanishni boshlaydi.
Mavzuga obuna bo'lish holatini kiriting, so'ngra obuna bo'lishni bosing
Mushuk ovqatlanishga yaqin bo'lganida, obuna mavzusi qabul qilinadi: mushuk ovqatlanmoqda …, mushuk ketgandan keyin oladi: Mushuk ketdi.
Agar siz mushukni uyda qoldirsangiz ham, uning och qolishi haqida tashvishlanishingiz shart emas.
Tavsiya:
Raspberry PI 3 - TtyAMA0 -dan BCM GPIO 14 va GPIO 15: 9 bosqichlariga ketma -ket aloqani yoqish
Raspberry PI 3 - TtyAMA0 -ga BCM GPIO 14 va GPIO 15 -ga ketma -ket aloqani yoqish: Men yaqinda Raspberry Pi (3b) da UART0 -ni yoqishga qiziqib qoldim, shuning uchun uni standart 9 yordamida RS -232 signal darajasidagi qurilmaga ulashim mumkin edi. USB-RS-232 adapteridan o'tmasdan d-sub ulagichi. Mening qiziqishimning bir qismi
ThingSpeak bildirishnomalarini Mi Band 4: 6 bosqichlariga yuboring
Mi Band 4 -ga ThingSpeak bildirishnomalarini yuboring: Men Xiaomi Mi Band 4 -ni sotib olganim uchun, Mi Band 4 orqali ThingSpeak -da mavjud bo'lgan ob -havo stantsiyasidagi ba'zi ma'lumotlarni kuzatish imkoniyati haqida o'yladim. Mi Band 4 ning imkoniyatlari
MicroPython kodini XBee 3: 18 bosqichlariga qanday yuklab olish mumkin (rasmlar bilan)
MicroPython kodini XBee 3 -ga qanday yuklab olish mumkin: MicroPython - bu Python 3.0 -dan ilhomlangan dasturlash tili, u XBee 3 kabi mikrokontrolderlarda ishlaydi, MicroPython sizning loyihangiz ta'minotining hajmini va umumiy hajmini kamaytirishga yordam beradi va ishni ancha osonlashtiradi. . Biroq, men f
RaspberryPi 4: 15 bosqichlariga asoslangan arzon IoT havo sifati monitori (rasmlar bilan)
RaspberryPi 4 ga asoslangan arzon IoT havo sifati monitor: Santyago, Chili qishki ekologik favqulodda vaziyatda dunyoning eng go'zal mamlakatlaridan birida yashash sharafiga ega, lekin afsuski, bu atirgul emas. Qish mavsumida Chili havoning ifloslanishi bilan juda ko'p azob chekadi
WEMOS D1 (ESP-8266EX) ga asoslangan MicroPython IoT Rover: 7 qadam (rasmlar bilan)
MicroPython IoT Rover WEMOS D1 (ESP-8266EX) ga asoslangan: ** Yangilanish: Men nayzali v2 uchun yangi videoni joylashtirdim ** Men yosh bolalar uchun robototexnika ustaxonalarini olib boraman va men har doim qiziqarli loyihalarni yaratish uchun iqtisodiy platformalarni qidiraman. Arduino klonlari arzon bo'lsa -da, u bolalar bilmaydigan C/C ++ tilidan foydalanadi