Агуулгын хүснэгт:

ESP-NOW гэрийн автоматжуулалт Esp8266 Raspberry Pi MQTT: 4 алхам
ESP-NOW гэрийн автоматжуулалт Esp8266 Raspberry Pi MQTT: 4 алхам

Видео: ESP-NOW гэрийн автоматжуулалт Esp8266 Raspberry Pi MQTT: 4 алхам

Видео: ESP-NOW гэрийн автоматжуулалт Esp8266 Raspberry Pi MQTT: 4 алхам
Видео: Как сделать 4-канальное реле Wi-Fi ESP8266 ESP01 | ESP01 Домашняя автоматизация | УдаленныйXY 2024, Арваннэгдүгээр
Anonim
ESP-NOW гэрийн автоматжуулалт Esp8266 Raspberry Pi MQTT
ESP-NOW гэрийн автоматжуулалт Esp8266 Raspberry Pi MQTT

Энэхүү гарын авлагад би ESP-NOW-ийг гэрийнхээ автоматжуулалтад хэрхэн ашиглаж байсныг харуулах болно. Схем дээр харилцаа холбооны урсгалыг харж болно

Чамд үзүүлье:

  • илгээгч хэрхэн ажилладаг
  • хүлээн авагч хэрхэн ажилладаг
  • Raspberry Pi -тэй цуваа холбоо хэрхэн ажилладаг талаар

Би MQTT болон миний гэрийн автоматжуулалт хэрхэн ажилладагийг харуулдаггүй, та үүний тулд бусад сайн зааврыг олж болно.

Кредит: Энэхүү зааварчилгаа нь дараахь зүйлийг өдөөсөн болно.

Видео #172, Андреас Спийс

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

Алхам 1: WiFi болон MQTT-ээр нөөцлөх

WiFi болон MQTT-ээр нөөцлөх
WiFi болон MQTT-ээр нөөцлөх

ESP-NOW нь маш хурдан бөгөөд найдвартай боловч заримдаа бүтэлгүйтдэг болохыг би олж мэдсэн. Миний хөтөлбөрт би ердийн WiFi болон MQTT холболтоор нөөцлөлтийг нэмсэн.

Алхам 2: Алсын удирдлага/илгээгч

Алсын удирдлага/илгээгч
Алсын удирдлага/илгээгч
Алсын удирдлага/илгээгч
Алсын удирдлага/илгээгч
Алсын удирдлага/илгээгч
Алсын удирдлага/илгээгч
Алсын удирдлага/илгээгч
Алсын удирдлага/илгээгч

Эхний схемд та илгээгчийн програм хэрхэн ажилладагийг харж болно.

  1. Esp8266 нь асаах эсвэл дахин тохируулахаас эхэлдэг
  2. ESP-NOW-ийг эхлүүлсэн болно
  3. Модуль нь ESP-NOW-ийг тодорхой хугацаанд илгээдэг
  4. Модуль нь ESP-NOW мессежийг хүлээн авагч буцааж залгах функцээр хүлээн авсан эсэхийг шалгадаг.

    1. Хэрэв ESP-NOW мессеж хүлээн авсан бол модуль нь бага хүчээр гүн унтдаг
    2. Хэрэв ESP-NOW мессеж хүлээж аваагүй бол модуль нь WiFi холболт болон MQTT холболтыг нөөц холболт болгон эхлүүлнэ.

Илгээгчийн програм нь миний Github (Master_sender.ino) дээр байна. Хөтөлбөрүүд нь MQTT гэрийн автоматжуулалтын сэдэв болон мессежийг хоёуланг нь ESP-NOW гэсэн нэг мессежээр илгээдэг бөгөөд хүлээн авагчийг хялбархан хуваахын тулд '&' тэмдэг дээр нэгтгэдэг.

Би хоёр өөр алсын удирдлага/илгээгч хийсэн:

Илгээгч 1: esp8266 нь гүн унтаж байгаа бөгөөд дахин тохируулах замаар идэвхждэг. Модуль дууссаны дараа товчлуурын гэрэл асаж, харанхуйлна. Хэрэв батерейны хүчдэл бага байвал LED анивчих болно. Хэрэв ESP-NOW амжилтгүй болсон бол WiFi/MQTT холболт руу шилжихийн өмнө гэрэл анивчдаг. Esp8266 нь HT7333 хүчдэлийн зохицуулагчтай LiPo батерейгаас 3.3В хүртэл хүчдэлээр тэжээгддэг

Илгээгч 2: esp8266 нь унтраасан бөгөөд товчлуурыг дарж асаалттай байна. Ихэвчлэн ESP-NOW холболт нь товчлуур дээр дарсны дараа хийгддэг. Esp8266 нь LiPo батерейгаар шууд тэжээгддэг. ESP8266 нь хэдхэн 100 мс асахад бүрэн цэнэглэгдсэн батерейны өндөр хүчдэл (4.2 В хүртэл) гэмтсэн эсэхийг би мэдэхгүй байна. Энэ нь техникийн үзүүлэлтүүдээс өндөр байна (3.0 - 3.6V).

Анхаарна уу: хэрэв батерейны хүч бага байвал ESP-NOW амжилтгүй болно.

Алхам 3: Хүлээн авагч - Тоног төхөөрөмж (esp8266 ба Raspberry Pi)

Хүлээн авагч - Тоног төхөөрөмж (esp8266 ба Raspberry Pi)
Хүлээн авагч - Тоног төхөөрөмж (esp8266 ба Raspberry Pi)
Хүлээн авагч - Тоног төхөөрөмж (esp8266 ба Raspberry Pi)
Хүлээн авагч - Тоног төхөөрөмж (esp8266 ба Raspberry Pi)
Хүлээн авагч - Тоног төхөөрөмж (esp8266 ба Raspberry Pi)
Хүлээн авагч - Тоног төхөөрөмж (esp8266 ба Raspberry Pi)

Хүлээн авагчийн тайлбарыг хоёр хэсэгт хуваана.

  1. Техник хангамж
  2. Програм хангамж

Тоног төхөөрөмж

Хүлээн авах esp-01 нь миний гэрийн автоматжуулалтын систем (Openhab2) болон Node Red-ийг ажиллуулдаг Raspberry Pi Zero-той холбогдсон байна.

Схемд энгийн холболтуудыг харуулав.

  • RasPi-ийн esp-01-ээс TX хүртэлх RX
  • RasPi-ийн RX-ээс esp-01-ийн TX
  • GND -ээс GND хүртэл
  • Esp-01 VCC нь Raspi-ийн 3.3V зүүгээр тэжээгддэг
  • Esp-01 дээр RST болон CH_PD хоёулаа өндөр татагдсан байдаг.

Үүнийг хялбархан холбохын тулд би интерфэйс холбогч хийсэн

Нэг зураг дээр та миний Raspberry Pi 3 -тэй утсан холболтыг харж болно (энэ нь ижил зүүтэй боловч би CH_PD -т холбогдохын тулд өөр 3.3V зүү ашигласан).

Esp-01 програмыг миний бусад зааварчилгаанд үзүүлсэн шиг програмчилсан болно (3-р алхамыг үзнэ үү).

Алхам 4: Хүлээн авагч - Програм хангамж (Цуваа, Улаан зангилаа, MQTT)

Хүлээн авагч - Програм хангамж (Цуваа, Улаан зангилаа, MQTT)
Хүлээн авагч - Програм хангамж (Цуваа, Улаан зангилаа, MQTT)
Хүлээн авагч - Програм хангамж (Цуваа, Улаан зангилаа, MQTT)
Хүлээн авагч - Програм хангамж (Цуваа, Улаан зангилаа, MQTT)
Хүлээн авагч - Програм хангамж (Цуваа, Улаан зангилаа, MQTT)
Хүлээн авагч - Програм хангамж (Цуваа, Улаан зангилаа, MQTT)

Esp8266 дээрх програм

Esp-01 хүлээн авагчийн програм нь миний Github (Master_sender.ino) -д байдаг. Хөтөлбөр нь үнэхээр энгийн бөгөөд зөвхөн хүлээн авсан ESP-NOW мессежийг цуваа порт дээр Raspberry Pi дээр хэвлэдэг.

Цуваа порт

Raspberry Pi дээр та цуваа холболтыг идэвхжүүлэх ёстой (raspbian дээр 'sudo raspi-config' -г ажиллуулна уу).

Цуваа портын нэр нь:

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

Та 'dmesg | ажиллуулснаар цуваа портыг шалгаж болно grep tty 'эсвэл' ls /dev '

Улаан зангилаа

Улаан Node дээр цуваа оролтын Node -ийг сонгоод цуваа портыг тохируулна уу (хавсаргасан зургуудыг үзнэ үү). Цуваа холболтын хурдны хэмжээг анхаарна уу, энэ нь esp8266 програмчлагдсан програмын дагуу байх ёстой.

Цуваа зангилааны гаралтыг '&' тэмдэг дээр зурвасыг хувааж, msg.topic болон msg.payload -ийг тохируулдаг функциональ зангилаагаар өөрчилдөг. Функцийн гаралтыг mqtt гаралтын зангилаа руу хөтөлдөг бөгөөд энэ нь мессежийг MQTT сервер рүү илгээдэг. Mqtt зангилааны сэдвийн талбар хоосон байгааг анхаарна уу.

Зөвлөмж болгож буй: