Мазмұны:

IDC2018IOT: Жиналыс бөлмесі Snitcher: 6 қадам
IDC2018IOT: Жиналыс бөлмесі Snitcher: 6 қадам

Бейне: IDC2018IOT: Жиналыс бөлмесі Snitcher: 6 қадам

Бейне: IDC2018IOT: Жиналыс бөлмесі Snitcher: 6 қадам
Бейне: IDC European IoT Summit 2018 2024, Қараша
Anonim
IDC2018IOT: Жиналыс бөлмесі Snitcher
IDC2018IOT: Жиналыс бөлмесі Snitcher

МӘСЕЛЕСІ

Біз білетіндей, соңғы бірнеше жыл ішінде бірлескен жұмыс кеңістігінің үрдісі жеделдеп келеді, сонымен қатар сіздің қажеттіліктеріңізге сәйкес келетін нақты жұмыс кеңістігін таңдауды анықтайды.

Ұсынылатын негізгі мүмкіндіктердің бірі-жұмыс кеңістігінің мүшелеріне ұсынылатын ортақ жиналыс бөлмелері, оларды қарапайым күнтізбелік платформа басқарады.

Адамдар кестесі динамикалық болғандықтан, мәселе қайта пайда болады.

Бөлмені қажет деп ойлап, уақытты жіберіп алғысы келмейді.

Ақыр соңында, егер біреу бұл уақытты пайдаланбаса да, ол басқалар үшін бұл туралы хабарлаудан бас тартпайды, өкінішке орай, бұл адам табиғаты.

Біз оны қалай шешеміз?

IoT технологиясын қолдана отырып - тағайындалған жиналыс бөлмесінде дыбыс пен қозғалысты тексере отырып, біз әр уақыт аралығын тексереміз, бұл бөлмеге тапсырыс берілді ме, жоқ па, жоқ па:

1. Егер тапсырыс берілмесе, ештеңе жасамаңыз.

2. Егер тапсырыс берілсе, қозғалыс немесе дыбыс табылғанын тексеріңіз;

Егер бар болса, ештеңе жасамаңыз.

Егер ештеңе анықталмаса, бөлмені брондаған пайдаланушыға бөлме әлі де қолданылып жатқанын сұрайтын ескерту хабарын жіберіңіз (электрондық пошта арқылы). егер пайдаланушы бөлмені әлі де қолданамын деп жарияламаса, бөлме күйі «Қол жетімді» күйіне өзгертіледі.

* Мұнда біз мүмкіндігінше жалпылау үшін жобамызды Google Calendar -мен біріктірдік.

1 -қадам: Жабдықтар мен протоколдар қажет

Аппараттық құралдар мен протоколдар қажет
Аппараттық құралдар мен протоколдар қажет

1. Біз NOSEMCU қолдандық, сондықтан WIFI байланысын қолдана отырып, заттарды динамикалық түрде жаңарта алдық.

2. Бөлмедегі шуды «оқитын» микрофон сенсоры.

3. Қозғалыс бар -жоғын тексеретін PIR сенсоры.

Бағдарламалық қамтамасыз ету мен серверді қолдану үшін Arduino кодынан басқа, біз жүйемізді желіде қолдау үшін Google Script пен Zapier қолдандық. Сіз ағынды қосылған суреттен (және PDF) көре аласыз.

Біз Zapier -ді қосымшаларды қосу және жұмыс процестерімізді автоматтандыру үшін қолдандық (IFTTT сияқты) және біз Google күнтізбесімен байланысуға көмектесу үшін Google Script -ті қолдандық. Біз жазған сценарий оқиға жасаушының электронды поштасын шығарады, сондықтан біз оны Zapier жібере аламыз және пайдаланушы оқиғаны жоймас бұрын бөлмені ұстауды сұрағанын (Google Sheets -те сақтау арқылы) тексереді.

2 -қадам: микрофон мен PIR сенсорын қосыңыз

Микрофон мен PIR сенсорын қосыңыз
Микрофон мен PIR сенсорын қосыңыз
Микрофон мен PIR сенсорын қосыңыз
Микрофон мен PIR сенсорын қосыңыз

Біз адамдар сөйлескен кезде NODEMCU микрофонына жіберетін орташа мәндерді тексергіміз келді (әр бөлмеде әр түрлі фондық дыбыстар болды). Біз тестілеуден өттік және шудың орташа деңгейі біз жұмыс істейтін бөлме 50 -ден жоғары екенін түсіндік.

PIR сенсоры тек ЖОҒАРЫ немесе ТӨМЕН мәндерді береді, сондықтан біз тек біз тексерген бөлмеге ең дәл сезімталдық деңгейін тексердік. Бұл нұсқаулық өте пайдалы болды.

БІЗДІҢ БАЙЛАНЫСТАР:

Микрофон - суреттегідей PIR сенсоры: GND> GND, OUT> D7, VCC> VN (5V)

3 -қадам: Zapier бағдарламасында жұмыс процесін жасаңыз

Zapier бағдарламасында жұмыс процесін жасаңыз
Zapier бағдарламасында жұмыс процесін жасаңыз
Zapier бағдарламасында жұмыс процесін жасаңыз
Zapier бағдарламасында жұмыс процесін жасаңыз
Zapier бағдарламасында жұмыс процесін жасаңыз
Zapier бағдарламасында жұмыс процесін жасаңыз

Бөлменің шынымен бос немесе әлі де қолданылып жатқанын білу үшін (және, мысалы, пайдаланушылар үзілісте), біз NodeMCU Webhook -ты Zapier -ге жібергеннен кейін оны қамтамасыз ететін ағынды құрғымыз келеді. бөлме бос:

(1) TRIGGER - CATCH HOOKZapier Webhook ұстайды (оны NODEMCU жібереді)

(2) ӘРЕКЕТ - GETZapier оқиға деректерін алу үшін басқа Webhook жібереді;> Ол ағымдағы оқиға деректерін алу үшін GoogleScript - GetCurrentEmailEventID (келесі қадамдағы түсініктеме) шақырады (іске қосады), оқиға аты, оқиға идентификаторы, пайдаланушының электрондық поштасы.

(3) СҮЗГІ - ТЕК ЖАЛҒАСТЫРЫҢЫЗ

Келесі қадамға күнтізбеде (ROOM IS BUSY) болып жатқан оқиға (кез келген оқиға) болған жағдайда ғана жалғастырыңыз, әйтпесе бөлме бос болғандықтан тоқтайды.

(4) ӘРЕКЕТ - GMAILZapier Gmail арқылы бөлмеге тапсырыс берген пайдаланушыға электрондық пошта жібереді (бұл ақпаратты 2 -қадамда алды)

(5) ӘРЕКЕТ - КЕШІКТІРУ Пайдаланушыға электрондық поштаға жауап беру уақытын беріңіз. - Егер пайдаланушы сілтемені басса: GoogleScript -ке қоңырау шалыңыз (іске қосыңыз) - ApproveCurrentEvent (Демек, бөлме 'Жойылатын бөлмелер' тізімінен шығарылады. бөлме әлі де бос деп белгіленген.)

(6) ӘРЕКЕТ - АЛУ 5 минуттан кейін Zapier GoogleScript - DeleteCurrentEvent қоңырау шалады (жұмыс істейді) - Егер пайдаланушы сілтемені баспаса

Бөлменің идентификаторы 'Жоюға болатын бөлмелер' тізімінде екенін тексереді

бұл оқиғаны жояды.

4 -қадам: Google сценарийлері

Google сценарийлері
Google сценарийлері
Google сценарийлері
Google сценарийлері
Google сценарийлері
Google сценарийлері

Біз бүкіл жүйені біріктірген кезде, GoogleScripts IDE -дің қарапайым таңдауы болды, сондықтан біз тиісті Google кітапханаларын қолдандық. Бөлмені брондау платформасына сәйкес өзгереді.

(1) GetCurrentEmailEventID

Webhook қоңырауы арқылы орындалады.

Болмайтын жіберуді болдырмау үшін белгілі бір офсетті қолдану, ағымдағы оқиға деректерін алу.

(2) CurrentEvent бекітіңіз

Пайдаланушы шерту арқылы іске қосылады.

Бөлменің әлі де қолданылуын пайдаланушы мақұлдаған жағдайда, оқиға идентификаторы 'Жоюға болатын бөлмелерден' жойылады. Біз Google парағын қолдандық, бұл жерде кез келген басқа тізім нысаны маңызды болуы мүмкін.

(3) DeleteCurrentEvent

Webhook қоңырауы арқылы орындалады.

Тізімнен тиісті оқиға идентификаторын іздейді (Google парағы) және сол оқиғаны күнтізбеден жояды.

5 -қадам: Ағынды Arduino кодымен қосыңыз

Қосылған код бірнеше қадам бұрын біз тексерген сенсорларға онлайн жүйеге қосылады (Google күнтізбесі біздің жағдайда). Ол бөлменің бос емес екенін тексереді, содан кейін ол болмаса, HTTP сұрауын жібереді (Webhook), ол Zapier -де оқиға сұрауын бастайды.

6 -қадам: шолу, қорытынды және болашақ масштабтау

Image
Image

Біз шешуге тиіс негізгі мәселе - жиналыс бөлмесін босату туралы шешім қабылдаған кездегі барлық жағдайларды жабу. Біз кез келген мүмкін болатын жағдайды ескере отырып, мемлекеттік машинаны құруға мәжбүр болдық, сондықтан қате болмайды және бөлме қажет болғанда ғана қол жетімді болады.

Мысалы, егер бөлме қазір жоқ топқа тапсырыс берсе (мысалы, үзілісте), бірақ оған әлі де қажет болса, NODEMCU бөлменің бос екенін анықтайды> МӘСЕЛЕ.

Содан кейін, біздің шешіміміз - бөлмені брондаған пайдаланушыға электрондық поштаны жіберу (оны түсіну оңай емес), ол бөлмені ұстап тұру мүмкіндігін береді.

Егер пайдаланушы берілген уақыт ішінде жауап бермесе (біз оны 5 минут деп қойдық, бірақ оны оңай өзгертуге болады), біз оқиғаны күнтізбеден өшіреміз (және бөлмені босатамыз).

Осылайша, біз ақыр соңында барлық ықтимал сценарийлерді өңдеуге және жұмыс жүйесін құруға қол жеткіздік.

БІЗДІҢ ЖҮЙЕ ШЕКТЕМЕЛЕРІ:

1. Қолданылған сенсорлар өте дәл және сезімтал болуы керек.

2. Бөлменің көлемі сенсордың радиусына/диапазонына шектелген.

3. Біз пайдаланушының жауаптылығына сенуге мәжбүр боламыз.

4. Біздің жүйе бірнеше платформалар арқылы құрылған (Google күнтізбесі, Gmail, Zapier және т.б.) және оларды орындау үшін олардың қызметін пайдалану қажет болады.

5. Бұл қызметті бірнеше бөлмеге масштабтау (бүкіл жүйені қайталаудың орнына) бөлме идентификаторы бар қосымша өңдеуді қажет етеді.

6. Жүйе тек автоматты түрде және бөлмеге тапсырыс беруден бас тартудың қолмен нұсқасы жоқ.

БОЛАШАҚ ДАМУЛАР:

Біз жүйені екі жолмен кеңейтетін боламыз:

1. Кез келген басқа күнтізбелік платформалармен жұмыс істеу мүмкіндігі (сондықтан кез келген бірлескен кеңістіктегі компания оны пайдалана алады).

2. Бірнеше бөлмелерді, едендерді және сайттарды өңдеу мүмкіндігі.

Біздің ойымызша, мұндай масштабты жалпылауға, тексеруге және бірнеше бөлмеге (қабаттарға және т.б.) қосуға 2-3 ай қажет болады.

Сонымен қатар, шектеусіз ақша мен ресурстарды қолдана отырып, біз үлкен диапазондағы жақсы сенсорларды қолданамыз, оларды арнайы бөлмеге баптаймыз - диапазонды, радиусты, датчиктердің санын ескере отырып және т. анық

Ұсынылған: