Mundarija:

IDC2018IOT: Uchrashuv zali Snitcher: 6 qadam
IDC2018IOT: Uchrashuv zali Snitcher: 6 qadam

Video: IDC2018IOT: Uchrashuv zali Snitcher: 6 qadam

Video: IDC2018IOT: Uchrashuv zali Snitcher: 6 qadam
Video: IDC European IoT Summit 2018 2024, Iyul
Anonim
IDC2018IOT: yig'ilish zali Snitcher
IDC2018IOT: yig'ilish zali Snitcher

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

Uskuna va protokollar kerak
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

Mikrofon va PIR sensorini ulang
Mikrofon va PIR sensorini ulang
Mikrofon va PIR sensorini ulang
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

Zapier -da ish oqimini yarating
Zapier -da ish oqimini yarating
Zapier -da ish oqimini yarating
Zapier -da ish oqimini yarating
Zapier -da ish oqimini yarating
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

Google skriptlari
Google skriptlari
Google skriptlari
Google skriptlari
Google skriptlari
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

Image
Image

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: