Բովանդակություն:

IDC2018IOT. Հանդիպումների սենյակ Snitcher: 6 քայլ
IDC2018IOT. Հանդիպումների սենյակ Snitcher: 6 քայլ

Video: IDC2018IOT. Հանդիպումների սենյակ Snitcher: 6 քայլ

Video: IDC2018IOT. Հանդիպումների սենյակ Snitcher: 6 քայլ
Video: 😤 😡 Lyft & Uber No Tips Ամբողջ գիշեր 💰 2024, Հուլիսի
Anonim
IDC2018IOT. Հանդիպումների սենյակ Snitcher
IDC2018IOT. Հանդիպումների սենյակ Snitcher

ԽՆԴԻՐԸ

Ինչպես գիտենք, վերջին մի քանի տարիների ընթացքում համատեղ տարածքների միտումն արագացել է, ինչպես նաև գերժամանակակից տեխնոլոգիան, որը սահմանում է ձեր կարիքներին համապատասխան կոնկրետ համատեղ աշխատատեղի ընտրությունը:

Առաջարկվող հիմնական հատկանիշներից է համատեղ աշխատասենյակի անդամներին տրամադրվող հանդիպումների ընդհանուր սենյակները, որը կառավարվում է (սովորաբար) օրացույցային պարզ հարթակի կողմից:

Խնդիրը կրկնվում է, քանի որ մարդկանց ժամանակացույցը հակված է դինամիկ լինելու:

Մեկը կարող է սենյակ պատվիրել ՝ մտածելով, որ նրան դա կարող է անհրաժեշտ լինել և չի ցանկանա բաց թողնել ժամանակային հատվածը:

Նույնիսկ եթե մեկը ի վերջո չօգտագործի այդ ժամկետը, նա չի անհանգստանա այդ մասին ծանուցելու և չեղյալ հայտարարելու հանուն ուրիշների, քանի որ, ցավոք, դա մարդկային բնույթ է:

ԻՆՉՊԵ՞Ս ԵՆՔ ԼՈVEՈՄ:

Օգտագործելով IoT տեխնոլոգիան `ստուգելով ձայնը և շարժումը նշանակված հանդիպումների սենյակում, մենք ստուգում ենք յուրաքանչյուր որոշակի ժամանակամիջոց` սենյակը ամրագրված է և իրականում զբաղված է, թե ոչ.

1. Եթե այն ամրագրված չէ, ոչինչ մի արեք:

2. Եթե այն ամրագրված է, ստուգեք, արդյոք որևէ շարժում կամ ձայն հայտնաբերվե՞լ է.

Եթե կա, ոչինչ մի արեք:

Եթե ոչինչ չի հայտնաբերվել, ուղարկեք նախազգուշական հաղորդագրություն (էլ. Փոստով) այն սենյակին ամրագրած օգտվողին, որը հարցնում է, թե արդյոք սենյակը դեռ օգտագործվում է: եթե օգտագործողը չի հայտարարում, որ դեռ օգտագործում է սենյակը, սենյակի կարգավիճակը կփոխվի «Առկա»:

* Այստեղ մենք ինտեգրեցինք մեր նախագիծը Google Օրացույցի հետ `հնարավորինս ընդհանրացնելու համար:

Քայլ 1: Անհրաժեշտ սարքավորումներ և արձանագրություններ

Պահանջվում են սարքավորումներ և արձանագրություններ
Պահանջվում են սարքավորումներ և արձանագրություններ

1. Մենք օգտագործել ենք NOSEMCU- ն, որպեսզի կարողանանք դինամիկ կերպով թարմացնել իրերը ՝ օգտագործելով WIFI կապը:

2. Խոսափողի սենսոր, որը «կկարդա» աղմուկը սենյակում:

3. PIR սենսոր, որը կստուգի շարժում կա, թե ոչ:

Softwareրագրային ապահովման և սերվերների օգտագործման համար, բացի Arduino- ի ծածկագրից, մենք օգտագործեցինք Google Script և Zapier ՝ մեր համակարգն առցանց աջակցելու համար: Դուք կարող եք տեսնել հոսքը ավելացված նկարի (և PDF) վրա:

Մենք օգտագործել ենք Zapier- ը ՝ ծրագրերը միացնելու և մեր աշխատանքային հոսքերը ավտոմատացնելու համար (օրինակ ՝ IFTTT), և Google Script- ի օգնությամբ կարող ենք կապ հաստատել Google Օրացույցի հետ: Մեր գրած սցենարը ստեղծում է իրադարձության ստեղծողի էլ. Հասցեն, որպեսզի մենք կարողանանք այն ուղարկել Zapier- ին և ստուգել, թե արդյոք օգտվողը խնդրել է պահել սենյակը (որոշ տեղեկություններ Google Sheets- ում պահելով) նախքան միջոցառումը ջնջելը:

Քայլ 2: Միացրեք խոսափողը և PIR տվիչը

Միացրեք խոսափողը և PIR տվիչը
Միացրեք խոսափողը և PIR տվիչը
Միացրեք խոսափողը և PIR տվիչը
Միացրեք խոսափողը և PIR տվիչը

Մենք ցանկանում էինք ստուգել խոսափողի միջին արժեքները NODEMCU- ում, երբ մարդիկ խոսում են (հստակ է, որ յուրաքանչյուր սենյակում տարբեր ֆոնային ձայներ են հնչել): Մենք որոշ փորձարկումներ կատարեցինք և հասկացանք, որ աղմուկի միջին մակարդակը այն սենյակն է, որտեղ մենք աշխատել ենք, ինչ -որ տեղ 50 -ից բարձր է:

PIR սենսորը տալիս է միայն HIGH կամ LOW արժեքներ, այնպես որ մենք միայն ստուգել ենք զգայունության մակարդակը, որն առավել ճշգրիտ է մեր ստուգած սենյակի համար: Այս ուղեցույցը բավականին օգտակար էր:

ՄԵՐ ԿԱՊԵՐԸ

Խոսափող - ինչպես նկարի մեջ 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 (բացատրություն հետևյալ քայլին) ՝ ընթացիկ իրադարձության տվյալները ստանալու համար ՝ իրադարձության անունը, իրադարձության ID- ն, օգտվողի էլ.

(3) ՖԻԼՏԵՐ - ՄԻԱՅՆ ՇԱՐՈՆԱԿԵԼ ԵԹԵ

Շարունակեք հաջորդ քայլին միայն այն դեպքում, երբ օրացույցում տեղի է ունենում որևէ իրադարձություն (որևէ իրադարձություն) (ՍԵՆՅԱԿԸ ԲՅՈՍ Է), հակառակ դեպքում այն դադարում է, քանի որ սենյակը դատարկ է:

(4) ԱԿCTԻԱ - GMAILZapier- ը Gmail- ի միջոցով էլ.

(5) ԳՈՐՈՈ --ԹՅՈ --Ն - ՈELՇԱԴՐՈԹՅՈՆ Թույլ տվեք օգտվողին պատասխանել էլ.փոստին: - Եթե օգտվողը կտտացնում է հղմանը. Զանգահարեք (գործարկեք) GoogleScript- ը - ApproveCurrentEvent (Հետևաբար, սենյակը հանվում է «toնջելու սենյակներ» ցուցակից, և սենյակը դեռ նշվում է որպես զբաղված)

(6) ԳՈՐՈՈ --ԹՅՈՆ - ՍՏԱՆԱԼ 5 րոպե անց apապիերը զանգում է (աշխատում) GoogleScript - DeleteCurrentEvent- Եթե օգտվողը չի սեղմել հղումը

Ստուգում է, արդյոք սենյակի ID- ն «toնջվող սենյակներ» ցանկում է

դա պարզապես հեռացնում է իրադարձությունը:

Քայլ 4: Google Scripts

Google Scripts
Google Scripts
Google Scripts
Google Scripts
Google Scripts
Google Scripts

Ամբողջ համակարգը ինտեգրելով, GoogleScripts- ը IDE- ի աննշան ընտրությունն էր: Այսպիսով, մենք օգտագործեցինք համապատասխան Google գրադարանները: Կփոխվեր ըստ սենյակների ամրագրման հարթակի:

(1) GetCurrentEmailEventID

Գործում է Webhook զանգի միջոցով:

Օգտագործելով որոշակի օֆսեթ `հնարավոր բացթողումը չեղարկելու համար` ստանալով իրադարձության ընթացիկ տվյալները:

(2) ApproveCurrentEvent

Գործարկում է օգտվողի կտտոցով:

Եթե օգտագործողը հաստատում է, որ սենյակը դեռ օգտագործվում է, ջնջում է իրադարձության ID- ն «toնջելու սենյակներ» կետից: Մենք օգտագործել ենք 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. Բազմաթիվ սենյակների համար այս ծառայությունը (ամբողջ համակարգը կրկնօրինակելու փոխարեն) կպահանջի լրացուցիչ վարում սենյակի ID- ով:

6. Համակարգը միայն ավտոմատ է, և սենյակի ամրագրումը չեղարկելու ձեռքով տարբերակ չկա:

ԱՊԱԳԱ ԱՐԳԱՈՄՆԵՐ

Մենք, անշուշտ, կմեծացնենք համակարգը երկու եղանակով.

1. calendarանկացած այլ օրացուցային հարթակների հետ աշխատելու ունակություն (այնպես որ ցանկացած համատեղ տարածքների ընկերություն կարող է օգտագործել այն):

2. Բազմաթիվ սենյակներ, հատակներ և վայրեր վարելու ունակություն:

Մենք հավատում ենք, որ նման մասշտաբի համար 2-3 ամիս կպահանջվի ընդհանրացնելու, փորձարկելու և մի քանի սենյակ (հարկեր և այլն) հատկությունը ավելացնելու համար:

Բացի այդ, օգտագործելով անսահմանափակ գումար և միջոցներ, մենք կօգտագործենք ավելի մեծ տեսականի ունեցող ավելի լավ տվիչներ `դրանք համապատասխան սենյակում հարմարեցնելով` հաշվի առնելով տիրույթը, շառավիղը, տվիչների քանակը և այլն: Քայլ, որը կդարձնի յուրաքանչյուր համակարգի երկար տեղադրումը, ակնհայտորեն.

Խորհուրդ ենք տալիս: