Mundarija:

IDC2018IOT menga ACni qachon o'chirish kerakligini ayting: 7 qadam
IDC2018IOT menga ACni qachon o'chirish kerakligini ayting: 7 qadam

Video: IDC2018IOT menga ACni qachon o'chirish kerakligini ayting: 7 qadam

Video: IDC2018IOT menga ACni qachon o'chirish kerakligini ayting: 7 qadam
Video: Java Tech Talk: Telegram бот на java за 1 час 2024, Iyul
Anonim
Image
Image

Ko'pchiligimiz, ayniqsa yozda, ACdan uzluksiz foydalanamiz, aslida kunning ma'lum vaqtlarida biz shunchaki derazani ochib, shabada esib turamiz. Bundan tashqari, biz shaxsan payqadikki, ba'zida hatto xonadan chiqayotganda elektr energiyasini va pulni isrof qilib, ACni o'chirishni unutamiz.

Biz tuzadigan yechim ichki haroratni tashqi harorat bilan taqqoslaydi va ular etarlicha yaqin bo'lganda, bizga Facebook Messanger orqali deraza ochish va ACga dam berish vaqti kelgani haqida xabar beradi.

Shuningdek, biz ACni unutib, xonadan chiqib ketganimizda bizga xabar berishning boshqa mexanizmini yaratamiz.

1 -qadam: Bir oz ko'proq tafsilotlar

Biz 4 xil sensordan ma'lumotlarni yig'amiz:

  • Ikki DHT sensori uy ichidagi va tashqarisidagi haroratni yig'adi.
  • Bitta PIR sensori xona ichidagi harakatni aniqlaydi.
  • Bitta Electret mikrofoni AC shamollatgichidan chiqayotgan shamolni aniqlash uchun ishlatiladi, bu o'zgaruvchan tokning yoqilganligini aniqlashning oddiy va ishonchli usuli.

Sensorlardan keladigan ma'lumotlar qayta ishlanadi va Blynk -ga yuboriladi, u erda biz yaratadigan interfeysda ko'rsatiladi. Shuningdek, biz IFTTT tadbirlarini ishga tushiramiz, u foydalanuvchiga AC o'rniga oynani ochishi mumkinligi va ACni unutib qo'ygani va oldindan belgilangan vaqt davomida xonani tark etgani haqida xabar beradi.

Blynk interfeysi, shuningdek, foydalanuvchi sozlamalariga muvofiq tegishli sozlamalarni o'zgartirish imkoniyatini beradi, chunki biz keyinroq batafsilroq muhokama qilamiz.

Kerakli qismlar:

  1. WiFi moduli - ESP8266
  2. PIR sensori.
  3. DHT11/DHT22 harorat sensori x2.
  4. 10k/4.7k rezistorlar (DHT11 - 4.7k, DHT22 - 10k, PIR - 10k).
  5. Elektret mikrofon.
  6. Jumperlar.
  7. Uzoq kabellar (Telefon simlari yaxshi ish qiladi).

Loyihaning to'liq kodi oxirida kodga izohlar bilan ilova qilinadi.

Mantiqan, u bir necha xil funktsional qatlamlarga ega:

  • Datchiklar ma'lumotlari 3 soniya oralig'ida o'qiladi, chunki bu aniqroq va bundan ortig'iga hojat yo'q.
  • Kodning bir qismi o'zgaruvchan tokning ochilish joyiga o'rnatilgan elektret mikrofonidan keladigan qiymatlar orqali o'zgaruvchan tok holatini kuzatib borishdir.
  • Yana bir qism - bu harorat sensorlaridagi o'qishni va o'zgaruvchan tokni aylantirish va uning o'rniga oynani ochishdagi farqni kuzatish. Biz harorat etarlicha yaqinlashadigan paytni qidiramiz.
  • Uchinchi qism - bu xonadagi harakatni kuzatib borish. Agar u foydalanuvchi tomonidan belgilangan vaqt oralig'ida hech qanday katta harakatni aniqlamasa (tezlik bilan tekshirish usuli tushuntiriladi) va AC holati ON bo'lsa, foydalanuvchiga xabar yuboriladi.
  • Bildirishnomalar foydalanuvchilarga Facebook Messenger orqali oldindan belgilangan xabarlarni yuboradigan IFTTT Webhooklarini ishga tushirish orqali amalga oshiriladi.
  • Shuni ta'kidlash kerakki, oxirgi qism - bu Blynk interfeysini boshqaruvchi, bu o'zgaruvchining o'zgaruvchisini o'zgartirishi yoki boshqa tomondan - ma'lumotlarni Blynk interfeysi orqali foydalanuvchi ko'rishi uchun.

2 -qadam: Ko'proq tafsilotlarda - Sensorlar

Ko'proq tafsilotlar - sensorlar
Ko'proq tafsilotlar - sensorlar
Ko'proq tafsilotlar - sensorlar
Ko'proq tafsilotlar - sensorlar

Boshlaylik.

Birinchidan, biz har ikkala DHT sensori bir joyda joylashganda bir xil haroratni o'qishiga ishonch hosil qilishimiz kerak. Buning uchun biz ushbu bo'lim oxirida biriktirilgan oddiy eskizni tuzdik (CompareSensors.ino). Ikkala datchikni ham ulang va eskizdagi DHT sensorlarining turini siznikiga mos ravishda o'zgartirganingizga ishonch hosil qiling (sukut bo'yicha bitta DHT11 va bitta DHT22, shuning uchun kodda ikkalasi qanday ishlashini ko'rishingiz mumkin). Seriyali monitorni oching va ularni bir muddat ishlashiga ruxsat bering, ayniqsa, agar siz DHT11 datchiklaridan foydalansangiz, ular harorat o'zgarishiga moslashish uchun ko'proq vaqt talab qiladi.

Datchiklar orasidagi farqga e'tibor bering va uni keyinroq "ofset" o'zgaruvchisidagi asosiy kodga kiriting.

Sensorlarning joylashishi:

Uyning tashqi devoriga bitta DHT sensori joylashtirilishi kerak, shuning uchun uni ESP8266 ga kiradigan uzunlikdagi uzun kabellarga ulang va uni tashqariga qo'ying (derazadan osongina o'tish mumkin). Boshqa DHT sensori, biz AC ishlatadigan xonaning ichida, taxtaga joylashtirilishi kerak.

Elektret mikrofoni, shuningdek, etarlicha uzun kabellarga ulanishi va o'zgaruvchan tokdan chiqadigan shamol unga tegishi kerak.

Nihoyat, PIR sensori xonaning markaziga qaragan joyga joylashtirilishi kerak, shunda u xonadagi har bir harakatni ushlab turadi. E'tibor bering, datchikda ikkita kichik tugma bor, ulardan biri kechikishni boshqaradi (harakatni aniqlashning YUQORI signali qancha vaqt yuqori saqlanadi), ikkinchisi esa sezuvchanlikni boshqaradi (rasmga qarang).

Sizga ma'qul bo'lgan o'qishni olmaguningizcha, u bilan o'ynashingiz kerak bo'lishi mumkin. Biz uchun eng yaxshi natija - chap tomonga kechikish (eng past qiymat) va sezgirlik o'rtada. Kod ketma -ket chop etishni ta'minlaydi, ular barcha sensorlarning o'qilishini o'z ichiga oladi, bu esa bunday muammolarni tuzatishni ancha osonlashtiradi.

Sensorlarni ulash:

Biz ishlatgan pin raqamlari quyidagicha (va ularni asosiy kodda o'zgartirish mumkin):

DHT sensori tashqarisida - D2.

DHT sensori ichida - D3.

Elektret - A0 (analog pin).

PIR - D5.

Ularning har birini ulash sxemalarini google tasvir qidiruvi yordamida "Arduino PIR qarshiligi sxemasi" chizig'i bo'yicha osongina topish mumkin (biz ularni bu erdan nusxalashni va mualliflik huquqi chizig'ini kesib o'tishni xohlamaymiz:)).

Biz, shuningdek, non paneli tasvirini biriktirdik, ulanishlarni kuzatib borish qiyin bo'lishi mumkin, lekin bu unga yaxshi taassurot qoldirishi mumkin.

Siz bilganingizdek, agar biz ularni birinchi marta ulaganimizda ham kamdan -kam hollarda. Shuning uchun biz sensorlardan o'qishni oson o'qiladigan tarzda bosib chiqaradigan funktsiyani yaratdik, shunda siz ularning ishlash yo'lini tuzatishingiz mumkin. Agar siz disk raskadrovka paytida kod Blynk -ga ulanishni xohlamasangiz, "Blynk.begin (auth, ssid, pass);" deb izoh bering. Kodni sozlash qismidan uni ishga tushiring va bosma nashrlarni ko'rish uchun ketma -ket monitorni oching. Shuningdek, biz bosma rasmlarni biriktirdik.

3 -qadam: Ko'proq tafsilotlarda - IFTTT ketma -ketligi

Ko'proq tafsilotlarda - IFTTT ketma -ketligi
Ko'proq tafsilotlarda - IFTTT ketma -ketligi

Shunday qilib, biz ikkita stsenariy bo'yicha xabardor bo'lishni xohlaymiz:

1. Tashqi harorat bizda o'zgaruvchan tok bilan ishlaydigan haroratga etarlicha yaqin.

2. Biz xonani uzoq vaqt tark etdik va AC hali ham ishlamoqda.

IFTTT bizga har xil xizmatlarni ulashga imkon beradi, ular odatda o'zaro ta'sir qilmaydi. Bizning holatda, bu bizga ko'plab xizmatlar orqali bildirishnomalarni osongina yuborish imkonini beradi. Biz Facebook Messanger -ni tanladik, lekin uni Facebook Messanger bilan ishlashga kirgandan so'ng, siz uni xohlagan xizmatingizga osongina o'zgartirishingiz mumkin.

Jarayon:

IFTTT veb -saytida foydalanuvchi nomingizni (o'ng yuqori burchakda) bosing va "Yangi Applet" ni ishga tushirish uchun "Webhooks" -ni tanlang ("bu") va "Veb -so'rovni qabul qilish" -ni tanlang. Voqea nomini o'rnating (masalan, bo'sh_xona).

Tugatilgan xizmat uchun harakat ("bu") uchun Facebook Messenger> Xabar yuborish -ni tanlang va bu voqea sodir bo'lganda qabul qilmoqchi bo'lgan xabarni kiriting (masalan, "Salom, siz ACni unutganga o'xshaysiz: ).

Biz bu erda bo'lganimizda, siz maxfiy kalitingizni topishingiz kerak, uni kodning tegishli joyiga kiritishingiz kerak bo'ladi.

Maxfiy kalitni topish uchun https://ifttt.com/services/maker_webhooks/settings saytiga kiring. U erda siz kalit bilan URLni quyidagi formatda topasiz:

4 -qadam: Ko'proq tafsilotlarda - Blynk

Image
Image
Ko'proq tafsilotlarda - Blynk
Ko'proq tafsilotlarda - Blynk
Ko'proq tafsilotlarda - Blynk
Ko'proq tafsilotlarda - Blynk

Shuningdek, biz quyidagi xususiyatlarga ega bo'lgan interfeysni xohlaymiz:

1. Xabar berishdan oldin, AC o'zgarishi bilan xona qancha vaqt bo'sh bo'lishi kerakligini belgilash imkoniyati

2. Tashqi harorat ichkariga qanchalik yaqin bo'lishi kerakligini tanlash imkoniyati.

3. Harorat sensorlaridagi ko'rsatkichlar uchun displey

4. LED bizga AC holatini (yoqish/o'chirish) aytib beradi.

5. Va eng muhimi, qancha $$$ va energiya tejaganimizni ko'rsatadigan displey.

Blynk interfeysini qanday yaratish mumkin:

Agar sizda hali Blynk ilovasi bo'lmasa, uni telefoningizga yuklab oling. Ilovani ochganingizda va yangi loyihani yaratganingizda, mos qurilmani (masalan, ESP8266) tanlaganingizga ishonch hosil qiling.

Siz autentifikatsiya tokeniga ega bo'lgan elektron pochta xabarini olasiz, uni kodga kerakli joyga kiritasiz (agar uni yo'qotib qo'ysangiz, uni keyinroq sozlamalardan qayta yuborishingiz mumkin).

Yangi vidjetlarni ekranga qo'ying, yuqoridagi + belgisini bosing. Vidjetlarni tanlang va sozlamalarini kiritish uchun vidjetni bosing. Ma'lumot uchun biz foydalangan barcha vidjetlar uchun sozlamalar rasmlarini qo'shdik.

Ilovani tugatgandan so'ng va uni ishlatmoqchi bo'lganingizda, Blynk dasturini ishga tushirish uchun o'ng yuqori burchakdagi "o'ynash" belgisini bosing. ESP8266 qachon ulanganligini ham ko'rishingiz mumkin.

Eslatma - "yangilash" tugmasi bizni ilovada ko'rish uchun AC harorati va holatini olish uchun ishlatiladi. Sozlamalarni o'zgartirganda (masalan, harorat farqi) talab qilinmaydi, chunki ular avtomatik ravishda bosiladi.

5 -qadam: Kod

Biz kodning har bir qismini iloji boricha tushunarli qilib hujjatlashtirish uchun ko'p harakat qildik.

Kodni ishlatishdan oldin o'zgartirish kerak bo'lgan qismlar (Blynk uchun autentifikatsiya kaliti, Wi -Fi SSID va parolingiz va boshqalar …), keyin ularni izlash uchun //* o'zgartirish* izohi qo'yiladi.

Siz kutubxonalarni kodda ishlatishingiz kerak bo'ladi, ularni Arduino IDE orqali Sketch> Kutubxonalarni qo'shish> Kutubxonalarni boshqarish -ni bosish orqali o'rnatishingiz mumkin. U erda siz kutubxona nomini qidirib topishingiz mumkin. Bundan tashqari, generic8266_ifttt.h faylini ACsaver.ino bilan bir xil joyga qo'yganingizga ishonch hosil qiling.

Kodning bir qismini biz bu erda tushuntiramiz, chunki biz kodni chalkashtirib yubormoqchi emasmiz, qachon biz AC holatini yoqish va o'chirish, xonaning holatini bo'shdan bo'sh holatga o'zgartirish to'g'risida qaror qabul qilamiz.

Biz sensorlardan har 3 soniyada o'qiymiz, lekin sensorlar 100% aniq bo'lmaganligi sababli, biz o'qigan xonadagi holatni o'zgartirishni xohlamaymiz. Buni hal qilish uchun, kod nima qiladi, bizda "AC yoqilgan" foydasiga o'qish olganda ++ hisoblagichimiz bor, aks holda. Keyin, biz SWITCHAFTER -da belgilangan qiymatga yetganimizda (standart 4), biz holatni "AC yoqilgan" ga o'zgartiramiz, -SWITCHAFTER (manfiy bir xil qiymat) ga o'tganda, biz "AC o'chirilgan" holatini o'zgartiramiz. ".

O'tish vaqtiga ta'siri ahamiyatsiz va biz buni faqat to'g'ri o'zgarishlarni aniqlashda juda ishonchli deb bilamiz.

6 -qadam: Hammasini bir joyga to'plash

OK, shuning uchun barcha sensorlar joyida va to'g'ri ishlamoqda. Blynk interfeysi o'rnatildi (to'g'ri virtual pinlar bilan!). Va IFTTT voqealari bizning tetikni kutmoqda.

Siz IFTTT maxfiy kalitini kodga, Blynk avtorizatsiya kalitini, Wi -Fi tarmog'ingizning SSID kodini va parolni kiritdingiz va hatto DHT datchiklari sozlanganligini tekshirdingiz va agar bo'lmasa, mos ravishda ofsetni o'zgartirdingiz (masalan, bizning DHT tashqarisida u bo'lishi kerak bo'lgan haroratni 1 daraja Selsiy bo'yicha o'qiydi, shuning uchun biz ofset = -1 ni ishlatardik.

Wi -Fi yoqilganligiga ishonch hosil qiling, Blynk ilovasini ishga tushiring va kodni ESP8266 -ga yuklang.

Bo'ldi shu. Agar hamma narsa to'g'ri bajarilgan bo'lsa, siz hozir o'ynab, uni amalda ko'rishingiz mumkin.

Va agar siz buni hammasini yig'ish muammosiz amalda ko'rishni xohlasangiz … Xo'sh … Yuqoriga o'ting va videoni tomosha qiling. (Subtitr bilan tomosha qiling! Ovozsiz)

7 -qadam: fikrlar

Bu erda biz ikkita asosiy qiyinchilikni boshdan kechirdik.

Birinchidan, AC o'zgarishini qaerdan bilamiz? Biz AC va masofadan boshqarish pulti o'rtasidagi aloqani "tinglaydigan" IR qabul qiluvchidan foydalanishga harakat qildik. Bu juda murakkab bo'lib tuyuldi, chunki ma'lumotlar juda chalkash edi va "OK, bu ON signal" ni tushunish uchun etarli darajada mos kelmadi. Shunday qilib, biz boshqa yo'llarni izladik. Bir fikr, o'zgaruvchan tokning shamolidan harakatlanayotganda kichik tokni ishlab chiqaradigan kichik pervanelni ishlatish edi, biz harakat qilgan yana bir g'oya - shamollatgichlar ustidagi aylanadigan qanotlarning burchagini akselerometr yordamida o'lchash va ularning o'chirilgan holatidan harakatini aniqlash edi.

Oxir -oqibat, biz buni amalga oshirishning eng oddiy usulini, o'zgaruvchan tokdan chiqayotgan shamolni ishonchli tarzda aniqlaydigan elektret mikrofon yordamida amalga oshirdik.

DHT datchiklarini ishga tushirish salgina edi;), lekin keyinroq biz ulardan biri haqiqiy haroratdan biroz uzoqda ekanligini angladik. PIR sensori, yuqorida aytib o'tilganidek, ba'zi sozlashlarni ham talab qildi.

Ikkinchi muammo - bu butun echimni sodda va ishonchli qilish edi. Qaysidir ma'noda, uni ishlatish zerikarli bo'lishi kerak, kerak bo'lganda u erda bo'lishi kerak. Aks holda, biz o'zimiz undan foydalanishni to'xtatgan bo'lardik.

Shunday qilib, biz Blynk interfeysida nima bo'lishi kerakligi haqida o'ylab ko'rdik va kodni iloji boricha ishonchli qilishga harakat qildik.

Bu ko'rsatma yozilgunga qadar biz hal qila olmagan yana bir qiyinchilik, Blynk interfeysidan ACni o'chirishga imkon beradigan infraqizil portlovchi qurilmani qo'shish edi. O'chirish imkoniyatisiz ACni unutganingizni bilishning nima keragi bor? (yaxshi … siz uyda kimligini so'rashingiz mumkin).

Afsuski, biz masofadan boshqarish pultidan, ESP8266 yordamida ACga qaytgan signallarni takrorlashda qiyinchiliklarga duch keldik. Biz ACni Arduino Uno tomonidan boshqarishga muvaffaq bo'ldik, buning uchun:

www.instructables.com/id/How-to-control-th…

Biz tez orada yana urinib ko'ramiz va ko'rsatmalarni o'z topilmalarimiz bilan yangilaymiz va umid qilamanki, bu imkoniyatni qanday qo'shish kerak.

Biz ko'rgan yana bir cheklov - bu sensorni derazadan tashqariga ulashimiz kerak, bu ba'zi holatlarda imkonsiz bo'lishi mumkin, shuningdek tashqariga chiqish uchun uzun kabel kerak bo'ladi. Yechim sizning joylashuvingiz haqidagi ob -havo ma'lumotlarini Internetdan olish bo'lishi mumkin. Bundan tashqari, ACdan ishlaydigan elektret sensori IK kodlari ma'lum bo'lgan yoki dekodlanishi oson bo'lgan AC modellari uchun biz yuqorida ta'riflagan IQ qabul qilgich bilan almashtirilishi mumkin.

Loyihani ko'p jihatdan uzaytirish mumkin. Yuqorida aytib o'tganimizdek, biz ACni IR orqali boshqarishni o'z ichiga oladigan yo'lni topishga harakat qilamiz, bu esa dunyoning istalgan joyidan ACni yoqish va o'chirish uchun yangi imkoniyatlar dunyosini ochadi, yoki Blynk orqali vaqtni yoqish va o'chirish. boshqa misol sifatida ilova. Texnik infraqizil qiyinchiliklarni aniqlagandan so'ng, kodni qo'shish juda oddiy va tushunarli, va ko'p vaqt talab qilinmaydi.

Agar biz haqiqatan ham katta orzu qilmoqchi bo'lsak … Loyihani har qanday o'zgaruvchan tokni aqlli AC ga aylantiradigan to'liq modulga aylantirish mumkin. Va bizdan ko'ra ko'proq narsani talab qilmaydi. Ko'proq kod, IRdan ko'proq foydalanish va agar biz uni ommaviy ishlab chiqarishni xohlasak, ehtimol ob -havo ma'lumotlarini joylashuvi bo'yicha olib keling, shunda biz hamma narsani kichkina qutiga joylashtiramiz.

Haqiqatan ham, bizga ichki harorat uchun harorat sensori, harakatni aniqlash uchun PIR sensori, blaster sifatida IQ LED va IQ qabul qilgich AC va masofadan boshqarish pulti o'rtasidagi aloqani "tinglash" kerak.

Blynk sehrli qutini boshqarish uchun zarur bo'lgan barcha imkoniyatlarni juda sodda va ishonchli tarzda taqdim etadi.

Bunday to'liq loyihani yaratish biroz vaqt talab etadi, ayniqsa, uni konfiguratsiya qilish va ko'pgina AC -larni avtomatik ravishda aniqlash va tushunish uchun ko'p qirrali qilish.

Ammo buni o'zingiz qilishingiz uchun, agar siz buni bo'sh vaqtingizda qilsangiz, taxminan bir yoki ikki haftadan oshmasligi kerak. Bo'sh vaqtingiz qanchalik ko'pligiga bog'liq … Bu erda asosiy vazifa - masofadan boshqarish pulti yuborishi mumkin bo'lgan har xil signallarni saqlash va ularni to'g'ri tushunish. (Garchi ularni qayta ijro etish ham osonroq bo'lishi kerak).

Tavsiya: