Мазмуну:

IDC2018IOT: Жолугушуу залы Snitcher: 6 кадам
IDC2018IOT: Жолугушуу залы Snitcher: 6 кадам

Video: IDC2018IOT: Жолугушуу залы Snitcher: 6 кадам

Video: IDC2018IOT: Жолугушуу залы Snitcher: 6 кадам
Video: Visage ps5. Лицо. Прохождение. #1 2024, Ноябрь
Anonim
IDC2018IOT: Жолугушуу залы Snitcher
IDC2018IOT: Жолугушуу залы Snitcher

МАСЕЛЕ

Белгилүү болгондой, акыркы бир нече жылдын ичинде биргелешип иштөө мейкиндигинин тенденциясы тездетилип жатат, жана акыркы технологиялар сиздин муктаждыктарыңызга туура келген конкреттүү биргелешип иштөө мейкиндигин аныктайт.

Сунушталган негизги өзгөчөлүктөрдүн бири-бул чогуу иштеген мейкиндиктин мүчөлөрүнө сунушталган жолугушуу бөлмөлөрү, алар (адатта) жөнөкөй календардык платформа менен башкарылат.

Адамдардын графиги динамикалуу болгондуктан, көйгөй кайра жаралат.

Кимдир бирөө керектүү болушу мүмкүн деп ойлонуп, убакытты өткөрүп жибергиси келбейт.

Акыр -аягы, кимдир бирөө бул убакытты колдонбосо дагы, ал башкалар үчүн эскертип, жокко чыгаруудан уялбайт, анткени, тилекке каршы, бул адамдын табияты.

БИЗ КАНТИП ЧЕЧЕБИЗ?

IoT технологиясын колдонуу - дайындалган жолугушуу бөлмөсүндөгү үндү жана кыймылды текшерүү, биз ар бир белгилүү убакыт аралыгында, бөлмө заказ кылынганын жана иш жүзүндө ээленгендигин текшерип турабыз:

1. Эгерде заказ кылынбаса, эч нерсе кылбаңыз.

2. Эгерде ал заказ кылынса, анда кыймыл же үн табылганын текшериңиз;

Эгерде бар болсо, эч нерсе кылбаңыз.

Эгерде эч нерсе аныкталбаса, бөлмө ээлеп койгон колдонуучуга эскертүү билдирүүсүн (электрондук почта аркылуу) жөнөтүңүз, ал бөлмө дагы эле колдонулуудабы деп сурайт. эгер колдонуучу бөлмөнү колдонуп жатканын билдирбесе, бөлмө статусу "Жеткиликтүү" болуп өзгөрөт.

* Бул жерде биз долбоорду мүмкүн болушунча жалпылаштыруу үчүн Google Календарь менен бириктирдик.

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

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

1. Биз NOSEMCU колдондук, ошондуктан WIFI туташуусун колдонуп нерселерди динамикалуу түрдө жаңырта алдык.

2. Бөлмөдөгү ызы -чууну "окуй турган" микрофон сенсору.

3. Кыймыл жок болсо текшере турган PIR сенсор.

Программалык камсыздоону жана серверди колдонуу үчүн, Arduino кодунан тышкары, Google Script жана Zapier аркылуу тутумубузду онлайн режиминде колдоого алдык. Сиз кошулган сүрөттө (жана PDF) агымды көрө аласыз.

Биз Zapier'ди колдонмолорду туташтыруу жана жумуш процесстерибизди автоматташтыруу үчүн колдонгонбуз (IFTTT сыяктуу) жана биз Google Календары менен байланышууга жардам берүү үчүн Google Scriptти колдондук. Биз жазган сценарий иш -чаранын жаратуучусунун электрондук почтасын чыгарат, ошондуктан биз аны Zapierге жөнөтө алдык жана колдонуучу иш -чараны өчүрүүдөн мурун бөлмөнү кармап турууну суранганын (Google Барактарына сактоо менен) текшерет.

2 -кадам: Микрофон менен PIR сенсорун туташтырыңыз

Микрофон менен PIR сенсорун туташтырыңыз
Микрофон менен PIR сенсорун туташтырыңыз
Микрофон менен PIR сенсорун туташтырыңыз
Микрофон менен PIR сенсорун туташтырыңыз

Биз микрофон NODEMCUга адамдар сүйлөп жатканда орточо маанилерди текшерүүнү кааладык (так, ар бир бөлмөдө ар кандай фон үндөрү болгон). Биз бир аз тестирлөөдөн өткөрүп, ызы -чуунун орточо деңгээли биз иштеген бөлмө 50дөн жогору экенин түшүндүк.

PIR сенсору ЖОК же ТӨМ маанилерди гана берет, ошондуктан биз текшерген бөлмөгө эң так болгон сезимталдык деңгээлин гана текшердик. Бул колдонмо абдан пайдалуу болду.

БИЗДИН БАЙЛАНЫШТАР:

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

3 -кадам: Zapierде Workflow түзүңүз

Жумуш агымын Zapierде түзүңүз
Жумуш агымын Zapierде түзүңүз
Жумуш агымын Zapierде түзүңүз
Жумуш агымын Zapierде түзүңүз
Жумуш агымын Zapierде түзүңүз
Жумуш агымын Zapierде түзүңүз

Бөлмө чындыгында бош же дагы эле колдонулуп жаткандыгын билүү үчүн (жана, мисалы, колдонуучулар тыныгууда), биз NodeMCU Zapierге Webhookту күйгүзгөндөн кийин, аны камсыз кылган агымды түзгүбүз келет. бөлмө бош:

(1) TRIGGER - CATCH HOOKZapier Webhookту кармайт (бул NODEMCU тарабынан жөнөтүлөт)

(2) АРАКЕТ - GETZapier иш -чаранын маалыматын алуу үчүн башка Webhookту жөнөтөт;> Бул GoogleScript - GetCurrentEmailEventID (кийинки кадамда түшүндүрмө), окуялардын аталышын, окуянын идентификаторун, колдонуучунун электрондук почтасын алуу үчүн чакырат (иштетет).

(3) ФИЛТР - ГАНА УЛАНТЫЛСА

Кийинки кадамга календарда азыр болуп жаткан окуя (кандайдыр бир окуя) болгон учурда гана улантыңыз (ROOM IS BUSY), антпесе бөлмө бош болгондуктан токтойт.

(4) АРАКЕТ - GMAILZapier Gmail аркылуу бөлмөнү ээлеп койгон колдонуучуга электрондук кат жөнөтөт (бул маалыматты 2 -кадамда алган)

(5) АРАКЕТ - КЕЧИКТИРҮҮ Колдонуучунун электрондук катка жооп берүүсүнө убакыт бериңиз. - Колдонуучу шилтемени басса: GoogleScriptке чалуу (чуркоо) - ApproveCurrentEvent (Демек, бөлмө 'Өчүрүү бөлмөлөрү' тизмесинен алынып салынган жана бөлмө дагы эле бош деп белгиленген.)

(6) ACTION - Get 5 мүнөттөн кийин, Zapier GoogleScriptке чалат (чуркайт) - DeleteCurrentEvent- Эгерде колдонуучу шилтемени чыкылдатпаса

Бөлмөнүн идентификатору "Өчүрүлө турган бөлмөлөр" тизмесинде экенин текшерет

бул жөн эле окуяны жок кылат.

4 -кадам: Google скрипттери

Google Скрипттери
Google Скрипттери
Google Скрипттери
Google Скрипттери
Google Скрипттери
Google Скрипттери

Биз бүт системаны бириктиргенде, GoogleScripts IDEдин анча маанилүү эмес тандоосу болгон, ошондуктан, биз тиешелүү Google китепканаларын колдондук. Бөлмөнү ээлөө платформасына ылайык өзгөрмөк.

(1) GetCurrentEmailEventID

Webhook чалуусу менен иштейт.

Мүмкүн болгон жокко чыгарууну жок кылуу үчүн белгилүү бир ордун колдонуу, учурдагы окуя маалыматын алуу.

(2) ApproveCurrentEvent

Колдонуучу чыкылдатуу менен иштейт.

Колдонуучу бөлмө дагы эле колдонулууда деп ырастаган учурда, окуя ID'син 'Өчүрүү бөлмөлөрүнөн' өчүрөт. Биз Google баракчасын колдондук, бул жерде тизменин башка формасы тиешелүү болушу мүмкүн.

(3) DeleteCurrentEvent

Webhook чалуусу менен иштейт.

Тизмеден тиешелүү окуя IDсин издейт (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 ай талап кылынат деп ишенебиз.

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

Сунушталууда: