Mundarija:

MQTT orqali masofadan boshqarish va foto nazorati: 8 qadam
MQTT orqali masofadan boshqarish va foto nazorati: 8 qadam

Video: MQTT orqali masofadan boshqarish va foto nazorati: 8 qadam

Video: MQTT orqali masofadan boshqarish va foto nazorati: 8 qadam
Video: ESP32 Tutorial 47 - WS2812 CheerLights using MQTT over Internet | SunFounder's ESP32 IoT Learnig kit 2024, Noyabr
Anonim
MQTT orqali masofadan boshqarish va foto nazorati
MQTT orqali masofadan boshqarish va foto nazorati

Salom.

Bugun men, masalan, garaj eshiklarini, yoritishni, isitishni, bosimni nazorat qilishni, haroratni va boshqa ko'plab parametrlarni boshqarish uchun ishlatilishi mumkin bo'lgan masofadan boshqarish va monitoring tizimini qanday qilish kerakligi haqida gaplashmoqchiman. Ammo bu tizimning asosiy xususiyati shundaki, siz masofadagi ob'ektdan suratlarni masofadan qabul qilishingiz mumkin. Hikoyani boshlashdan oldin, qisqa so'zboshi. Bir paytlar men Arduino uchun mos keladigan Arduino M0-SD kartasi, VC0706 kamerasi va 3G/GPRS/GSM/GPS qalqoni yordamida foto kuzatuv tizimini yaratmoqchi edim. Arduino M0 -SD mos keladigan karta dasturlash oson bo'lgan shartlardan tanlangan (xuddi Arduino UNO kabi), ish kuchlanishi 3,3V - bu VC0706 kamerasi bilan ishlash uchun juda qulay, katta hajmli ROM va operativ xotira, UARTning bir nechta porti, USB -ning alohida virtual porti, lekin asosiy afzalligi - to'g'ridan -to'g'ri bortda micro SD ulagichining mavjudligi (rasmlar kabi katta hajmdagi ma'lumotlarni saqlash juda qulay).

Arduino uchun 3G/GPRS/GSM/GPS qalqoni mos keladigan Arduino M0-SD kartasi bilan ishlash uchun juda qulay. Internetda bir nechta kutubxonalar, shuningdek, bu qalqon bilan ishlash uchun ko'plab misollar mavjud. Ma'lumot uzatish tezligi (3G) an'anaviy GPRS qalqonlariga qaraganda ancha yuqori (ayniqsa, tasvirlarni uzatish uchun qulay). GPS modulining mavjudligi qo'shimcha afzallik.

Internet orqali ma'lumotlarni (fotosuratlarni) uzatish uchun uyali aloqa operatoridan arzon tarifni tanladim. Ammo savol tug'ildi: ma'lumotlarni qanday o'tkazish kerak? MMS? FTP? Ma'lumot olish to'g'risida qanday xabar olish mumkin (rasm)? Natijada, men mobil telefonga o'rnatilgan ilova orqali ma'lumotlarni (fotosuratlarni) elektron pochtaga yuborish va xatlarni ko'rish qaroriga keldim. Bu juda qulay bo'lib chiqdi!:-) Tayyor loyihani ushbu havola orqali ko'rish mumkin.

Arduino UNO uchun ham shunga o'xshash loyiha mavjud.

Keyin men qurilmamning imkoniyatlarini kengaytirishga qaror qildim. Masalan, LEDlarni boshqarish qobiliyatini qo'shing (aslida imkoniyatlar ancha kengroq). Buning uchun elektron pochta juda mos emas. SMS opsiyasi qimmat va noqulay. Va keyin MQTT haqida bilib oldim. Men uning nima ekanligini tasvirlab bermayman. Rostini aytsam, bu juda zo'r narsa!:-) MQTT yordamida siz nafaqat xabarlar, balki ikkilik fayllar (rasmlar) bilan almashishingiz mumkin. Telefon uchun ilovada siz osongina o'z interfeysingizni yaratishingiz mumkin.

Men 3G/GPRS/GSM/GPS qalqoni (SIM5320) uchun MQTT protokoli bajarilishining misollarini izladim va afsuski, menga kerakli dastur topilmadi. Lekin bu meni yolg'iz qoldirmadi. Men kerakli funktsiyani mustaqil ravishda bajarishga qaror qildim. Natijada, men mobil telefonga o'rnatilgan ilovadan MQTT orqali boshqariladigan (uchta LED bilan ko'rsatilgan) qurilmani yaratishga muvaffaq bo'ldim, shuningdek telefondan buyruq bilan telefonga rasm yuboraman. (Men sizga sirni aytamanki, men MQTT brokeri orqali rasm yuborish misollarini ko'rmaganman va buni birinchi marta qilganman. Va birinchi rasmni uzatishga muvaffaq bo'lganimda men juda xursand bo'ldim!:-)) Va Shunday qilib, men birinchi bosqichga - kerakli komponentlar ro'yxatiga o'tishni taklif qilaman.

1 -qadam: Komponentlar ro'yxati

Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati

Bizga quyidagi komponentlar kerak:

1) Arduino M0-SD bilan mos keladi.

2) TCL kamerasi VC0706.

3) Arduino uchun 3G/GPRS/GSM/GPS qalqoni.

4) Qizil, yashil, sariq LEDlar, 3 rezistor (100-500 Ohm), simlar, 2,54 mm balandlikdagi pin burchakli ulagich.

5) AC-DC quvvat adapteri (6V 1A), 3G antenna va boshqalar.

2 -qadam: kamerani tayyorlash

Kamera tayyorlash
Kamera tayyorlash
Kamera tayyorlash
Kamera tayyorlash
Kamera tayyorlash
Kamera tayyorlash

Kamera kompyuterga to'g'ridan-to'g'ri ulanish uchun RS-232 chiqishiga ega. MAX232 (RS-232 konvertori) ni olib tashlash va 7-10 (TX), 8-9 (RX) mos keladigan pinlar orasidagi aloqa joylarini yopish kerak.

Kamera bilan birga kelgan olti simli kabelni biroz o'zgartirish kerak:

  • Ulagichdan ikkita simni ajratib oling.
  • Qizil (+ 5V) va qora (GND) simlarni rasmda ko'rsatilgandek o'zgartiring.

Yalang'och uchlarida "ayol" kabi uchlari lehimlangan bo'lishi kerak.

3-qadam: Arduino M0-SD-ga mos kelishini tayyorlash

Mos Arduino M0-SD-ni tayyorlash
Mos Arduino M0-SD-ni tayyorlash
Mos Arduino M0-SD-ni tayyorlash
Mos Arduino M0-SD-ni tayyorlash
Mos Arduino M0-SD-ni tayyorlash
Mos Arduino M0-SD-ni tayyorlash

Yuqorida aytib o'tilganidek, mos keladigan Arduino M0-SD-bu asl Arduino M0 bilan mos keladigan apparat va dasturiy ta'minot, lekin xotira kartasini ulash uchun bortda microSD ulagichi ham mavjud.

Kamerani bortdagi mos keladigan Arduino M0-SD ga ulash uchun, rasmda ko'rsatilgandek, burchakli ulagichni TXD, RXD (X6 ulagichi) terminallariga lehimlash kerak. Bu port "Serial" ga mos keladi.

Kameradagi oq (Camera RX) va sariq (Camera TX) simlar rasmda ko'rsatilgandek TXD va RXD (ulagichi X6) terminallariga mos ravishda ulangan bo'lishi kerak.

4 -qadam: 3G/GPRS/GSM/GPS qalqoni SIM5320 ni tayyorlash

3G/GPRS/GSM/GPS qalqoni SIM5320 ni tayyorlash
3G/GPRS/GSM/GPS qalqoni SIM5320 ni tayyorlash
3G/GPRS/GSM/GPS qalqoni SIM5320 ni tayyorlash
3G/GPRS/GSM/GPS qalqoni SIM5320 ni tayyorlash
3G/GPRS/GSM/GPS qalqoni SIM5320 ni tayyorlash
3G/GPRS/GSM/GPS qalqoni SIM5320 ni tayyorlash

SIM -kartani uyaga o'rnatishdan oldin siz PIN -kod so'rovini o'chirib qo'yishingiz kerak. Keyin SIM kartani rasmda ko'rsatilgandek taxtaning pastki qismidagi uyaga o'rnating, ikkita o'tish moslamasini RX-1 (D1), TX-0 (D0) holatiga o'rnatish kerak.

5 -qadam: Uskuna yig'ish

Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish

Uskunani yig'ish bir necha oddiy operatsiyalardan iborat:

  • LEDlarni boshqarish uchun siz avval rasmda ko'rsatilgandek kichik o'lchamdagi LED va oqim cheklovli rezistorlarni (100-500 Ohm) lehimlashingiz kerak. LEDlarning polaritesiga e'tibor bering - anod rezistorlarga lehimlanishi kerak (+). LEDlarning parazitar ta'sirini kamaytirish uchun men oddiy kartondan qora ekran yasadim.
  • LED va kamerani diagrammada ko'rsatilganidek mos keladigan Arduino M0-SD kartasiga ulang. Kameraning quvvat manbai (qizil sim "+ 5V" va qora sim "GND") "+ 5V" va uyadan "GND" terminallaridan olinishi kerak. Buning uchun burchakli ulagichdan ham foydalanishingiz mumkin.
  • Shundan so'ng, 3G/GPRS/GSM/GPS ekranini mos keladigan Arduino M0-SD kartasiga ulang. 3G antennasini ulashni unutmang.

6 -qadam: MQTT brokerini sozlash

MQTT brokerini sozlash
MQTT brokerini sozlash
MQTT brokerini sozlash
MQTT brokerini sozlash
MQTT brokerini sozlash
MQTT brokerini sozlash

Men MQTT brokeri sifatida juda qulay va tushunarli www.cloudmqtt.com saytini tanladim. Bu bepul testlarni taqdim etadi. Xabarlarni to'g'ridan -to'g'ri saytda olish va yuborish ham mumkin.

O'rnatish tartibi quyidagicha:

  1. Onlayn ro'yxatdan o'ting.
  2. "Yangi misol yaratish" tugmasini bosing.
  3. Ismni o'rnating, masalan "MqttCamera".
  4. "Hududni tanlash" tugmasini bosing. Masalan, "US-East-1 (Shimoliy Virjiniya)" -ni tanlang.
  5. "Ko'rib chiqish" tugmachasini bosing.
  6. "Namuna yaratish" tugmachasini bosing. "Namuna muvaffaqiyatli yaratildi" xabarini ko'ring.
  7. "MqttCamera" ni bosing.
  8. Ma'lumotni eslab qoling: Server, foydalanuvchi, parol, port, API kaliti (bizga 7 va 8 -qadamlarda kerak bo'ladi).
  9. Keyin siz "WEBSOCKET UI" oynasiga o'tishingiz mumkin, u erda siz xabarlarni sinab ko'rishingiz va disk raskadrovka qilishingiz, ko'rishingiz va yuborishingiz mumkin (keyingi oynada bizga bu oyna kerak bo'ladi).

7 -qadam: MQTT Dash ilovasi

MQTT Dash ilovasi
MQTT Dash ilovasi
MQTT Dash ilovasi
MQTT Dash ilovasi
MQTT Dash ilovasi
MQTT Dash ilovasi

Mobil telefonda boshqaruv panelini yaratish uchun men juda qulay va tushunarli MQTT Dash dasturini tanladim.

Telefoningizga MQTT Dash ilovasini o'rnating va quyidagi sozlamalarni o'rnating:

  1. Ilovani oching.
  2. MQTT paneli oynasida, yangi boshqaruv panelini qo'shish uchun (+) tugmasini bosing.
  3. Ko'rsatilgan oynada kerakli maydonlarni to'ldiring, masalan: Ism (masalan, MqttCamera), Manzil, Port, Foydalanuvchi nomi, Foydalanuvchi paroli (Ma'lumotni 6 -qadamdan oling).
  4. Maydonlarni to'ldirgandan so'ng, disk belgisini bosing ("Saqlash" operatsiyasi).
  5. Boshqaruv paneli ro'yxati bo'lgan oynada paydo bo'lgan "MqttCamera" qatorini bosing.
  6. Ochilgan boshqaruv paneli oynasida ko'rsatkichlarni yuklash uchun o'q belgisini bosing.
  7. Keyin ochilgan oynada "OBUNA BO'LING VA METRIKANI KUTING" tugmasini bosing.
  8. Shaxsiy kompyuterda MQTT-brokerda hisob oching (oldingi bosqichga qarang), "WEBSOCKET UI" oynasini oching, "Xabar yuborish" oynasida "o'lchovlar/almashish" mavzusini o'rnating va matnni yozib oling. metrics.txt faylini "Xabar" oynasida biriktiring, "Yuborish" tugmasini bosing.
  9. 10 soniya kuting, telefonda metrikaning qabul qilinganiga va boshqaruv paneli yangilanganligiga ishonch hosil qiling.

Keyin siz mos keladigan Arduino M0-SD-ni dasturlashga o'tishingiz mumkin.

8 -qadam: Dasturlash va ishlash

Dasturlash va ish
Dasturlash va ish
Dasturlash va ish
Dasturlash va ish
Dasturlash va ish
Dasturlash va ish
Dasturlash va ish
Dasturlash va ish

Mos keladigan Arduino M0-SD ni dasturlashdan oldin, men quyida keltirgan barcha kerakli kutubxonalarni (pubsubclient-master, TinyGSM-master) kompyuterga o'rnatish kerak. Bu kutubxonalar mos keladigan Arduino M0-SD kartasi, VC0706 kamerasi va 3G/GPRS/GSM/GPS SIM5320 qalqoni bilan ishlash uchun biroz o'zgartirilgan.

Siz kabel va quvvat manbaini (3G/GPRS/GSM/GPS ekranini quvvatlantirish uchun 6V 1A) mos keladigan Arduino M0-SD ga ulashingiz kerak.

Arduino IDE -ni ishga tushiring. Arduino-da IDE-ni tanlash kerak: Asboblar-> Kengash: Arduino M0 Pro (Native USB port).

MqttCamera.ino eskizini oching. Maydonlarni to'ldiring: foydalanuvchi nomi, foydalanuvchi paroli, API kaliti, port, server (ma'lumotlarni 6 -qadamdan oling).

Serial monitor oynasini oching.

Eskizni yuklash. Men dasturlash tartibini batafsil bayon qilmayman (Internetda ko'rsatmalar etarli).

Muvaffaqiyatli yuklash va to'g'ri yig'ishdan so'ng, ketma -ket monitor oynasida quyidagi ma'lumotlar ko'rsatilishi kerak:

VC0706 kamera + Arduino M0 + SIM5320 + MQTT

Kamera boshlang'ichi … versiya: ---------------- VC0703 1.00 Ctrl infr mavjud Foydalanuvchi tomonidan aniqlangan sensor 525 ----------------- muvaffaqiyat ! Modem ishga tushirilmoqda… Modem: AT+CGMM SIMCOM_SIM5320E Tarmoq kutilmoqda… OK Internetga ulanish OK 3.83.68.228 raqamiga ulanish muvaffaqiyatsiz 3.83.68.228 ga ulanish OK Ping: 0

"Ping: XX" qatori mos keladigan Arduino M0-SD-dan serverga vaqti-vaqti bilan xabar keladi. Ushbu ma'lumot o'rniga siz ADC o'lchovlarini, kirish holatini va boshqalarni yuborishingiz mumkin.

MQTT Dash ilovasida lampochkaning belgisini bosing (LED_YELLOW, LED_GREEN, LED_RED) - yoqish/o'chirish. Serial monitor oynasiga qarang - shunga o'xshash narsa bo'lishi kerak:

LED_YELLOW yoqilgan

LED_YELLOW_Off LED_GREEN On LED_GREEN off LED_RED On LED_RED Off

Kamera belgisini bosing - "SHOOT" buyrug'ini yuboring va biroz kuting. Serial monitor oynasida quyidagi ma'lumotlar ko'rsatilishi kerak:

Otishni boshlang!

Rasm olingan! IMAGE332.jpg yaratish 3488 baytli tasvirni olishni kuting … Bajarildi! 1456 milodiy rasm yuborildi (3488 bayt) … tayyor!

Va bir muncha vaqt o'tgach (5-10 soniya) "Rasmni ko'rish" oynasida rasm ko'rsatilishi kerak.

Namoyish uchun men VC0706 kamerasini LEDlarga yo'naltirdim, shunda men ularni o'zboshimchalik bilan o'zgartirgandan so'ng siz ularning holatini ko'rishingiz mumkin. Lekin haqiqiy foydalanish paytida siz kamerani xonaga, eshikka, ko'chaga, darvozaga, mashinaga va boshqalarga yo'naltirishingiz mumkin (Albatta, siz qonun talablarini inobatga olishingiz kerak). Namoyish sifatida men bir nechta ekran tasvirlarini ko'rsataman. LEDlarning o'rnatilgan va haqiqiy holatlari ko'rsatiladigan mobil telefon.

Umid qilamanki, mening ko'rsatmalarim siz uchun qiziqarli va foydali bo'ldi. Fikr va mulohazalaringizdan xursand bo'laman. Men o'z qurilmamni ishlab chiqish va siz bilan yangi yangiliklarni bo'lishish rejalarida. Ko'rganingiz uchun tashakkur!

Tavsiya: