Obsah:
- Krok 1: Potřebný hardware a protokoly
- Krok 2: Připojte mikrofon a snímač PIR
- Krok 3: Vytvořte pracovní postup v Zapier
- Krok 4: Skripty Google
- Krok 5: Propojte Flow s kódem Arduino
- Krok 6: Kontrola, závěry a budoucí škálování
Video: IDC2018IOT: Snitcher zasedací místnosti: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
PROBLÉM
Jak víme, trend co-workingových prostorů se v posledních letech zrychluje spolu s nejmodernější technologií definující výběr konkrétního co-workingového prostoru, který vyhovuje vašim potřebám.
Jednou z hlavních nabízených funkcí jsou sdílené zasedací místnosti nabízené členům spolupracujícího prostoru, které jsou spravovány (obvykle) jednoduchou kalendářní platformou.
Problém se opakuje, protože plán lidí má tendenci být dynamický.
Někdo by si mohl rezervovat pokoj v domnění, že by ho mohl potřebovat a nechtěl by zmeškat časový úsek.
I kdyby člověk tento časový úsek nakonec nevyužil, nebude se obtěžovat ho upozornit a zrušit kvůli druhým, protože to je bohužel lidská přirozenost.
JAK TO ŘEŠÍME?
Pomocí technologie IoT - kontrola zvuku a pohybu v určené zasedací místnosti kontrolujeme v každém určitém časovém intervalu, zda je místnost rezervována a skutečně obsazena:
1. Pokud není rezervován, nic nedělejte.
2. Pokud je rezervován, zkontrolujte, zda není detekován pohyb nebo zvuk;
Pokud existuje, nic nedělejte.
Pokud nebylo nic zjištěno, odešlete varovnou zprávu (e -mailem) uživateli, který si rezervoval pokoj, s dotazem, zda je místnost stále používána. pokud uživatel neprohlásí, že místnost stále používá, stav místnosti se změní na „K dispozici“.
* Zde jsme integrovali náš projekt s Kalendářem Google, abychom jej co nejvíce zobecnili.
Krok 1: Potřebný hardware a protokoly
1. Použili jsme NOSEMCU, abychom mohli věci dynamicky aktualizovat pomocí připojení WIFI.
2. Mikrofonní senzor, který bude „číst“hluk v místnosti.
3. PIR senzor, který zkontroluje, zda nedochází k pohybu.
Pro použití softwaru a serveru jsme kromě kódu v Arduinu používali Google Script a Zapier k podpoře našeho systému online. Tok můžete vidět na přidaném obrázku (a PDF).
Použili jsme Zapier k připojení aplikací a automatizaci našich pracovních toků (jako IFTTT) a ke komunikaci s Kalendářem Google nám pomohl Google Script. Skript, který jsme napsali, vytváří e -mail tvůrce události, abychom jej mohli odeslat, hodil Zapier a zkontroluje, zda uživatel před odstraněním události požádal o uložení místnosti (uložením některých informací do Tabulek Google).
Krok 2: Připojte mikrofon a snímač PIR
Chtěli jsme zkontrolovat průměrné hodnoty, které mikrofon zveřejňuje na NODEMCU, když lidé mluví (jasně, v každé místnosti byly různé zvuky v pozadí). Provedli jsme nějaké testování a zjistili jsme, že průměrná hladina hluku v místnosti, ve které jsme pracovali, je někde nad 50.
Senzor PIR poskytuje pouze hodnoty HIGH nebo LOW, takže jsme zkontrolovali pouze úroveň citlivosti, která je nejpřesnější pro místnost, kterou jsme zkontrolovali. Tato příručka byla velmi užitečná.
NAŠE PŘIPOJENÍ:
Mikrofon - jako na obrázku PIR senzor: GND> GND, OUT> D7, VCC> VN (5V)
Krok 3: Vytvořte pracovní postup v Zapier
Abychom věděli, zda je místnost skutečně prázdná nebo se stále používá (a uživatelé jsou například na přestávce), rádi bychom vytvořili tok, který to zajistí hned poté, co NodeMCU vypálí Webhook na Zapier, který oznámí, že pokoj je prázdný:
(1) TRIGGER - CATCH HOOKZapier chytí webhook (který odešle NODEMCU)
(2) ACTION - GETZapier odešle další Webhook, aby získal data události;> Zavolá (spustí) GoogleScript - GetCurrentEmailEventID (vysvětlení v následujícím kroku), aby získal aktuální data události - název události, ID události, e -mail uživatele.
(3) FILTR - POUZE POKRAČUJTE POUZE
Pokračujte dalším krokem pouze v případě, že v kalendáři aktuálně probíhá událost (jakákoli událost) (POKOJ JE BUSY), jinak se zastaví, protože místnost je prázdná.
(4) AKCE - GMAILZapier odešle e -mail prostřednictvím služby Gmail uživateli, který si rezervoval pokoj (tuto informaci získal v kroku 2)
(5) AKCE - ZPOŽDĚNÍ Nechte uživateli čas na odpověď na e -mail. - Pokud uživatel klikne na odkaz: zavolejte (spusťte) GoogleScript - ApproveCurrentEvent (Z tohoto důvodu je místnost odstraněna ze seznamu „Místnosti k odstranění“a pokoj je stále označen jako obsazený.)
(6) AKCE - ZÍSKEJTE Po 5 minutách Zapier zavolá (spustí) GoogleScript - DeleteCurrentEvent- Pokud uživatel neklikne na odkaz
Zkontroluje, zda je ID pokoje v seznamu „Místnosti k odstranění“
prostě odstraní událost.
Krok 4: Skripty Google
Když jsme integrovali celý systém, GoogleScripts byla triviální volba IDE, použili jsme tedy relevantní knihovny Google. Změní se podle platformy pro rezervaci pokojů.
(1) GetCurrentEmailEventID
Spouští se pomocí volání Webhook.
Použití určitého offsetu k eliminaci možného chybného zrušení, získání aktuálních údajů o události.
(2) ApproveCurrentEvent
Spustí se kliknutím uživatele.
V případě, že uživatel schválí, že místnost je stále používána, odstraní ID události z „Místností k odstranění“. Použili jsme list Google, zde by mohla být relevantní jakákoli jiná forma seznamu.
(3) DeleteCurrentEvent
Běží na volání Webhook.
Vyhledá příslušné ID události v seznamu (list Google) a odstraní tuto událost z kalendáře.
Krok 5: Propojte Flow s kódem Arduino
Přiložený kód se připojuje k senzorům, které jsme před pár kroky zkontrolovali, k online systému (v našem případě kalendáři Google). Zkontroluje, zda je místnost zaneprázdněna, a pokud ne, odešle požadavek HTTP (Webhook), který spustí požadavek na událost odstranění na Zapier.
Krok 6: Kontrola, závěry a budoucí škálování
Hlavní výzvou, se kterou jsme se museli vypořádat, je pokrýt všechny okrajové případy při rozhodování o uvolnění zasedací místnosti. Poté jsme museli vytvořit stavový stroj s ohledem na všechny možné případy, aby nedošlo k chybě a místnost byla nastavena jako dostupná pouze tehdy, když by měla.
Pokud je například místnost rezervována pro nějakou skupinu, která tam aktuálně není (například má přestávku), ale přesto ji potřebuje, NODEMCU zjistí, že je místnost volná> PROBLÉM.
Pak bylo naším řešením zaslat e -mail uživateli, který si rezervoval pokoj (což nebylo snadné zjistit), messege, který poskytuje možnost držet pokoj dál.
Pokud uživatel v daném čase neodpověděl (nastavili jsme to na 5 minut, ale lze to snadno změnit), odstraníme událost z kalendáře (a uvolníme místnost).
Tak se nám nakonec podařilo zvládnout všechny možné scénáře a vytvořit fungující systém.
NAŠE OMEZENÍ SYSTÉMU:
1. Použité senzory musí být velmi přesné a citlivé.
2. Velikost místnosti je omezena na poloměr/rozsah snímače.
3. Budeme se muset spolehnout na schopnost uživatele reagovat.
4. Náš systém je postaven na několika platformách (kalendář Google, Gmail, Zapier atd.) A ke svému výkonu bude muset využívat své služby.
5. Změna měřítka této služby pro více místností (namísto duplikace celého systému) bude vyžadovat další zpracování pomocí ID místnosti.
6. Systém je pouze automatický a neexistuje manuální možnost zrušení rezervace pokoje.
BUDOUCÍ VÝVOJ:
Rozhodně bychom systém rozšířili dvěma způsoby:
1. Schopnost pracovat s jakýmikoli jinými platformami kalendáře (takže by je mohla používat jakákoli společnost využívající co-working spaces).
2. Schopnost zvládnout více místností, pater a míst.
Věříme, že zobecnění, testování a přidání funkce více místností (podlaží atd.) Bude trvat 2-3 měsíce.
Kromě toho bychom s neomezeným množstvím peněz a zdrojů použili lepší senzory s větším dosahem spolu s jejich přizpůsobením určené místnosti - s ohledem na dosah, poloměr, množství senzorů atd. Krok, který by prodloužil instalaci každého systému, očividně.
Doporučuje:
Zjistěte, kdy někdo vstoupil do místnosti pomocí radarového senzoru Xyc-wb-dc: 7 kroků
Zjistěte, kdy někdo vstoupil do místnosti pomocí radarového senzoru Xyc-wb-dc: V tomto tutoriálu se naučíme zjistit, jak někdo vstoupil do místnosti pomocí modulu RTC, radarového senzoru xyc-wb-dc, OLED displeje a arduina. ukázkové video
Světlo místnosti ovládané pomocí PIR senzoru a Arduina: 6 kroků
Prostorové světlo ovládané pomocí PIR senzoru a Arduina: Dnes budeme ovládat vaše pokojová světla pomocí detekce pohybu pomocí Arduino PIR pohybového senzoru. Tento projekt je velmi zábavný a má velmi praktické použití ve vašem domě a může vám ušetřit nějaké peníze tím, že tento projekt také provedete. Ju
Hands free ovládání osvětlení místnosti: 10 kroků
Ovládání osvětlení místnosti bez použití rukou: Jako ve filmu „Mission Impossible“říká " Zoufalé časy vyžadují zoufalá opatření " můj bratr, který je ve třídě 10, dostal nápad ovládat světla v kuchyni pomocí telefonu místo použití vypínačů a důvod
Monitorování teploty a vlhkosti v místnosti S cloudem ESP32 a AskSensors: 6 kroků
Monitorování teploty a vlhkosti v místnosti S cloudem ESP32 a AskSensors: V tomto kurzu se naučíte monitorovat teplotu a vlhkost místnosti nebo stolu pomocí DHT11 a ESP32 připojeného ke cloudu. Aktualizace našich výukových programů najdete zde. Specifikace: Senzor DHT11 je schopen měřit teplotu
Počitadlo obsazenosti místnosti: 5 kroků (s obrázky)
Počítadlo obsazenosti místnosti: Jsem Paolo Reyes, Mexičan, který rád tvoří a vyrábí věci. Proto jsem vytvořil počítadlo obsazenosti místnosti. Kvůli okolnostem COVID-19 jsem se rozhodl vyvinout tento projekt s cílem omezit šíření virů kontrolou počtu lidí, kteří mohou být