Mundarija:

MQTT -ni Raspberry Pi va ESP8266/sonoff bilan qanday ishlatish kerak: 4 qadam
MQTT -ni Raspberry Pi va ESP8266/sonoff bilan qanday ishlatish kerak: 4 qadam

Video: MQTT -ni Raspberry Pi va ESP8266/sonoff bilan qanday ishlatish kerak: 4 qadam

Video: MQTT -ni Raspberry Pi va ESP8266/sonoff bilan qanday ishlatish kerak: 4 qadam
Video: Getting Started with Tasmota on ESP8266-01 | Integrating Tasmota with Home Assistant 2024, Noyabr
Anonim
MQTT -ni Raspberry Pi va ESP8266/sonoff bilan qanday ishlatish kerak
MQTT -ni Raspberry Pi va ESP8266/sonoff bilan qanday ishlatish kerak

Hammaga salom!

Bugun men sizga malina pi va ESP8266 asosidagi sonoff wifi o'rni kalitini dunyoning istalgan burchagidan uy jihozlarini boshqarish uchun qanday sozlashni ko'rsataman.

Agar siz mening ko'rsatmalarimni diqqat bilan bajargan bo'lsangiz, Raspberry Pi terminalidan yoki python qobig'idan foydalanib, har qanday uy jihozlarini boshqarishingiz mumkin.

Shunday qilib, o'zingizning MQTT va Rpi asosidagi Sonoff Wifi Device tekshirgichini tayyorlashga tayyor bo'ling!

O'qishni boshlashdan oldin, men bir nechta muhim narsalarni aytib o'tmoqchiman.

  1. Sonoff wifi o'rni kaliti o'z boshqaruv dasturiy ta'minoti bilan birga keladi. Agar siz uni qayta dasturlashtirsangiz, asl dasturiy ta'minot butunlay o'chiriladi. Shunday ekan, bunga ishonch hosil qiling.
  2. Sonoff wifi rölesi to'g'ridan -to'g'ri 230V AC kuchlanish bilan quvvatlanadi, shuning uchun agar siz bunday yuqori voltli ishlov berishda usta bo'lmasangiz, ota -onangiz yoki mutaxassisingizdan yordam so'rang.
  3. Sonoff wifi o'rni kaliti faqat 3.8V chipli esp8266-01 wifi chipsetiga asoslangan, agar siz tasodifan 5V ni +V piniga qo'ysangiz, unga zarar yetkazasiz.
  4. Bu erda men sizning malinali pi-ni terminalda chivin va MQTT buyruqlarini ishga tushirish uchun IP-manzili o'rnatilgan va Wi-Fi yoqilgan deb hisobladim.

** Agar siz yuqoridagi 4 qadamni bajarishga tayyor bo'lsangiz, borishingiz yaxshi bo'ladi !!

1 -qadam: Kirish + Materiallar

Kirish + Materiallar
Kirish + Materiallar
Kirish + Materiallar
Kirish + Materiallar

Salom bolalar! bugun biz juda qiziqarli loyihani qurmoqchimiz. Mana bu loyihada, biz MQTT brokeridan foydalanib, AC chiroq kabi uy qurilmalarini boshqaramiz.

Eslatma: Bu IOT loyihasi, shuning uchun siz AC qurilmangizni dunyoning istalgan nuqtasidan boshqarishingiz mumkin

MQTT (Massage Que Telemetry Transport) - bu Internet -loyihalarda ishlatiladigan oddiy yuklarni uzatish protokoli. Facebook messenjeri MQTT protokolidan ham foydalanadi. Loyihadan boshlash uchun etarli kirish.

Bu loyiha uchun bizga nima kerak?

1) faol Wi -Fi (marshrutizator) ulanishi

2) Wi -Fi yoqilgan Raspberry Pi3 modeli.

3) 10A 220V kuchlanishli Sonoff Wifi IOT kaliti

4) Ba'zi ulanish simlari

5) o'tish kabellari

6) CP2102 USB - TTL konvertori

  • Eslatma: ushbu loyiha uchun sizda malina pi bo'lishi kerak, u klaviatura ulanishi bilan yoki noutbuk bilan boshsiz rejimda o'rnatiladi (VNC ulanishi).
  • Agar sizda monitor yoki boshsiz rejimda o'rnatilgan malina pi bo'lmasa, siz malina pi -ni boshsiz rejimda qanday ulash bo'yicha boshqa darsimni bajarishingiz kerak.

2 -qadam: Raspberry Pi -ni sozlash

Raspberry Pi -ni sozlash
Raspberry Pi -ni sozlash

Ushbu qadamda biz loyiha uchun malina pi ni o'rnatamiz.

Ushbu qo'llanmada biz sonoff ESP8266 -ni mijoz sifatida va malina pi -ni chivin vositachisi sifatida ishlatamiz.

  1. raspberry pi terminalini oching va yozing

    1. sudo apt-get yangilanishi
    2. sudo apt-get upgrade Sizning malina Pi eng yangi dasturiy ta'minot bilan yangilanganidan so'ng, siz o'zingizning pi-dagi har qanday loyiha bilan borishingiz mumkin.
  2. Endi Mosquitto -ni o'rnatish uchun quyidagi buyruqlarni kiriting

    1. wget
    2. sudo apt-key qo'shish mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget
    5. sudo -i
    6. apt-get yangilanishi
    7. apt-get chivinlarni o'rnating
    8. apt-get chivin-mijozlarni o'rnatish
  3. Yuqoridagi ko'rsatmalarni muvaffaqiyatli bajarganingizdan so'ng, siz mashinangizni chivin brokeri bilan tayyor qilib qo'yasiz va keyingi bosqichga tayyormiz.
  4. Yana terminalingizga quyidagi buyruqlarni kiriting:
    1. sudo pip o'rnatish paho-mqtt
    2. sudo pip3 paho-mqtt ni o'rnating
  5. Endi chivinli mijozingiz muvaffaqiyatli o'rnatilganligini yoki yo'qligini tekshirish uchun python2 yoki python3 qobig'ini oching va quyidagi buyruqni kiriting.

    1. paho.mqtt.client -ni import qiling
    2. bu hech narsani qaytarmasligi kerak. Agar biron -bir chiziq yoki xato qaytarilsa, yuqoridagi amallarni yana bir bor tekshiring va amallarni yana bir bor diqqat bilan bajaring.

  6. Endi sizning Raspberry Pi qismingiz deyarli tugadi va siz hozir Sonoff va Arduino qismiga borganingiz ma'qul

3 -qadam: Sonoff Esp8266 qurilmasini MQTT uchun sozlash

Sonoff Esp8266 qurilmasini MQTT uchun sozlash
Sonoff Esp8266 qurilmasini MQTT uchun sozlash
Sonoff Esp8266 qurilmasini MQTT uchun sozlash
Sonoff Esp8266 qurilmasini MQTT uchun sozlash
Sonoff Esp8266 qurilmasini MQTT uchun sozlash
Sonoff Esp8266 qurilmasini MQTT uchun sozlash

Endi bu bosqichda biz Sonoff mijoz qurilmasini o'rnatamiz.

sonoff-bu Wi-Fi-ga asoslangan uyni avtomatlashtirish uchun oldindan o'rnatilgan dasturiy ta'minot va Wi-Fi orqali qurilmalarni boshqarish uchun android/ios ilovasi bilan ta'minlangan wifi uy avtomatizatsiyasi.

Endi biz xohlagan tarzda uni qayta dasturlash uchun oddiy hack. Arduino ide bilan qayta dasturlashdan so'ng, siz sonoff -da oldindan o'rnatilgan asl dasturiy ta'minotni yo'qotasiz.

  1. Birinchidan, sonoff qurilmangizni diqqat bilan oching va rasmda ko'rsatilgan pinoutlarga e'tibor bering DAGANER: sonoff qurilmasi 220V to'g'ridan -to'g'ri ACda ishlaydi, uni ochishdan yoki dasturlashdan oldin uni o'chirib qo'yishingiz kerak.
  2. Endi uning chizig'i uchun quyidagi rasmga qarang, tenglikni tagida siz esp8266-01 moduliga o'xshash bo'lgan esp8266 chipi bor.
  3. Endi Arduino IDE -ni oching va kerakli Zip kutubxonalarini qo'shing. PUBSUB_client kutubxonasi
  4. Bundan tashqari, siz esp8266 taxtasini Arduino idealiga qo'shishingiz kerak. agar qo'shilmagan bo'lsa, amallarni bajaring

    1. Arduino IDE -ni oching va "Fayl -> Sozlamalar" ni bosing.
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. "Qo'shimcha taxtalar menejeri URL -lari" ga yuqoridagi havolani qo'shing va "OK" tugmasini bosing.
    4. "Asboblar -> Kengash -> Kengashlar menejeri" ga o'ting, "ESP8266" yozing va o'rnating.
    5. Yana "Asboblar -> Kengash" ga o'ting va "Umumiy ESP8266 moduli" ni tanlang.
    6. Endi siz taxtani Arduino IDE -ga muvaffaqiyatli qo'shdingiz.
  5. Endi siz rasmda ko'rsatilgandek sonoff qurilmasiga bitta ayol ulagichni lehimlashingiz kerak.
  6. Endi USB -ni TTL CP2102 yoki FTDI kartasiga olib boring va yuqorida ko'rsatilgan rasmga muvofiq quyidagi ulanishni bajaring.

    1. FTDI RX dan TX Sonoffgacha
    2. TX FTDI dan RX Sonoffgacha
    3. FTDI GND dan Sonoff GND gacha
    4. 3.3V FTDI - 3.3V - Sonoff
  7. QAYD: Sonoff kartasini 5V bilan ta'minlamayotganingizga ishonch hosil qiling. Agar u 5V quvvat manbaiga ulansa, siz qurilmangizni yoqib yuborishingiz mumkin. shuning uchun faqat 3.3V kuchlanishli FTDI kartasini ishlating.
  8. Endi rasmda ko'rsatilgandek ulanishni amalga oshiring.
  9. Sizdan biri yuqoridagi amallarni bajaradi. FTDI/USB -ni TTL -ga noutbuk/kompyuterga ulang va Arduino IDE -ni oching.
  10. Kodni nusxalash.

11. Endi asboblar menyusidan tegishli COM portini tanlang va qurilmani umumiy ESP8266 qurilmasi sifatida tanlang. Endi yuklash tugmasini bosing. Kodni sonoff qurilmasining esp8266 chipiga yuklash taxminan bir daqiqa yoki undan kam vaqtni oladi.

12. Endi barchangiz sonoff va Arduino dasturlashiga tayyormiz. va endi siz sonoff taxtasida miltillovchi miltillashni ko'rishingiz kerak // biz boshida miltillab 5 marta yozganmiz.

13. Siz keyingi bosqichga o'tishingiz yaxshi.

4 -qadam: O'g'lingizni Internetdan boshqaring

Sonoff -ni Internetdan boshqaring
Sonoff -ni Internetdan boshqaring

Endi bu bizning loyihamiz uchun oxirgi qadam.

  1. endi sizning Pi uchun IP -manzilni kiritib, malina pi -ning VNC masofaviy ish stoli ulanishini oching
  2. Endi terminalni oching va quyidagi buyruqlarni yozishni boshlang
  3. bu erda mavzu - "0" - yuk
  4. Rpi IP -manzilingiz bilan buyruqdagi IP -manzilni o'zgartiring
  5. "0" o'rniga "1" deb yozing, u sizning sonoff wifi kalitidagi o'rni yoqiladi.

mosquitto_pub -h 192.168.0.104 -t led -m "0"

Yuqoridagi ko'rsatma sizning o'rni o'chiradi.

mosquitto_pub -h 192.168.0.104 -t led -m "1"

Bu ko'rsatma sizning o'rni yoqiladi.

Endi siz o'g'lingizni Rpi terminalidan boshqarishni tugatdingiz.

sonoff wifi kalitini boshqa Wi -Fi tarmog'iga va malina pi ni boshqa Wi -Fi ulanishiga ulash orqali tekshirishingiz mumkin. Siz dunyoning istalgan nuqtasidan o'z o'rni boshqarishingiz kerak.

Endi siz o'g'lingizning ON/OFF -ni avtomatik ravishda sinab ko'rishni xohlaysiz, men kichik piton skriptini yozdim

birinchi bo'lib "1" ni yuboradi va 6 soniyadan so'ng "0" ni yuboradi va bu jarayon tsiklda takrorlanadi.

paho.mqtt.pport ni nashriyotning import vaqti sifatida joylashtiring

To'g'ri bo'lsa ham:

print ("1 yuborilmoqda …") publish.single ("ledStatus", "1", hostname = "Sizning broker IP") time.sleep (6) print ("0 yuborilmoqda …") publish.single ("ledStatus", "0", hostname = "Sizning broker IP") time.sleep (3)

Yuqoridagi kod shunchaki sonoff wifi o'rni kalitidagi o'rni yoqadi va o'chiradi.

yuqoridagi python kodidagi RaspberryPi IP -manzilini almashtirishni unutmang. Endi ushbu skriptni ishga tushirish modulini bosish orqali ishga tushiring va siz qobiqda ko'rishingiz kerak

"1" yuborish..

"0" yuborish..

"1" ni yuborish.. shunga o'xshash narsa.

Bu ko'rsatma uchun shunday. keyingi safar yangisi bilan ko'rishguncha.

Xayr !!!!

va bu ko'rsatmaga amal qilishni, baham ko'rishni va o'zingiz sinab ko'rishni unutmang!

har qanday shubhalar sharhlar bo'limiga xush kelibsiz!

Tavsiya: