Përmbajtje:

IDC2018IOT: Salla e Takimeve Snitcher: 6 hapa
IDC2018IOT: Salla e Takimeve Snitcher: 6 hapa

Video: IDC2018IOT: Salla e Takimeve Snitcher: 6 hapa

Video: IDC2018IOT: Salla e Takimeve Snitcher: 6 hapa
Video: Иван Алексеевич Бунин ''Натали''. Аудиокнига. #LookAudioBook 2024, Korrik
Anonim
IDC2018IOT: Salla e Takimeve Snitcher
IDC2018IOT: Salla e Takimeve Snitcher

PROBLEMI

Siç e dimë, tendenca e hapësirave të bashkëpunimit është përshpejtuar gjatë viteve të fundit, së bashku me teknologjinë e fundit që përcakton zgjedhjen e hapësirës specifike të bashkëpunimit që i përshtatet nevojave tuaja.

Një nga karakteristikat kryesore të ofruara është dhomat e përbashkëta të takimeve të ofruara për anëtarët e hapësirës bashkëpunuese, e cila menaxhohet nga një platformë (zakonisht) e thjeshtë kalendarike.

Një problem rishfaqet pasi orari i njerëzve tenton të jetë dinamik.

Dikush mund të rezervojë një dhomë duke menduar se ai mund të ketë nevojë për të dhe nuk do të donte të humbiste afatin kohor.

Edhe nëse dikush nuk do ta përdorte atë hapësirë kohore përfundimisht, ai nuk do të shqetësohet ta njoftojë dhe anulojë atë për hir të të tjerëve, pasi, për fat të keq, kjo është natyra njerëzore.

SI E ZGJIDHIM?

Duke përdorur teknologjinë IoT - duke kontrolluar tingullin dhe lëvizjen në një dhomë të caktuar takimesh, ne po kontrollojmë, çdo interval të caktuar kohor, nëse një dhomë është e rezervuar dhe në të vërtetë e zënë apo jo:

1. Nëse nuk është e rezervuar, mos bëni asgjë.

2. Nëse është e rezervuar, kontrolloni nëse ka ndonjë lëvizje ose zë të zbuluar;

Nëse ka, mos bëni asgjë.

Nëse asgjë nuk është zbuluar, dërgoni një mesazh paralajmërues (me email) për përdoruesin që ka rezervuar dhomën që pyet nëse dhoma është ende në përdorim. nëse përdoruesi nuk deklaron se është ende duke përdorur dhomën, statusi i dhomës do të ndryshohet në "Në dispozicion".

* Këtu, ne integruam projektin tonë me Kalendarin Google në mënyrë që ta përgjithësojmë sa më shumë që të jetë e mundur.

Hapi 1: Nevojiten harduer dhe protokolle

Nevojiten harduer dhe protokolle
Nevojiten harduer dhe protokolle

1. Ne përdorëm NOSEMCU kështu që ne mund t'i përditësojmë gjërat në mënyrë dinamike duke përdorur lidhjen WIFI.

2. Sensori i mikrofonit që do të "lexojë" zhurmën në dhomë.

3. Sensori PIR që do të kontrollojë nëse ka ndonjë lëvizje.

Për përdorimin e softuerit dhe serverit, përveç kodit në Arduino, ne përdorëm Google Script dhe Zapier për të mbështetur sistemin tonë në internet. Ju mund të shihni rrjedhën në figurën e shtuar (dhe PDF).

Ne përdorëm Zapier për të lidhur aplikacionet dhe automatizuar rrjedhat tona të punës (si IFTTT) dhe përdorëm Google Script për të na ndihmuar të komunikojmë me Kalendarin Google. Skenari që kemi shkruar po prodhon emailin e krijuesit të ngjarjes, kështu që ne mund ta dërgojmë atë në Zapier dhe kontrollon nëse përdoruesi kërkon të mbajë dhomën (duke ruajtur disa informacione në Google Sheets) para se të fshijë ngjarjen.

Hapi 2: Lidhni Mikrofonin dhe Sensorin PIR

Lidhni mikrofonin dhe sensorin PIR
Lidhni mikrofonin dhe sensorin PIR
Lidhni mikrofonin dhe sensorin PIR
Lidhni mikrofonin dhe sensorin PIR

Ne donim të kontrollonim vlerat mesatare që poston mikrofoni në NODEMCU kur njerëzit flasin (qartë, në çdo dhomë kishte zhurma të ndryshme sfondi). Ne bëmë disa testime dhe kuptuam se niveli mesatar i zhurmës është se dhoma ku kemi punuar është diku mbi 50.

Sensori PIR jep vetëm vlera të larta ose të ulëta, kështu që ne kontrolluam vetëm nivelin e ndjeshmërisë që është më i sakti për dhomën që kemi kontrolluar. Ky udhëzues ishte shumë i dobishëm.

LIDHJET TONA:

Mikrofoni - si në foto Sensori PIR: GND> GND, OUT> D7, VCC> VN (5V)

Hapi 3: Krijoni rrjedhën e punës në Zapier

Krijoni rrjedhën e punës në Zapier
Krijoni rrjedhën e punës në Zapier
Krijoni rrjedhën e punës në Zapier
Krijoni rrjedhën e punës në Zapier
Krijoni rrjedhën e punës në Zapier
Krijoni rrjedhën e punës në Zapier

Në mënyrë që të dimë nëse dhoma është në të vërtetë bosh ose ende në përdorim (dhe përdoruesit janë në pushim për shembull), ne do të donim të krijonim një rrjedhë që e siguron atë, menjëherë pasi NodeMCU lëshon një Webhook në Zapier i cili njofton se dhoma eshte bosh:

(1) TRIGGER - CATCH HOOK Zapier kap Webhook (që do të dërgohet nga NODEMCU)

(2) VEPRIM - GETZapier dërgon një Webhook tjetër për të marrë të dhënat e ngjarjes;> Thërret (ekzekuton) një GoogleScript - GetCurrentEmailEventID (shpjegim në hapin e mëposhtëm), për të marrë të dhënat e ngjarjes aktuale - emrin e ngjarjes, ID -në e ngjarjes, emailin e përdoruesit.

(3) FILTER - VAZHDON VETYM NES

Vazhdoni në hapin tjetër vetëm nëse ka një ngjarje (ndonjë ngjarje) që po ndodh aktualisht në kalendar (ROOM IS BIUSY), përndryshe, ndalet pasi dhoma është e lirë.

(4) VEPRIM - GMAILZapier i dërgon një e -mail, përmes Gmail, përdoruesit që rezervoi dhomën (e mori këtë informacion në hapin 2)

(5) VEPRIM - Vonesë PARA Lëreni përdoruesin të përgjigjet në email.- Nëse përdoruesi klikon në lidhjen: telefononi (drejtoni) GoogleScript - ApproveCurrentEvent (Prandaj dhoma hiqet nga lista "Dhomat për të fshirë" dhe dhoma është ende e shënuar si e zënë.)

(6) VEPRIM - MERRNI Pas 5 minutash, Zapier telefonon (drejton) GoogleScript - DeleteCurrentEvent- Nëse përdoruesi nuk klikonte në lidhjen

Kontrollon nëse ID e dhomës është në listën "Dhomat për të fshirë"

thjesht heq ngjarjen.

Hapi 4: Skriptet e Google

Skriptet e Google
Skriptet e Google
Skriptet e Google
Skriptet e Google
Skriptet e Google
Skriptet e Google

Ndërsa integruam të gjithë sistemin, GoogleScripts ishte zgjedhja e parëndësishme e një IDE, kështu, ne përdorëm Bibliotekat përkatëse të Google. Do të ndryshonte sipas Platformës së Rezervimit të Dhomave.

(1) GetCurrentEmailEventID

Drejtohet nga një telefonatë Webhook.

Përdorimi i një kompensimi të caktuar për të eleminuar anulimin e mundshëm të humbjes, marrja e të dhënave të ngjarjes aktuale.

(2) ApproveCurrentEvent

Drejtohet nga një klikim i përdoruesit.

Në rast të miratimit të përdoruesit se dhoma është ende në përdorim, fshin ID -në e ngjarjes nga "Dhomat për t'u fshirë". Ne kemi përdorur një fletë Google, çdo formë tjetër e një liste mund të jetë e rëndësishme këtu.

(3) DeleteCurrentEvent

Drejtohet nga një telefonatë Webhook.

Kërkon ID -në përkatëse të ngjarjes në listë (fleta Google) dhe e fshin atë ngjarje nga kalendari.

Hapi 5: Lidhni rrjedhën me kodin Arduino

Kodi i bashkangjitur lidhet me sensorët që kontrolluam disa hapa më parë me sistemin online (kalendari Google në rastin tonë). Kontrollon nëse dhoma është e zënë dhe pastaj nëse nuk është, dërgon një kërkesë HTTP (një Webhook) që fillon kërkesën e fshirjes së ngjarjes në Zapier.

Hapi 6: Rishikimi, Përfundimet dhe Shkallëzimi i së Ardhmes

Image
Image

Sfida kryesore me të cilën duhet të përballemi është mbulimi i të gjitha rasteve të fundit kur vendosni të lironi një dhomë takimesh. Atëherë na u desh të krijonim një makinë shtetërore duke marrë parasysh çdo rast të mundshëm, të tillë që të mos ndodhë një gabim dhe dhoma të vendoset si e disponueshme vetëm kur duhet.

Për shembull, nëse dhoma është e rezervuar për një grup që aktualisht nuk është atje (që është në pushim, për shembull), por ende ka nevojë për të, NODEMCU do të zbulojë se dhoma është falas> PROBLEM.

Pastaj, zgjidhja jonë ishte t'i dërgojmë email përdoruesit që rezervoi dhomën (e cila nuk ishte e thjeshtë të kuptohej) një mesazh që ofron mundësinë për të mbajtur dhomën.

Nëse përdoruesi nuk u përgjigj në një kohë të caktuar (e vendosëm atë në 5 minuta, por mund të ndryshohet lehtë), ne fshijmë ngjarjen nga kalendari (dhe lirojmë dhomën).

Në atë mënyrë, ne përfundimisht arritëm të trajtonim të gjithë skenarët e mundshëm dhe të krijonim një sistem pune.

KUFIZIMET E SISTEMIT TON:

1. Sensorët e përdorur duhet të jenë shumë të saktë dhe të ndjeshëm.

2. Madhësia e dhomës është e kufizuar në rrezen/gamën e sensorit.

3. Ne do të duhet të mbështetemi në reagimin e përdoruesit.

4. Sistemi ynë është ndërtuar duke përdorur disa platforma (kalendari Google, Gmail, Zapier etj.) Dhe do të duhet të përdorë shërbimin e tyre për të kryer.

5. Shkallëzimi i këtij shërbimi për dhoma të shumta (në vend të dublikimit të të gjithë sistemit) do të kërkojë një trajtim shtesë me ID të dhomës.

6. Sistemi është vetëm automatik dhe nuk ka një opsion manual për anulimin e një rezervimi të dhomës.

ZHVILLIMET E ARDHSHME:

Ne patjetër do ta zgjerojmë sistemin në dy mënyra:

1. Aftësia për të punuar me çdo platformë tjetër kalendarike (kështu që çdo kompani e hapësirave që bashkëpunojnë mund ta përdorë atë).

2. Aftësia për të trajtuar dhoma, dysheme dhe vende të shumta.

Ne besojmë se kjo lloj shkalle do të marrë 2-3 muaj për të përgjithësuar, testuar dhe shtuar veçorinë e dhomave të shumta (dysheme etj.).

Përveç kësaj, duke përdorur një sasi të pakufizuar parash dhe burimesh, ne do të përdorim sensorë më të mirë me një gamë më të madhe, së bashku me përshtatjen e tyre në dhomën e caktuar - duke marrë parasysh gamën, rrezen, sasinë e sensorëve, etj. Një hap që do ta bënte instalimin e çdo sistemi më të gjatë, padyshim

Recommended: