Talaan ng mga Nilalaman:

IDC2018IOT: Meeting Room Snitcher: 6 Hakbang
IDC2018IOT: Meeting Room Snitcher: 6 Hakbang

Video: IDC2018IOT: Meeting Room Snitcher: 6 Hakbang

Video: IDC2018IOT: Meeting Room Snitcher: 6 Hakbang
Video: How Popeyes Be Training They Employees 2024, Hulyo
Anonim
IDC2018IOT: Meeting Room Snitcher
IDC2018IOT: Meeting Room Snitcher

ANG PROBLEMA

Tulad ng nalalaman natin, ang takbo ng mga co-working space ay nagpapabilis sa nagdaang ilang taon, kasama ang teknolohiyang pang-gilid na tumutukoy sa pagpili ng tukoy na puwang ng co-working na umaangkop para sa iyong mga pangangailangan.

Ang isa sa mga pangunahing tampok na inaalok ay ibinahaging mga silid ng pagpupulong na inaalok sa mga kasosyo sa puwang ng mga kasapi ', na pinamamahalaan ng isang (karaniwang) simpleng platform ng kalendaryo.

Ang isang problema ay muling nagrereccurs habang ang mga iskedyul ng mga tao ay may kaugaliang maging pabago-bago.

Ang isa ay maaaring mag-book ng isang silid na nag-iisip na maaaring kailanganin niya ito at hindi nais na makaligtaan ang time slot.

Kahit na ang isa ay hindi gagamit ng time slot na iyon sa huli, hindi siya mag-aabala upang abisuhan at kanselahin ito alang-alang sa iba, tulad ng, sa kasamaang palad, iyon ang likas na tao.

PAANO NATIN ITO MASUSULUSYAN?

Paggamit ng teknolohiyang IoT - pagsuri sa tunog at paggalaw sa isang itinalagang silid ng pagpupulong, sinusuri namin, bawat tiyak na agwat ng oras, kung ang isang silid ay nai-book at talagang sinakop o hindi:

1. Kung hindi ito nai-book, huwag gawin.

2. Kung nai-book ito, suriin kung mayroong anumang kilusan o tunog na nakita;

Kung meron man, huwag gumawa.

Kung walang napansin, magpadala ng mensahe ng babala (sa pamamagitan ng email) sa gumagamit na nag-book ng silid na nagtanong kung ginagamit pa ang silid. maliban kung idedeklara ng gumagamit na gumagamit pa siya ng silid, ang katayuan ng silid ay mababago sa "Magagamit".

* Dito, isinama namin ang aming proyekto sa Google Kalendaryo upang gawing pangkalahatan ito hangga't maaari.

Hakbang 1: Kailangan ng Hardware at Mga Protocol

Kailangan ng Hardware at Protocols
Kailangan ng Hardware at Protocols

1. Ginamit namin ang NOSEMCU upang ma-update namin ang mga bagay nang pabago-bago gamit ang koneksyon sa WIFI.

2. Mikropono sensor na "basahin" ang ingay sa silid.

3. PIR sensor na susuriin kung mayroong anumang paggalaw.

Para sa paggamit ng software at server, bukod sa code sa Arduino, ginamit namin ang Google Script at Zapier upang suportahan ang aming system sa online. Maaari mong makita ang daloy sa idinagdag na larawan (at PDF).

Ginamit namin ang Zapier upang kumonekta sa mga app at i-automate ang aming mga daloy ng trabaho (tulad ng IFTTT) at ginamit namin ang Google Script upang matulungan kaming makipag-usap sa Google Calendar. Ang script na sinulat namin ay gumagawa ng email ng tagalikha ng kaganapan upang maipadala namin ito sa Zapier at suriin kung hiniling ng gumagamit na hawakan ang silid (sa pamamagitan ng pag-save ng ilang impormasyon sa Google Sheets) bago tanggalin ang kaganapan.

Hakbang 2: Ikonekta ang Mikropono at ang PIR Sensor

Ikonekta ang Mikropono at ang PIR Sensor
Ikonekta ang Mikropono at ang PIR Sensor
Ikonekta ang Mikropono at ang PIR Sensor
Ikonekta ang Mikropono at ang PIR Sensor

Nais naming suriin ang average na mga halaga ng mga post ng mikropono sa NODEMCU kapag ang mga tao ay nagsasalita (malinaw, sa bawat silid ay may iba't ibang mga ingay sa background). Nagsagawa kami ng pagsubok at napagtanto na ang average na antas ng ingay ay ang silid na pinagtatrabahuhan namin na nasa itaas ng 50.

Ang sensor ng PIR ay nagbibigay lamang ng MATAAS o Mababang halaga kaya't nasuri lamang namin ang antas ng pagiging sensitibo na ang pinaka tumpak sa silid na aming nasuri. Ang gabay na ito ay medyo kapaki-pakinabang.

Ang aming mga koneksyon:

Mikropono - tulad ng sa larawanPIR sensor: GND> GND, OUT> D7, VCC> VN (5V)

Hakbang 3: Lumikha ng Workflow sa Zapier

Lumikha ng Workflow sa Zapier
Lumikha ng Workflow sa Zapier
Lumikha ng Workflow sa Zapier
Lumikha ng Workflow sa Zapier
Lumikha ng Workflow sa Zapier
Lumikha ng Workflow sa Zapier

Upang malaman kung ang silid ay talagang walang laman o ginagamit pa rin (at ang mga gumagamit ay nasa pahinga halimbawa), nais naming lumikha ng isang daloy na tinitiyak ito, pagkatapos mismo ng NodeMCU na magputok ng isang Webhook sa Zapier na aabisuhan na ang walang laman ang silid:

(1) TRIGGER - Nahuli ng CATCH HOOKZapier ang Webhook (na ipapadala ng NODEMCU)

(2) ACTION - Nagpadala ang GETZapier ng isa pang Webhook upang makuha ang data ng kaganapan;> Tumatawag ito (nagpapatakbo) ng isang GoogleScript - GetCurrentEmailEventID (paliwanag sa sumusunod na hakbang), upang makuha ang kasalukuyang data ng kaganapan - pangalan ng kaganapan, ID ng kaganapan, email ng gumagamit.

(3) FILTER - ITUTULOY LANG KUNG KUNG

Magpatuloy lamang sa susunod na hakbang kung mayroong isang kaganapan (anumang kaganapan) na kasalukuyang nangyayari sa kalendaryo (ROOM IS BUSY), kung hindi man, titigil habang bakante ang silid.

(4) ACTION - Nagpadala ang GMAILZapier ng isang e-mail, sa pamamagitan ng Gmail, sa gumagamit na nag-book ng silid (nakuha ang impormasyong ito sa hakbang 2)

(5) ACTION - PANAHIMING PARAIN Hayaan ang oras ng gumagamit upang tumugon sa email.- Kung ang gumagamit ay nag-click sa link: tawagan (patakbuhin) ang GoogleScript - ApproveCurrentEvent (Samakatuwid Ang silid ay tinanggal mula sa listahan ng 'Mga Kwarto upang tanggalin', at ang ang silid ay minarkahan pa rin bilang okupado.)

(6) ACTION - GET Pagkatapos ng 5 minuto, ang Zapier ay tumatawag (tumatakbo) GoogleScript - DeleteCurrentEvent- Kung ang gumagamit ay hindi nag-click sa link

Sinusuri kung ang room ID ay nasa listahan ng 'Mga kuwartong tatanggalin'

tinatanggal lang ang kaganapan.

Hakbang 4: Google Script

Google Script
Google Script
Google Script
Google Script
Google Script
Google Script

Habang isinama namin ang buong system, ang GoogleScripts ay walang gaanong pagpipilian ng isang IDE, Samakatuwid, gumamit kami ng nauugnay na Google Library. Magbabago alinsunod sa Platform ng Pag-book ng Room.

(1) GetCurrentEmailEventID

Pinapatakbo ng isang tawag sa Webhook.

Gumagamit ng isang tiyak na offset upang maalis ang posibleng pagkansela sa pagkakamali, pagkuha ng kasalukuyang data ng kaganapan.

(2) ApproveCurrentEvent

Pinapatakbo ng isang pag-click sa gumagamit.

Sa kaso ng pag-apruba ng isang gumagamit na ang silid ay ginagamit pa rin, tatanggalin ang event ID sa labas ng 'Mga Kuwartong tatanggalin'. Gumamit kami ng isang sheet ng Google, ang anumang iba pang anyo ng isang listahan ay maaaring may kaugnayan dito.

(3) DeleteCurrentEvent

Pinapatakbo ng isang tawag sa Webhook.

Naghahanap ng nauugnay na event ID sa listahan (Google sheet) at tinatanggal ang kaganapang iyon mula sa kalendaryo.

Hakbang 5: Ikonekta ang Daloy Sa Arduino Code

Ang nakalakip na code ay kumokonekta sa mga sensor na aming tiningnan ilang mga hakbang na ang nakakaraan sa online na system (kalendaryo ng Google sa aming kaso). Sinusuri nito kung ang silid ay abala at kung hindi, nagpapadala ito ng isang kahilingan sa HTTP (isang Webhook) na nagsisimula sa pagtanggal ng kahilingan sa kaganapan sa Zapier.

Hakbang 6: Balik-aral, Mga Konklusyon at Pag-scale sa Hinaharap

Image
Image

Ang pangunahing hamon na kinailangan naming harapin ay ang takpan ang lahat ng mga kaso ng gilid kapag nagpapasya na palayain ang isang silid-piting. Pagkatapos ay kinailangan naming lumikha ng isang machine ng estado na isinasaalang-alang ang bawat posibleng kaso, tulad ng isang error ay hindi mangyayari at ang silid ay itatakda bilang magagamit lamang kung kailan ito dapat.

Halimbawa, kung ang silid ay nai-book para sa ilang pangkat na kasalukuyang wala doon (halimbawa ay nasa pahinga, halimbawa), ngunit kailangan pa rin ito, matutukoy ng NODEMCU na ang silid ay libre> PROBLEMA.

Pagkatapos, ang aming solusyon ay i-email ang gumagamit na nag-book ng silid (na hindi simpleng malaman) isang messege na nagbibigay ng pagpipilian upang mapanatili ang paghawak sa silid.

Kung ang gumagamit ay hindi tumugon sa isang naibigay na oras (itinakda namin ito na 5 minuto, ngunit madali itong mababago), tatanggalin namin ang kaganapan mula sa kalendaryo (at palayain ang silid).

Sa ganoong paraan, sa kalaunan ay nagtagumpay kaming hawakan ang lahat ng posibleng mga sitwasyon at lumikha ng isang gumaganang system.

ANG ATING MGA LIMITASYON NG SISTEMA:

1. Ang mga ginamit na sensor ay dapat na maging napaka-tumpak at sensitibo.

2. Ang laki ng silid ay limitado sa radius / saklaw ng sensor.

3. Umaasa kami sa pagtugon ng gumagamit.

4. Ang aming system ay binuo gamit ang maraming mga platform (kalendaryo ng Google, Gmail, Zapier atbp.) At gagamitin ang kanilang serbisyo upang maisagawa.

5. Ang pag-scale sa serbisyong ito para sa maraming mga silid (sa halip na duplicate ang buong system) ay mangangailangan ng isang karagdagang paghawak sa room ID.

6. Ang system ay awtomatiko lamang at walang manu-manong pagpipilian para sa pagkansela ng isang pag-book ng silid.

Mga Pag-unlad sa Hinaharap:

Tiyak na susukat namin ang system sa dalawang paraan:

1. Kakayahang upang gumana sa anumang iba pang mga platform sa kalendaryo (kaya maaaring gamitin ito ng anumang kumpanya ng mga co-working space).

2. Kakayahang hawakan ang maraming silid, sahig, at mga site.

Naniniwala kami na ang ganitong uri ng sukat ay tatagal ng 2-3 buwan upang gawing pangkalahatan, subukan at magdagdag ng maraming tampok na mga silid (sahig atbp.).

Bilang karagdagan, gamit ang isang walang limitasyong halaga ng pera at mga mapagkukunan gagamitin namin ang mas mahusay na mga sensor na may mas malaking saklaw, kasama ang pagpapasadya sa mga ito sa itinalagang silid - isinasaalang-alang ang saklaw, radius, dami ng mga sensor atbp. Isang hakbang na gagawing mas mahaba ang pag-install ng bawat system, halata naman

Inirerekumendang: