Obsah:

IDC2018IOT: Organizátor zasadačky: 6 krokov
IDC2018IOT: Organizátor zasadačky: 6 krokov

Video: IDC2018IOT: Organizátor zasadačky: 6 krokov

Video: IDC2018IOT: Organizátor zasadačky: 6 krokov
Video: Cosplay by b.tech final year at IIT Kharagpur 2024, Júl
Anonim
IDC2018IOT: Snitcher pre zasadaciu miestnosť
IDC2018IOT: Snitcher pre zasadaciu miestnosť

PROBLÉM

Ako vieme, trend co-workingových priestorov sa za posledných niekoľko rokov zrýchľuje spolu s najmodernejšou technológiou definujúcou výber konkrétneho co-workingového priestoru, ktorý vyhovuje vašim potrebám.

Jednou z hlavných ponúkaných funkcií sú zdieľané zasadacie miestnosti ponúkané členom spolupracujúceho priestoru, ktoré spravuje (spravidla) jednoduchá kalendárová platforma.

Problém sa opakuje, pretože plán ľudí má tendenciu byť dynamický.

Niekto by si mohol rezervovať izbu a myslieť si, že by ju mohol potrebovať a nechcel by zmeškať časový úsek.

Aj keď by niekto tento časový úsek nakoniec nevyužil, nebude sa obťažovať ho upozorniť a zrušiť kvôli druhým, pretože to je, bohužiaľ, ľudská povaha.

AKO TO RIEŠime?

Pomocou technológie IoT - kontrola zvuku a pohybu v určenej zasadacej miestnosti kontrolujeme v každom určitom časovom intervale, či je miestnosť rezervovaná a skutočne obsadená alebo nie:

1. Ak nie je rezervovaný, nerobte nič.

2. Ak je rezervovaný, skontrolujte, či nie sú zistené žiadne pohyby alebo zvuk;

Ak existuje, nič nerobte.

Ak sa nič nezistilo, pošlite varovnú správu (e -mailom) používateľovi, ktorý si rezervoval izbu, s otázkou, či je miestnosť ešte používaná. pokiaľ používateľ neprehlási, že izbu stále používa, stav miestnosti sa zmení na „K dispozícii“.

* Tu sme integrovali náš projekt s Kalendárom Google, aby sme ho čo najviac zovšeobecnili.

Krok 1: Potrebný hardvér a protokoly

Potrebný hardvér a protokoly
Potrebný hardvér a protokoly

1. Použili sme NOSEMCU, aby sme mohli veci dynamicky aktualizovať pomocou pripojenia WIFI.

2. Mikrofónny senzor, ktorý bude „čítať“hluk v miestnosti.

3. PIR senzor, ktorý skontroluje, či nedochádza k pohybu.

Na použitie softvéru a servera sme okrem kódu v Arduine na podporu nášho systému online použili Google Script a Zapier. Tok môžete vidieť na pridanom obrázku (a PDF).

Na pripojenie aplikácií a automatizáciu našich pracovných tokov (ako IFTTT) sme použili Zapier a na komunikáciu s Kalendárom Google sme použili Google Script. Skript, ktorý sme napísali, vytvára e -mail tvorcu udalosti, aby sme ho mohli odoslať, hodil Zapier a pred odstránením udalosti skontroluje, či používateľ požiadal o zadržanie miestnosti (uložením niektorých informácií do Tabuliek Google).

Krok 2: Pripojte mikrofón a snímač PIR

Pripojte mikrofón a snímač PIR
Pripojte mikrofón a snímač PIR
Pripojte mikrofón a snímač PIR
Pripojte mikrofón a snímač PIR

Chceli sme skontrolovať priemerné hodnoty, ktoré mikrofón zverejňuje na NODEMCU, keď ľudia hovoria (jasne, v každej miestnosti boli rôzne zvuky v pozadí). Vykonali sme nejaké testovanie a zistili sme, že priemerná hladina hluku je miestnosť, v ktorej sme pracovali, niekde nad 50.

Senzor PIR poskytuje iba hodnoty HIGH alebo LOW, takže sme skontrolovali iba úroveň citlivosti, ktorá je najpresnejšia pre miestnosť, ktorú sme skontrolovali. Tento sprievodca bol veľmi nápomocný.

NAŠE PRIPOJENIA:

Mikrofón - ako na obrázku PIR senzor: GND> GND, OUT> D7, VCC> VN (5V)

Krok 3: Vytvorte pracovný postup v Zapier

Vytvorte pracovný postup v Zapier
Vytvorte pracovný postup v Zapier
Vytvorte pracovný postup v Zapier
Vytvorte pracovný postup v Zapier
Vytvorte pracovný postup v Zapier
Vytvorte pracovný postup v Zapier

Aby sme vedeli, či je miestnosť skutočne prázdna alebo sa ešte používa (a používatelia majú napríklad prestávku), chceli by sme vytvoriť tok, ktorý to zaistí hneď po tom, ako NodeMCU odpáli webhook spoločnosti Zapier, ktorý oznámi, že miestnosť je prázdna:

(1) TRIGGER - CATCH HOOKZapier zachytí webhook (ktorý pošle NODEMCU)

(2) AKCIA - GETZapier odošle ďalší webhook na získanie údajov o udalostiach;> Zavolá (spustí) GoogleScript - GetCurrentEmailEventID (vysvetlenie v nasledujúcom kroku), aby získal aktuálne údaje o udalosti - názov udalosti, ID udalosti, e -mail používateľa.

(3) FILTER - POKRAČUJTE IBA

K ďalšiemu kroku pokračujte iba vtedy, ak sa v kalendári práve deje udalosť (akákoľvek udalosť) (IZBA JE BUSY), inak sa zastaví, pretože miestnosť je prázdna.

(4) AKCIA - GMAILZapier odošle e -mail prostredníctvom služby Gmail používateľovi, ktorý si rezervoval izbu (tieto informácie získal v kroku 2)

(5) AKCIA - ZPOŽDENIE NECHTE používateľovi čas, aby odpovedal na e -mail. - Ak používateľ klikne na odkaz: zavolajte (spustite) GoogleScript - ApproveCurrentEvent (miestnosť sa preto odstráni zo zoznamu „Izby na odstránenie“a miestnosť je stále označená ako obsadená.)

(6) AKCIA - ZÍSKAJTE Po 5 minútach spoločnosť Zapier zavolá (spustí) GoogleScript - DeleteCurrentEvent- Ak používateľ neklikne na odkaz

Skontroluje, či je ID miestnosti v zozname „Izby, ktoré chcete odstrániť“

jednoducho odstráni udalosť.

Krok 4: Skripty Google

Skripty Google
Skripty Google
Skripty Google
Skripty Google
Skripty Google
Skripty Google

Keď sme integrovali celý systém, GoogleScripts bola triviálna voľba IDE, preto sme použili relevantné knižnice Google. Zmenilo by sa to podľa platformy pre rezerváciu izieb.

(1) GetCurrentEmailEventID

Spúšťa sa hovorom Webhook.

Použitie určitého posunu, aby sa eliminovalo možné zrušenie zmeškania, získanie údajov o aktuálnej udalosti.

(2) ApproveCurrentEvent

Spustí sa kliknutím používateľa.

V prípade, že používateľ schváli, že miestnosť je stále používaná, vymaže ID udalosti z „Miestností, ktoré sa majú odstrániť“. Použili sme list Google, tu môže byť relevantná akákoľvek iná forma zoznamu.

(3) DeleteCurrentEvent

Spúšťa sa hovorom Webhook.

Vyhľadá príslušný ID udalosti v zozname (hárok Google) a odstráni danú udalosť z kalendára.

Krok 5: Pripojte Flow k kódu Arduino

Pripojený kód sa pripája k senzorom, ktoré sme skontrolovali pred niekoľkými krokmi, k online systému (v našom prípade kalendár Google). Skontroluje, či je miestnosť zaneprázdnená, a potom, ak nie je, odošle požiadavku HTTP (webhook), ktorá spustí požiadavku na odstránenie udalosti na serveri Zapier.

Krok 6: Kontrola, závery a škálovanie v budúcnosti

Image
Image

Hlavnou výzvou, s ktorou sme sa museli vysporiadať, je pokryť všetky okrajové prípady pri rozhodovaní o uvoľnení zasadacej miestnosti. Potom sme museli vytvoriť stavový automat s prihliadnutím na všetky možné prípady, aby nedošlo k chybe a miestnosť bude nastavená ako dostupná iba vtedy, keď by mala.

Ak je napríklad miestnosť rezervovaná pre nejakú skupinu, ktorá tam momentálne nie je (napríklad je prestávka), ale napriek tomu ju potrebuje, NODEMCU zistí, že je miestnosť voľná> PROBLÉM.

Potom bolo naším riešením odoslať e -mailom používateľovi, ktorý si rezervoval izbu (čo nebolo ľahké zistiť), správu, ktorá poskytuje možnosť miestnosť naďalej držať.

Ak používateľ v danom čase neodpovedal (nastavili sme ho na 5 minút, ale dá sa ľahko zmeniť), udalosť z kalendára odstránime (a uvoľníme miestnosť).

Tak sa nám nakoniec podarilo zvládnuť všetky možné scenáre a vytvoriť fungujúci systém.

NAŠE OBMEDZENIA SYSTÉMU:

1. Použité snímače musia byť veľmi presné a citlivé.

2. Veľkosť miestnosti je obmedzená polomerom/rozsahom snímača.

3. Budeme sa musieť spoliehať na odozvu užívateľa.

4. Náš systém je postavený na niekoľkých platformách (kalendár Google, Gmail, Zapier atď.) A na výkon bude musieť použiť svoju službu.

5. Rozšírenie tejto služby na viac miestností (namiesto duplikácie celého systému) bude vyžadovať dodatočné spracovanie s ID miestnosti.

6. Systém je iba automatický a neexistuje žiadna manuálna možnosť zrušenia rezervácie izby.

BUDÚCI VÝVOJ:

Systém by sme určite rozšírili dvoma spôsobmi:

1. Schopnosť pracovať s akýmikoľvek inými platformami kalendára (aby ich mohla používať každá spoločnosť využívajúca co-working spaces).

2. Schopnosť zvládnuť viac miestností, poschodí a miest.

Sme presvedčení, že zovšeobecnenie, testovanie a pridanie funkcie viacerých miestností (poschodí atď.) Bude trvať 2-3 mesiace.

Okrem toho by sme s neobmedzeným množstvom peňazí a zdrojov používali lepšie senzory s väčším dosahom a ich prispôsobenie určenej miestnosti - vzhľadom na dosah, polomer, množstvo senzorov atď. Krok, ktorý by predĺžil inštaláciu každého systému, očividne.

Odporúča: