Obsah:

IDC2018IOT: Snitcher zasedací místnosti: 6 kroků
IDC2018IOT: Snitcher zasedací místnosti: 6 kroků

Video: IDC2018IOT: Snitcher zasedací místnosti: 6 kroků

Video: IDC2018IOT: Snitcher zasedací místnosti: 6 kroků
Video: Star Trek Continues E01 "Pilgrim of Eternity" 2024, Červenec
Anonim
IDC2018IOT: Snitcher zasedací místnosti
IDC2018IOT: Snitcher zasedací místnosti

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

Potřebný hardware a protokoly
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

Připojte mikrofon a snímač PIR
Připojte mikrofon a snímač PIR
Připojte mikrofon a snímač PIR
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

Vytvořte pracovní postup v Zapier
Vytvořte pracovní postup v Zapier
Vytvořte pracovní postup v Zapier
Vytvořte pracovní postup v Zapier
Vytvořte pracovní postup v Zapier
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

Skripty Google
Skripty Google
Skripty Google
Skripty Google
Skripty Google
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í

Image
Image

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: