Mundarija:

ESP-NOW uy avtomatizatsiyasi Esp8266 Raspberry Pi MQTT: 4 qadam
ESP-NOW uy avtomatizatsiyasi Esp8266 Raspberry Pi MQTT: 4 qadam

Video: ESP-NOW uy avtomatizatsiyasi Esp8266 Raspberry Pi MQTT: 4 qadam

Video: ESP-NOW uy avtomatizatsiyasi Esp8266 Raspberry Pi MQTT: 4 qadam
Video: ПРОСОФТ: ESP8266 + NodeRED 2024, Iyul
Anonim
ESP-NOW uy avtomatizatsiyasi Esp8266 Raspberry Pi MQTT
ESP-NOW uy avtomatizatsiyasi Esp8266 Raspberry Pi MQTT

Ushbu yo'riqnomada men sizga uyni avtomatlashtirishda ESP-NOWdan qanday foydalanganimni ko'rsataman. Sxemada siz aloqa oqimlarini ko'rishingiz mumkin

Men sizga ko'rsataman:

  • yuboruvchi qanday ishlaydi
  • qabul qilgich qanday ishlaydi
  • Raspberry Pi bilan ketma -ket aloqa qanday ishlaydi

Men MQTT va uy avtomatizatsiyasi qanday ishlashini ko'rsatmayman, buning uchun boshqa yaxshi ko'rsatmalarni topishingiz mumkin.

Kreditlar: Ushbu ko'rsatma ilhomlantirildi:

Andreas Spays tomonidan 172 -sonli video

www.esploradores.com/practica-6-conexion-es…

1-qadam: WiFi va MQTT orqali zaxiralash

WiFi va MQTT orqali zaxiralash
WiFi va MQTT orqali zaxiralash

Men ESP-NOW juda tez va juda ishonchli ekanligini bilib oldim, lekin ba'zida muvaffaqiyatsiz bo'ladi. Mening dasturimda oddiy WiFi va MQTT ulanishi orqali zaxira nusxasini qo'shdim.

2 -qadam: masofadan boshqarish/jo'natuvchi

Masofadan boshqaruvchi/yuboruvchi
Masofadan boshqaruvchi/yuboruvchi
Masofadan boshqaruvchi/yuboruvchi
Masofadan boshqaruvchi/yuboruvchi
Masofadan yuboruvchi/yuboruvchi
Masofadan yuboruvchi/yuboruvchi
Masofadan boshqaruvchi/yuboruvchi
Masofadan boshqaruvchi/yuboruvchi

Birinchi sxemada siz jo'natuvchining dasturi qanday ishlashini ko'rasiz:

  1. Esp8266 quvvat manbai yoki qayta o'rnatishdan boshlanadi
  2. ESP-NOW ishga tushiriladi
  3. Modul ESP-NOW ni ma'lum vaqtga yuboradi
  4. Modul ESP-NOW xabarini qabul qiluvchiga qayta qo'ng'iroq qilish funktsiyasida qabul qilinganligini tekshiradi.

    1. Agar ESP-NOW xabari qabul qilingan bo'lsa, modul past uyqu holatida ishlaydi
    2. Agar ESP-NOW xabari olinmagan bo'lsa, modul WiFi ulanishini va zaxira aloqasi sifatida MQTT ulanishini boshlaydi.

Yuboruvchi uchun dastur mening Github -da (Master_sender.ino) joylashgan. Dasturlar MQTT uy avtomatizatsiyasi uchun mavzuni ham, xabarni ham ESP-NOW birlashgan xabarida yuboradi, bu qabul qilgichda oson bo'linish uchun "&" belgisida birlashtirilgan.

Men ikki xil masofadan boshqarish pulti/jo'natuvchi qildim:

Yuboruvchi 1: esp8266 chuqur uyquda va uni qayta o'rnatish orqali faollashadi. Modul tugagandan so'ng, tugmachadagi chiroq yonadi va xiralashadi. Agar batareya quvvati past bo'lsa, chiroq yonadi. Agar ESP-NOW ishlamasa, WiFi/MQTT ulanishlariga o'tishdan oldin chiroq yonadi. Esp8266 HT7333 kuchlanish regulyatori bilan LiPo batareyasidan 3,3 V gacha quvvatlanadi

2 -jo'natuvchi: esp8266 o'chirilgan va tugmani bosish orqali quvvatlanadi. Odatda ESP-NOW ulanishi tugmani bosgandan so'ng amalga oshiriladi. Esp8266 to'g'ridan -to'g'ri LiPo batareyasidan ishlaydi. Men bilmayman, esp8266 to'liq zaryadlangan batareyaning yuqori kuchlanishidan (4,2 V gacha) bir necha 100 msda quvvat olganda zarar ko'radimi yoki yo'qmi. Bu texnik xususiyatlardan yuqori (3.0 - 3.6V).

Eslatma: agar batareya quvvati kam bo'lsa, ESP-NOW ishlamay qoladi.

3 -qadam: Qabul qilgich - Uskuna (esp8266 va Raspberry Pi)

Qabul qilgich - apparat (esp8266 va Raspberry Pi)
Qabul qilgich - apparat (esp8266 va Raspberry Pi)
Qabul qilgich - apparat (esp8266 va Raspberry Pi)
Qabul qilgich - apparat (esp8266 va Raspberry Pi)
Qabul qilgich - apparat (esp8266 va Raspberry Pi)
Qabul qilgich - apparat (esp8266 va Raspberry Pi)

Qabul qilgichning tavsifi ikki qismga bo'linadi:

  1. Uskuna
  2. Dasturiy ta'minot

Uskuna

Qabul qiluvchi esp-01 mening uy avtomatlashtirish tizimi (Openhab2) va Node Red bilan ishlaydigan mening Raspberry Pi Zero-ga ulangan.

Sxemada oddiy ulanishlar ko'rsatilgan:

  • RasPi-dan TX ga esp-01 RX
  • RasPi-dan RX-ga esp-01 TX
  • GND dan GNDgacha
  • Esp-01 VCC Raspi-ning 3.3V pinidan quvvatlanadi
  • Esp-01da RST ham, CH_PD ham yuqoriga tortiladi.

Men osongina o'rnatish uchun interfeys konnektori qildim

Bitta rasmda siz mening Raspberry Pi 3 -ga simli ulanishlarimni ko'rishingiz mumkin (u bir xil pinoutga ega, lekin men CH_PD -ga ulanish uchun boshqa 3.3V pinni ishlatganman).

Esp-01 boshqa yo'riqnomada ko'rsatilgandek dasturlashtirilgan (3-qadamga qarang).

4 -qadam: Qabul qilgich - dasturiy ta'minot (ketma -ket, qizil tugunli, MQTT)

Qabul qiluvchi - dasturiy ta'minot (ketma -ket, qizil tugunli, MQTT)
Qabul qiluvchi - dasturiy ta'minot (ketma -ket, qizil tugunli, MQTT)
Qabul qiluvchi - dasturiy ta'minot (ketma -ket, qizil tugunli, MQTT)
Qabul qiluvchi - dasturiy ta'minot (ketma -ket, qizil tugunli, MQTT)
Qabul qiluvchi - dasturiy ta'minot (ketma -ket, qizil tugunli, MQTT)
Qabul qiluvchi - dasturiy ta'minot (ketma -ket, qizil tugunli, MQTT)

Esp8266 uchun dastur

Esp-01 qabul qiluvchisi uchun dastur mening Github-da (Master_sender.ino) joylashgan. Dastur juda sodda, u faqat qabul qilingan ESP-NOW xabarini ketma-ket portda Raspberry Pi-ga bosib chiqaradi.

Seriyali port

Raspberry Pi-da siz ketma-ket portni faollashtirishingiz kerak (raspb tilida "sudo raspi-config" ni bajaring) oddiy ketma-ket aloqa uchun.

Seriya portining nomi:

  • Raspberry Pi nol: /dev /ttyAMA0
  • Raspberry Pi 3: /dev /ttyS0

Siz ketma -ket portni 'dmesg | grep tty 'yoki' ls /dev '

Qizil tugun

Qizil tugunda ketma -ket kirish tugunini tanlang va ketma -ket portni o'rnating (ilova qilingan rasmlarga qarang). Ketma -ket ulanishning tezligiga e'tibor bering, bu esp8266 da dasturlangan bod tezligiga mos kelishi kerak.

Ketma -ket tugunning chiqishi "&" belgisidagi xabarni ajratuvchi va msg.topic va msg.payload yuklaydigan funktsiyali tugun orqali o'zgartiriladi. Funktsiya chiqishi MQTT serveriga xabar yuboradigan mqtt chiqish tuguniga olib keladi. E'tibor bering, mqtt tugunining mavzu maydoni bo'sh, chunki mavzu xabarda o'rnatilgan.

Tavsiya: