Sommario:
- Passaggio 1: hardware e protocolli necessari
- Passaggio 2: collegare il microfono e il sensore PIR
- Passaggio 3: crea il flusso di lavoro in Zapier
- Passaggio 4: script di Google
- Passaggio 5: collegare il flusso con il codice Arduino
- Passaggio 6: revisione, conclusioni e ridimensionamento futuro
Video: IDC2018IOT: Snitcher della sala riunioni: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
IL PROBLEMA
Come sappiamo, negli ultimi anni il trend degli spazi di co-working sta accelerando, insieme alla tecnologia all'avanguardia che definisce la scelta dello spazio di co-working specifico che si adatta alle tue esigenze.
Una delle principali funzionalità offerte sono le sale riunioni condivise offerte ai membri dello spazio di co-working, gestite da una piattaforma di calendario (di solito) semplice.
Un problema si ripresenta quando gli orari delle persone tendono ad essere dinamici.
Si potrebbe prenotare una stanza pensando di averne bisogno e di non voler perdere la fascia oraria.
Anche se uno alla fine non utilizzerà quella fascia oraria, non si preoccuperà di notificarla e cancellarla per il bene degli altri, poiché, sfortunatamente, questa è la natura umana.
COME LO RISOLVIAMO?
Utilizzando la tecnologia IoT - controllando il suono e il movimento in una sala riunioni designata, controlliamo, a ogni determinato intervallo di tempo, se una sala è prenotata ed effettivamente occupata o meno:
1. Se non è prenotato, non fare nulla.
2. Se è prenotato, controlla se sono stati rilevati movimenti o rumori;
Se c'è, non fare nulla.
Se non è stato rilevato nulla, inviare un messaggio di avviso (via email) all'utente che ha prenotato la camera che chiede se la camera è ancora in uso. a meno che l'utente non dichiari che sta ancora utilizzando la stanza, lo stato della stanza sarà cambiato in "Disponibile".
* Qui abbiamo integrato il nostro progetto con Google Calendar per generalizzarlo il più possibile.
Passaggio 1: hardware e protocolli necessari
1. Abbiamo usato NOSEMCU in modo da poter aggiornare le cose in modo dinamico utilizzando la connessione WIFI.
2. Sensore del microfono che "leggerà" il rumore nella stanza.
3. Sensore PIR che controllerà se c'è movimento.
Per l'utilizzo del software e del server, oltre al codice in Arduino, abbiamo utilizzato Google Script e Zapier per supportare il nostro sistema online. Puoi vedere il flusso nell'immagine aggiunta (e nel PDF).
Abbiamo utilizzato Zapier per connettere app e automatizzare i nostri flussi di lavoro (come IFTTT) e abbiamo utilizzato Google Script per aiutarci a comunicare con Google Calendar. Lo script che abbiamo scritto sta producendo l'e-mail del creatore dell'evento in modo da poterlo inviare a Zapier e controlla se l'utente ha chiesto di tenere la stanza (salvando alcune informazioni in Fogli Google) prima di eliminare l'evento.
Passaggio 2: collegare il microfono e il sensore PIR
Volevamo controllare i valori medi che il microfono invia al NODEMCU quando le persone parlano (chiaramente, in ogni stanza c'erano rumori di sottofondo diversi). Abbiamo fatto alcuni test e ci siamo resi conto che il livello medio di rumore nella stanza in cui abbiamo lavorato è da qualche parte superiore a 50.
Il sensore PIR fornisce solo valori ALTI o BASSI, quindi abbiamo verificato solo il livello di sensibilità più accurato per la stanza che abbiamo controllato. Questa guida è stata piuttosto utile.
I NOSTRI COLLEGAMENTI:
Microfono - come in fotoSensore PIR: GND > GND, OUT > D7, VCC > VN (5V)
Passaggio 3: crea il flusso di lavoro in Zapier
Per sapere se la stanza è effettivamente vuota o ancora in uso (e gli utenti sono in pausa per esempio), vorremmo creare un flusso che lo assicuri, subito dopo che il NodeMCU lancia un Webhook a Zapier che notifica che il la stanza è vuota:
(1) TRIGGER - CATCH HOOKZapier cattura il Webhook (che verrà inviato dal NODEMCU)
(2) AZIONE - GETZapier invia un altro Webhook per ottenere i dati dell'evento;> Chiama (esegue) un GoogleScript - GetCurrentEmailEventID (spiegazione nel passaggio successivo), per ottenere i dati dell'evento corrente - nome evento, ID evento, email utente.
(3) FILTRO - CONTINUA SOLO SE
Prosegui con il passaggio successivo solo se è presente un evento (qualsiasi evento) in corso nel calendario (CAMERA OCCUPATA), altrimenti si interrompe perché la stanza è libera.
(4) AZIONE - GMAILZapier invia un'e-mail, tramite Gmail, all'utente che ha prenotato la camera (ottenuto queste informazioni nel passaggio 2)
(5) AZIONE - RITARDO PER Lasciare all'utente il tempo di rispondere all'e-mail.- Se l'utente fa clic sul collegamento: chiamare (eseguire) GoogleScript - ApproveCurrentEvent(Quindi la stanza viene rimossa dall'elenco 'Stanze da eliminare' e il la stanza è ancora contrassegnata come occupata.)
(6) AZIONE - OTTIENI Dopo 5 minuti, Zapier chiama (esegue) GoogleScript - DeleteCurrentEvent- Se l'utente non ha fatto clic sul collegamento
Verifica se l'ID della camera è nell'elenco 'Camere da eliminare'
rimuove semplicemente l'evento.
Passaggio 4: script di Google
Poiché abbiamo integrato l'intero sistema, GoogleScripts è stata la scelta banale di un IDE, quindi abbiamo utilizzato le librerie di Google pertinenti. Cambierebbe in base alla piattaforma di prenotazione delle camere.
(1) GetCurrentEmailEventID
Eseguito da una chiamata Webhook.
Utilizzando un certo offset per eliminare possibili mancate cancellazioni, ottenendo i dati dell'evento corrente.
(2) Approva evento in corso
Eseguito da un clic dell'utente.
In caso di approvazione da parte dell'utente che la stanza è ancora in uso, elimina l'ID evento dalle "Stanze da eliminare". Abbiamo utilizzato un foglio di Google, qualsiasi altra forma di elenco potrebbe essere pertinente qui.
(3) EliminaEvento Attuale
Eseguito da una chiamata Webhook.
Cerca l'ID evento pertinente nell'elenco (foglio di Google) ed elimina tale evento dal calendario.
Passaggio 5: collegare il flusso con il codice Arduino
Il codice allegato si collega ai sensori che abbiamo verificato qualche passaggio fa al sistema online (calendario Google nel nostro caso). Controlla se la stanza è occupata e quindi, se non lo è, invia una richiesta HTTP (un Webhook) che avvia la richiesta di eliminazione dell'evento su Zapier.
Passaggio 6: revisione, conclusioni e ridimensionamento futuro
La sfida principale che abbiamo dovuto affrontare è stata quella di coprire tutti i casi limite quando abbiamo deciso di liberare una sala riunioni. Abbiamo quindi dovuto creare una macchina a stati considerando ogni possibile caso, in modo tale che non si verificasse un errore e la stanza fosse impostata come disponibile solo quando dovrebbe.
Ad esempio, se la stanza è prenotata per un gruppo che attualmente non c'è (cioè in pausa, per esempio), ma ne ha ancora bisogno, NODEMCU rileverà che la stanza è libera > PROBLEMA.
Quindi, la nostra soluzione è stata quella di inviare un'e-mail all'utente che ha prenotato la stanza (cosa non semplice da capire) un messaggio che fornisce la possibilità di continuare a tenere la stanza.
Se l'utente non ha risposto in un determinato tempo (abbiamo impostato 5 minuti, ma può essere modificato facilmente), eliminiamo l'evento dal calendario (e liberiamo la stanza).
In questo modo, alla fine siamo riusciti a gestire tutti gli scenari possibili ea creare un sistema funzionante.
LIMITAZIONI DEL NOSTRO SISTEMA:
1. I sensori utilizzati devono essere molto precisi e sensibili.
2. La dimensione della stanza è limitata al raggio/gamma del sensore.
3. Dovremo fare affidamento sulla reattività dell'utente.
4. Il nostro sistema è costruito utilizzando diverse piattaforme (calendario Google, Gmail, Zapier ecc.) e dovrà utilizzare il loro servizio per eseguire.
5. Il ridimensionamento di questo servizio per più stanze (invece di duplicare l'intero sistema) richiederà una gestione aggiuntiva con l'ID della stanza.
6. Il sistema è solo automatico e non c'è un'opzione manuale per cancellare la prenotazione di una camera.
SVILUPPI FUTURI:
Sicuramente aumenteremmo il sistema in due modi:
1. Capacità di lavorare con qualsiasi altra piattaforma di calendario (quindi qualsiasi azienda di spazi di co-working potrebbe utilizzarlo).
2. Capacità di gestire più stanze, piani e siti.
Riteniamo che questo tipo di scala impiegherà 2-3 mesi per generalizzare, testare e aggiungere funzionalità di più stanze (piani ecc.).
Inoltre, utilizzando una quantità illimitata di denaro e risorse, utilizzeremmo sensori migliori con una portata più ampia, oltre a personalizzarli in base alla stanza designata, considerando la portata, il raggio, la quantità di sensori, ecc. Un passaggio che renderebbe più lungo l'installazione di ogni sistema, ovviamente.
Consigliato:
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: 3 passaggi
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: spesso vediamo contatori visitatori in stadi, centri commerciali, uffici, aule, ecc. Come contano le persone e accendono o spengono la luce quando nessuno è all'interno? Oggi siamo qui con il progetto di controllo automatico della luce ambientale con contatore visitatori bidirezionale
Promemoria delle riunioni del calendario di Outlook con touchscreen Nextion: 6 passaggi
Promemoria delle riunioni del calendario di Outlook con touchscreen Nextion: il motivo per cui ho iniziato questo progetto è stato perché spesso ho perso le riunioni e ho pensato di aver bisogno di un sistema di promemoria migliore. Anche se utilizziamo il calendario di Microsoft Outlook, ho trascorso la maggior parte del mio tempo su Linux/UNIX sullo stesso computer. Mentre si lavora con
Hackerare un pulsante della porta della Jubilee Line della metropolitana di Londra: 12 passaggi (con immagini)
Hacking di un pulsante della porta della Jubilee Line della metropolitana di Londra: Il negozio del London Transport Museum vende pulsanti della porta dismessi della Jubilee Line (sono disponibili sia a sinistra che a destra). Se stai pensando di realizzare un progetto che necessita di un pulsante e di una spia di qualche tipo, saresti
Monitor della sala server: 4 passaggi
Server Room Monitor: uno dei problemi di una sala server è la temperatura. Con diverse apparecchiature che producono calore, questo aumenta rapidamente. E se l'aria condizionata si guasta, ferma tutto velocemente. Per prevedere queste situazioni possiamo acquisire uno dei tanti ambienti
Monitoraggio della sala conferenze utilizzando il fotone particellare: 8 passaggi (con immagini)
Monitoraggio della sala conferenze utilizzando Particle Photon: Introduzione In questo tutorial realizzeremo il monitoraggio della sala conferenze utilizzando Particle Photon. In questa particella è integrato con Slack utilizzando Webhooks per ottenere aggiornamenti in tempo reale sulla disponibilità o meno di una stanza. I sensori PIR vengono utilizzati per d