Mundarija:
- 1 -qadam: Uskuna va protokollar kerak
- 2 -qadam: Mikrofon va PIR sensorini ulang
- 3 -qadam: Zapier -da ish oqimini yarating
- 4 -qadam: Google skriptlari
- 5 -qadam: oqimni Arduino kodi bilan ulang
- 6 -qadam: ko'rib chiqish, xulosalar va kelajak miqyosi
Video: IDC2018IOT: Uchrashuv zali Snitcher: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
MUAMMO
Biz bilganimizdek, so'nggi bir necha yil mobaynida birgalikdagi ish joylari tendentsiyasi tezlashib bormoqda, shu bilan birga sizning ehtiyojlaringizga mos keladigan maxsus ish joyini tanlashni aniqlaydi.
Taklif qilinadigan asosiy xususiyatlardan biri-bu oddiy taqvim platformasi tomonidan boshqariladigan, birgalikda ishlaydigan xonalarga taklif qilinadigan umumiy yig'ilish xonalari.
Odamlar jadvali dinamik bo'lib qolganda, muammo yana paydo bo'ladi.
Kimdir kerak bo'lsa, vaqtni o'tkazib yubormoqchi emas deb o'ylab, xonani bron qilishi mumkin.
Agar kimdir bu vaqt oralig'ini oxirigacha ishlatmasa ham, u buni boshqalar uchun xabardor qilish va bekor qilishdan bezovta bo'lmaydi, chunki afsuski, bu inson tabiati.
Buni qanday hal qilamiz?
IoT texnologiyasidan foydalangan holda - belgilangan yig'ilish xonasida ovoz va harakatni tekshirib, biz har bir vaqt oralig'ida, xonani band qilib qo'yilganmi yoki yo'qmi, tekshiramiz:
1. Agar u bron qilinmagan bo'lsa, hech narsa qilmang.
2. Agar u bron qilingan bo'lsa, harakat yoki tovush aniqlanganligini tekshiring;
Agar mavjud bo'lsa, hech narsa qilmang.
Hech narsa aniqlanmagan bo'lsa, xonani bron qilgan foydalanuvchiga xona hali ham ishlatilmayaptimi, deb ogohlantiruvchi xabar yuboring (elektron pochta orqali). agar foydalanuvchi hali ham xonadan foydalanayotganligini e'lon qilmasa, xona holati "Mavjud" ga o'zgartiriladi.
* Bu erda biz o'z loyihamizni iloji boricha umumlashtirish uchun Google Taqvim bilan birlashtirdik.
1 -qadam: Uskuna va protokollar kerak
1. Biz NOSEMCU -dan foydalandik, shunda biz WIFI ulanishi yordamida narsalarni dinamik ravishda yangilab turardik.
2. Xonadagi shovqinni "o'qiydigan" mikrofon sensori.
3. Harakat mavjudligini tekshiradigan PIR sensori.
Dasturiy ta'minot va serverdan foydalanish uchun Arduino kodidan tashqari, biz tizimimizni onlayn qo'llab -quvvatlash uchun Google Script va Zapier -dan foydalanganmiz. Qo'shilgan rasmda (va PDF) oqimni ko'rishingiz mumkin.
Biz Zapier -dan ilovalarni ulash va ish jarayonlarimizni avtomatlashtirish uchun foydalanardik (IFTTT kabi) va biz Google Taqvim bilan bog'lanishimizga yordam berish uchun Google Script -dan foydalanganmiz. Biz yozgan ssenariy voqea yaratuvchisining elektron pochta xabarini ishlab chiqaradi, shuning uchun biz uni Zapierga yuborishimiz mumkin va foydalanuvchi tadbirni o'chirishdan oldin xonani ushlab turishni so'raganligini tekshiradi (Google Sheets -da ba'zi ma'lumotlarni saqlash orqali).
2 -qadam: Mikrofon va PIR sensorini ulang
Odamlar gaplashayotganda, NODEMCU mikrofoniga yuboriladigan o'rtacha qiymatlarni tekshirmoqchi edik (aniqki, har bir xonada turli xil fon tovushlari bor edi). Biz bir oz sinov o'tkazdik va o'rtacha shovqin darajasi biz ishlagan xona 50 dan yuqori ekanligini tushundik.
PIR sensori faqat HIGH yoki LOW qiymatlarini beradi, shuning uchun biz tekshirgan xonaga eng aniq sezuvchanlik darajasini tekshirdik. Bu ko'rsatma juda foydali bo'ldi.
ULANISHIMIZ:
PIR sensori: GND> GND, OUT> D7, VCC> VN (5V)
3 -qadam: Zapier -da ish oqimini yarating
Xona haqiqatan ham bo'sh yoki ishlatilmayotganligini bilish uchun (va foydalanuvchilar, masalan, tanaffusda), biz NodeMCU Zapier -ga Webhook -ni ishga tushirgandan so'ng, uni ta'minlaydigan oqim yaratmoqchimiz. xona bo'sh:
(1) TRIGGER - CATCH HOOKZapier Webhookni ushlaydi (NODEMCU tomonidan yuboriladi)
(2) ACTION - GETZapier voqea ma'lumotlarini olish uchun boshqa Webhook yuboradi;> U GoogleScript -ni chaqiradi (ishlaydi) - GetCurrentEmailEventID (keyingi bosqichda tushuntirish), hozirgi voqea ma'lumotlarini olish uchun - voqea nomi, voqea identifikatori, foydalanuvchi elektron pochtasi.
(3) FILTR - FAQAT DAVOM ETING
Keyingi bosqichga faqat taqvimda sodir bo'layotgan voqea (har qanday voqea) davom etsa (ROOM IS BUSY), aks holda xona bo'sh bo'lganida to'xtaydi.
(4) ACTION - GMAILZapier Gmail orqali xonani bron qilgan foydalanuvchiga elektron pochta xabarini yuboradi (bu ma'lumot 2 -bosqichda olingan)
(5) ACTION - DELAY FOR FOR Foydalanuvchiga elektron pochtaga javob berish uchun vaqt bering. - Agar foydalanuvchi havolani bossa: GoogleScript -ga qo'ng'iroq qiling (ishga tushiring) - ApproveCurrentEvent (Demak, xona "O'chirish uchun xonalar" ro'yxatidan o'chirilgan va xona hali band deb belgilangan.)
(6) ACTION - GET 5 daqiqadan so'ng, Zapier GoogleScript -ni chaqiradi (ishlaydi) - DeleteCurrentEvent- Agar foydalanuvchi havolani bosmagan bo'lsa
Xona identifikatori "O'chiriladigan xonalar" ro'yxatida ekanligini tekshiradi.
bu shunchaki hodisani olib tashlaydi.
4 -qadam: Google skriptlari
Biz butun tizimni birlashtirganimizda, GoogleScripts IDE -ning ahamiyatsiz tanlovi edi, shuning uchun biz tegishli Google kutubxonalaridan foydalandik. Xonalarni bron qilish platformasiga muvofiq o'zgaradi.
(1) GetCurrentEmailEventID
Webhook qo'ng'irog'i orqali ishlaydi.
Mumkin bo'lgan o'tkazib yuborishni bekor qilish uchun ma'lum ofsetdan foydalanish, joriy voqea ma'lumotlarini olish.
(2) ApproveCurrentEvent
Foydalanuvchi bosish orqali ishlaydi.
Agar foydalanuvchi xonaning hali ham ishlatilishini tasdiqlasa, "O'chirish uchun xonalar" dan voqea identifikatorini o'chirib tashlaydi. Biz Google varag'idan foydalandik, bu erda ro'yxatning boshqa har qanday shakli tegishli bo'lishi mumkin.
(3) DeleteCurrentEvent
Webhook qo'ng'irog'i orqali ishlaydi.
Ro'yxatdagi tegishli voqea identifikatorini qidiradi (Google varaqasi) va ushbu hodisani kalendardan o'chirib tashlaydi.
5 -qadam: oqimni Arduino kodi bilan ulang
Qo'shilgan kod bir necha qadam oldin biz tekshirgan sensorlarga onlayn tizimga ulanadi (bizning holatlarimizda Google taqvimi). U xonaning bandligini tekshiradi, agar bo'lmasa, HTTP so'rovini yuboradi (Webhook), u Zapier -da voqea so'rovini o'chirishni boshlaydi.
6 -qadam: ko'rib chiqish, xulosalar va kelajak miqyosi
Biz hal qilishimiz kerak bo'lgan asosiy muammo - yig'ilish xonasini bo'shatish to'g'risida qaror qabul qilishda barcha qiyinchiliklarni hal qilish. Biz har qanday vaziyatni hisobga olgan holda davlat mashinasini yaratishga majbur bo'ldik, shunda xato bo'lmaydi va xona kerak bo'lganda o'rnatiladi.
Misol uchun, agar xona hozir bo'lmagan guruh uchun ajratilgan bo'lsa (masalan, tanaffusda), lekin bunga hali ham muhtoj bo'lsa, NODEMCU xonaning bo'sh ekanligini aniqlaydi> MUAMMO.
Keyin, bizning qarorimiz, xonani bron qilgan foydalanuvchiga elektron pochta orqali xabar yuborish edi (buni tushunish oson emas edi), bu esa xonani ushlab turish imkoniyatini beradi.
Agar foydalanuvchi ma'lum vaqt ichida javob bermagan bo'lsa (biz uni 5 minut qilib qo'ydik, lekin uni osongina o'zgartirish mumkin), biz voqeani taqvimdan o'chirib tashlaymiz (va xonani bo'shatamiz).
Shunday qilib, biz oxir -oqibat barcha mumkin bo'lgan stsenariylarni ko'rib chiqishga va ishchi tizimni yaratishga muvaffaq bo'ldik.
BIZNING TIZIMIMIZGA CHIQARISHLARI:
1. Ishlatilgan sensorlar juda aniq va sezgir bo'lishi kerak.
2. Xona o'lchami sensorning radiusi/diapazoni bilan cheklangan.
3. Biz foydalanuvchining javob berishiga tayanishimiz kerak bo'ladi.
4. Bizning tizimimiz bir nechta platformalar (Google taqvimi, Gmail, Zapier va boshqalar) yordamida qurilgan va ular o'z xizmatlaridan foydalanishlari kerak bo'ladi.
5. Bu xizmatni bir nechta xonalarga o'lchash (butun tizimni takrorlash o'rniga) xona identifikatori bilan qo'shimcha ishlov berishni talab qiladi.
6. Tizim faqat avtomatik va xona bandini bekor qilish uchun qo'lda variant yo'q.
Kelajakdagi taraqqiyot:
Biz, albatta, tizimni ikki yo'l bilan kengaytiramiz:
1. Boshqa har qanday taqvim platformalari bilan ishlash qobiliyati (shuning uchun har qanday kosmik kompaniyalar undan foydalanishlari mumkin).
2. Bir nechta xonalarni, pollarni va saytlarni boshqarish qobiliyati.
Bizning fikrimizcha, bunday o'lchovni umumlashtirish, sinash va bir nechta xona (qavat va boshqalar) ni qo'shish uchun 2-3 oy kerak bo'ladi.
Bundan tashqari, cheksiz miqdordagi mablag 'va resurslardan foydalangan holda biz diapazonni, radiusni, datchiklar sonini va boshqalarni hisobga olgan holda, ularni kattaroq diapazonli yaxshiroq sensorlardan foydalangan bo'lar edik. aniq
Tavsiya:
LEDli ko'rgazma zali: 12 qadam
LEDli ko'rgazma zali: Salom, hammaga! Bu sahifada men sizlarga binolar modellari uchun ko'chma yorug'lik echimlari kontseptsiyasini ko'rsatmoqchiman, qo'shimchalar ro'yxati. Ko'rgazma zali tartibi (dizayni) uchun: 1. Karton (taxminan 2x2 m) 2. Kuzatuv qog'ozi (0,5
IDC2018IOT IoPill qutisi: 7 qadam
IDC2018IOT IoPill Box: Bu IoPill Box - Internetga ulangan haftalik tabletkalar qutisi. Bizning IoT kursining yakuniy loyihasi uchun biz keksa odamlarga (yoki har haftalik tabletka qutisini ishlatadigan har qanday odamga) yordam beradigan echimni taklif qilishga qaror qildik. ) olishni unutmang
IDC2018IOT mato ilmoq: 6 qadam
IDC2018IOT mato ilgichi: IOT mato ilgichi sizning shkafni aqlli qiladi va uning ichidagi kiyimlar haqida onlayn statistikani beradi. 3 asosiy xususiyatga ega: nima kiyishni tanlashni xohlasangiz, bugun kiymoqchi bo'lgan rangingizni bosishingiz mumkin. va IOT kiyimlari uchun ilmoqlar
Eshitish qobiliyati buzilgan aqlli eshik tizimi (IDC2018IOT): 11 qadam
Eshitish qobiliyati buzilganlar uchun aqlli eshiklar tizimi (IDC2018IOT): Biz hammamiz o'zimizga mos uyga ega bo'lishga umid qilamiz, lekin standart qurilish hamma uchun mos emas. Uy eshigi kar yoki eshitish qobiliyati zaif odamlar uchun juda yomon ishlab chiqilgan. Eshitish qobiliyati cheklangan odamlar eshik taqillashini eshita olmaydi yoki
Raspberry Pi A1332 nozik zali - effektli burchak sensori Java darsligi: 4 qadam
Raspberry Pi A1332 Precision Hall - effektli burchak sensori Java darsligi: A1332 - bu 360 ° kontaktsiz yuqori aniqlikdagi programlanadigan magnit burchakli joylashuv sensori. U I2C interfeysi yordamida raqamli tizimlar uchun mo'ljallangan. U Circular Vertical Hall (CVH) texnologiyasi va dasturlashtiriladigan mikroprotsessor signaliga asoslangan