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

IoT անլար ջերմաստիճանի և շարժման տվիչ ՝ 11 քայլ (նկարներով)
IoT անլար ջերմաստիճանի և շարժման տվիչ ՝ 11 քայլ (նկարներով)

Video: IoT անլար ջերմաստիճանի և շարժման տվիչ ՝ 11 քայլ (նկարներով)

Video: IoT անլար ջերմաստիճանի և շարժման տվիչ ՝ 11 քայլ (նկարներով)
Video: Ահա, թե ինչու են գիշերվա կեսին ձգվում ոտքի մկանները. ընդամենը 2 բաղադրիչ, և 2024, Հուլիսի
Anonim
IoT անլար ջերմաստիճանի և շարժման ցուցիչ
IoT անլար ջերմաստիճանի և շարժման ցուցիչ

Ինձ ոգեշնչեց IoT- ի բազմաթիվ ծրագրեր, որոնք գտնվում են Instructables- ում, ուստի սովորելու ընթացքում ես փորձում եմ համատեղել որոշ օգտակար ծրագրեր, որոնք տեղին են: Որպես IoT ջերմաստիճանի տվիչի հետ կապված իմ նախորդ Instructables- ի ընդլայնում, ես այժմ ավելի շատ հնարավորություններ եմ ավելացրել ենթահամակարգին: Ավելացված գործառույթներն են.

- TPամանակ ստանալու համար NTP միացում

- LED, որը կարող է հեռակառավարվել

- PIR տվիչ `շարժումը հայտնաբերելու համար

- Միացված ազնվամորի PI, որն աշխատում է տնային հավաքածուով ՝ թույլ տալու միանալ «Տուն» iPhone- ին

Քայլ 1. Հայեցակարգը, կապը և բաղադրիչները

Հայեցակարգը, կապը և բաղադրիչները
Հայեցակարգը, կապը և բաղադրիչները

Հայեցակարգը, ինչպես ցույց է տրված վերևում, թույլ է տալիս թույլ տալ ջերմաստիճանի մոնիտորինգ հեռակա կարգով ՝ շարժման հայտնաբերման լրացուցիչ հնարավորությամբ, եթե ինչ -որ մեկը տանը է, և թույլատրել ծանուցումը LED- ի միջոցով: Սարքը կարող է մուտք գործել տեղական LAN կամ հեռակա ՝ վեբ սերվերի միջոցով: Կարող եք նաև ազնվամորու կարկանդակը (ըստ ցանկության) միացնել Homekit աքսեսուարին, որը թույլ է տալիս միանալ iPhone «Home» հավելվածին:

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

- NodeMcu Lua ESP8266 dev տախտակ: Ես իմը ստանում եմ banggood- ից:

- LM35 ջերմաստիճանի տվիչ

- PIR ցուցիչ

- LED

- Նախատիպի տախտակ

- Arduino IDE

- Աշխատող վեբ սերվեր ՝ php սերվերի սցենարագրումը միացված է

- Raspberry pi (ըստ ցանկության)

Քայլ 2: Աշխատեք Arduino IDE- ի հետ

Աշխատանքի բերեք Arduino IDE- ն
Աշխատանքի բերեք Arduino IDE- ն

Այս քայլի մանրամասների համար տե՛ս իմ նախկին հրահանգները ՝ քայլ 2. IoT ջերմաստիճանի տվիչի վերաբերյալ ESP8266- ով:

Քայլ 3. Connectերմաստիճանի տվիչի, LED- ի և PIR- ի միացում

Connectերմաստիճանի տվիչի, LED- ի և PIR- ի միացում
Connectերմաստիճանի տվիչի, LED- ի և PIR- ի միացում
Connectերմաստիճանի տվիչի, LED- ի և PIR- ի միացում
Connectերմաստիճանի տվիչի, LED- ի և PIR- ի միացում
Connectերմաստիճանի տվիչի, LED- ի և PIR- ի միացում
Connectերմաստիճանի տվիչի, LED- ի և PIR- ի միացում

Mերմաստիճանի տվիչ LM35- ն ունի 3 ոտք, առաջին ոտքը VCC է, կարող եք այն միացնել 3.3 Վ -ին (ESP8266 տախտակի ելքը 3.3 Վ է): Միջին ոտքը Vout է (որտեղից ջերմաստիճանը կարդում են, կարող եք այն միացնել ESP8266 pin AD0- ի անալոգային մուտքին, որը գտնվում է տախտակի վերևի աջ կողմում, ինչպես ցույց է տրված նկարում: Իսկ աջ ոտքը պետք է լինի կապված գետնին:

PIR տվիչը նույնպես բաղկացած է 3 ոտքից: Դուք կարող եք տեսնել փոքր նշան +, 0, - ոտքի կողքին գտնվող PCB- ի վրա: Այսպիսով, «+»-ը միացրեք 3.3 Վ-ին, «-»-ը գետնին, իսկ միջին «0»-ը ՝ ESP8266- ի D6 կապին:

LED- ն ուներ ընդամենը 2 ոտք ՝ «+» (անոդ), ավելի երկար ոտքը սա միացրեք ESP8266- ի D5 կապին և «-» (կաթոդ), ավելի կարճ ոտքերը պետք է միացված լինեն գետնին (GND):

Քայլ 4: Ամպային վեբ սերվերի տեղադրում

Այս քայլի համար կա որոշակի ենթադրություն.

Դուք արդեն ունեք աշխատող վեբ սերվեր ՝ տեղակայված համապատասխան տիրույթում: Եվ դուք ծանոթ եք ֆայլեր ձեր վեբ սերվերին FTP- ի միջոցով Filezilla- ի կամ այլ FTP ծրագրի միջոցով փոխանցելուն:

Վերբեռնեք կցված zip ֆայլը ձեր վեբ կայքի արմատին: Ենթադրենք, որ այս վարժության համար ձեր կայքը «https://arduinotestbed.com» է

Ենթադրվում է, որ ամբողջ ֆայլը գտնվում է վեբ սերվերի արմատում, եթե այն պահված եք մեկ այլ թղթապանակի ներսում, խնդրում ենք համապատասխանաբար հարմարեցնել ֆայլի գտնվելու վայրը ինչպես ArduinoData3.php ֆայլում, այնպես էլ Arduino էսքիզում: Եթե վստահ չեք, խնդրում եմ ինձ տեղյակ պահեք, և ես կփորձեմ հնարավորինս օգնել:

Քայլ 5. Setերմաստիճանի տվյալները պահելու համար տվյալների բազայի ստեղծում

Setերմաստիճանի տվյալները պահելու համար տվյալների բազայի ստեղծում
Setերմաստիճանի տվյալները պահելու համար տվյալների բազայի ստեղծում
Setերմաստիճանի տվյալները պահելու համար տվյալների բազայի ստեղծում
Setերմաստիճանի տվյալները պահելու համար տվյալների բազայի ստեղծում
Setերմաստիճանի տվյալները պահելու համար տվյալների բազայի ստեղծում
Setերմաստիճանի տվյալները պահելու համար տվյալների բազայի ստեղծում

այս վարժության համար մենք օգտագործում ենք sqllite տվյալների բազան: Sqllite- ը թեթև ֆայլերի վրա հիմնված տվյալների շտեմարան է, որը սերվեր չի պահանջում: Տվյալների բազան տեղայնացված է ձեր վեբ սերվերում: Եթե ձեզ մտահոգում է անվտանգությունը, ապա պետք է փոփոխեք ծածկագիրը ՝ տվյալների բազայի համապատասխան սերվեր օգտագործելու համար, ինչպիսիք են mysql- ը կամ MSSQL- ը:

Սկսելուց առաջ դուք պետք է փոխեք տվյալների բազայի գաղտնաբառը, որը գտնվում է phpliteadmin.php ֆայլում: Այսպիսով, բացեք այս ֆայլը ձեր վեբ սերվերում և խմբագրեք գաղտնաբառի տվյալները 91 -րդ տողում ձեր ուզած գաղտնաբառի վրա:

Այնուհետեւ մատնանշեք phpliteadmin.php- ը ձեր վեբ սերվերում: Օգտագործելով մեր օրինակը ՝ նախ պետք է մատնանշեք

Քանի որ սերվերում չկա տվյալների բազա, ձեզ կներկայացվի էկրան ՝ տվյալների բազան ստեղծելու համար: Մուտքագրեք «temperature.db» նոր տվյալների բազայի մուտքագրման վանդակում և կտտացրեք «Ստեղծել» կոճակին: Այնուհետև տվյալների բազան հաջողությամբ կստեղծվի: Այս պահին տվյալների բազան դեռ դատարկ է, այնպես որ ձեզ հարկավոր կլինի sql սցենարը `տվյալների բազայի սեղանի կառուցվածքը ստեղծելու համար:

Քայլ 6: Ստեղծեք «ջերմաստիճանի» աղյուսակ

Ստեղծեք ՝
Ստեղծեք ՝
Ստեղծեք ՝
Ստեղծեք ՝

Աղյուսակ ստեղծելու համար կտտացրեք «SQL» ներդիրին և տեղադրեք հետևյալ sql հարցում:

ՍԿՍԵԼ ԳՈՐՈՆԵՈԹՅՈՆԸ;

-----Աղյուսակի կառուցվածքը ջերմաստիճանի համար ---- ՍՏԵԵԼ ՍԵABԱՆԻ «ջերմաստիճան» («ID» INTEGER PRIMARY KEY NOT NULL, խոնավություն INT NOT NULL, temperature REAL, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, «heatater» BOOLEAN, «goaltemp» ԻՐԱԿԱՆ); ՊԱՐՏԱՎՈՐՈԹՅՈՆ;

Այնուհետև կտտացրեք «Գնալ» կոճակին ներքևում: Աղյուսակը պետք է հաջողությամբ ստեղծվի:

Եթե էջը թարմացնեք, այժմ դուք պետք է տեսնեք «ջերմաստիճան» աղյուսակը temperature.db տվյալների բազայի տակ ՝ ձախ կողմում: Եթե կտտացնում եք ջերմաստիճանի սեղանին, եթե այն դեռ տվյալներ չի պարունակում:

Այժմ, երբ մենք ստեղծեցինք տվյալների բազան, կարող եք մատնանշել հետևյալ url- ը

arduinotestbed.com/ArduinoData3.php

Դուք կտեսնեք ջերմաստիճանի հավաքիչը, որը ցույց է տալիս կեղծ տվյալները, շարժման ցուցիչը և կառավարման վահանակը ՝ LED- ը շրջելու համար: Գրաֆիկի ստորին հատվածը դեռ դատարկ կլինի, քանի որ դեռ տվյալներ չկան:

Քայլ 7: Upերմաստիճանի տվիչների ուրվագիծը վերբեռնեք ձեր ESP8266- ում

Վերբեռնեք ջերմաստիճանի տվիչների ուրվագիծը ձեր ESP8266- ում
Վերբեռնեք ջերմաստիճանի տվիչների ուրվագիծը ձեր ESP8266- ում
Վերբեռնեք ջերմաստիճանի տվիչների ուրվագիծը ձեր ESP8266- ում
Վերբեռնեք ջերմաստիճանի տվիչների ուրվագիծը ձեր ESP8266- ում
Վերբեռնեք ջերմաստիճանի տվիչների ուրվագիծը ձեր ESP8266- ում
Վերբեռնեք ջերմաստիճանի տվիչների ուրվագիծը ձեր ESP8266- ում

Այժմ պատճենեք կցված ամբողջ ֆայլը և բացեք «ESP8266TempPIRSensor.ino» - ն Arduino ինտերֆեյսը կստեղծի թղթապանակը ձեզ համար: Մնացած ֆայլերը տեղափոխեք նոր թղթապանակ, որը ստեղծվել է Arduino ինտերֆեյսի միջոցով:

Անհրաժեշտության դեպքում փոփոխեք նշված վեբ սերվերը և data_store3.php ֆայլի գտնվելու վայրը: Այնուհետև ուրվագիծը վերբեռնեք ESP8266- ում:

Եթե ամեն ինչ լավ ընթանա, այն պետք է հաջողությամբ վերբեռնվի, և առաջին անգամ ESP- ն անցնում է AP ռեժիմի: Դրան միանալու համար կարող եք օգտագործել նոութբուքը կամ բջջային հեռախոսը: Դուք պետք է կարողանաք գտնել AP- ն «ESP-TEMP» անունով:- Փորձեք միանալ ESP-TEMP- ին `օգտագործելով բջջային հեռախոսի նոութբուքը: Պարզեք, թե որն է ձեզ նշանակված IP հասցեն` «ipconfig» հրամանը windows- ում կամ «ifconfig» հրամանը Linux- ում կամ mac- ում: -Եթե iphone- ից եք օգտվում, սեղմեք i կոճակին, որին միացված եք ESP-TEMP- ին. ունի ip 192.168.4.1, այնպես որ կարող եք պարզապես գնալ https://192.168.4.1 և ձեզ պետք է ներկայացվի կարգավորումների էջը, որտեղ կարող եք մուտքագրել ձեր wifi երթուղիչի ssid- ը և psk բանալին: երբ երկուսն էլ մուտքագրեք և նշեք «Update Wifi Config» վանդակը, կտտացրեք «թարմացում» ՝ կարգավորումը ձեր ESP8266- ին թարմացնելու համար:

Եթե ցանկանում եք միացնել վրիպազերծումը Սերիայի մոնիտորին, ապա ձեզ հարկավոր է չմեկնաբանել այն

#սահմանեք ԽԱԱՈԹՅՈՆԸ

տող ժամացույցի մեջ: ժ. և մեկնաբանեց

//#undef DEBUG

գիծ. ապա կտտացրեք Գործիքներ-> Սերիայի մոնիտոր: Սերիական մոնիտորի պատուհանը ցույց կտա ձեզ wifi կապի առաջընթացը և ցույց կտա ESP8266- ի տեղական IP հասցեն: Ներքին կապույտ LED- ը մեկ անգամ կթարթվի, երբ ջերմաստիճանի ընթերցումը տեղի կունենա: Այն նաև կմիացվի, երբ շարժում հայտնաբերվի:

Քայլ 8: Մուտք գործեք ձեր ջերմաստիճանի և շարժման տվիչ

Մուտք գործեք ձեր ջերմաստիճանի և շարժման տվիչ
Մուտք գործեք ձեր ջերմաստիճանի և շարժման տվիչ
Մուտք գործեք ձեր ջերմաստիճանի և շարժման տվիչ
Մուտք գործեք ձեր ջերմաստիճանի և շարժման տվիչ

Այժմ դուք պետք է կարողանաք մեկ անգամ ևս մատնանշել ESP8266- ի տեղական վեբ սերվերը: Եվ սա ցույց կտա ժամանակը, ջերմաստիճանը և շարժման տվիչը:

Այժմ կարող եք նաև մատնանշել ձեր արտաքին վեբ սերվերը, այս օրինակում ՝

Դուք կարող եք սահեցնել կոճակը կառավարման վահանակի տակ ՝ LED- ը միացնելու համար: Ես դա օգտագործում եմ իմ երեխաներին ծանուցելու համար, երբ աշխատանքից տուն վերադառնալու ճանապարհին եմ:

Շարժման տվիչը թարմացվում է ամեն վայրկյան կամ ավելի, այնպես որ դուք ստիպված կլինեք ավելի հաճախ թարմացնել էջը ՝ տեսնելու, թե արդյոք շարժում է հայտնաբերվել: Այս պահին ավտոմատ թարմացումը սահմանվել է 60 վայրկյան: Theերմաստիճանը կարդալու համար կպահանջվի յուրաքանչյուր երկու րոպեն մեկ, բայց դուք կարող եք դա նույնպես հարմարեցնել ձեզ հարմար ժամանակին:

Շնորհավորում եմ, եթե հաջողվեց այսքան հեռու հասնել: !! Հաջորդ քայլը պարտադիր չէ, միայն այն դեպքում, եթե կցանկանայիք կարողանալ վերահսկել LED- ն և վերահսկել ջերմաստիճանը, ինչպես նաև շարժական սենսորը Apple սարքերից:

Քայլ 9. Տեղադրեք HomeBridge HomeKit- ի համար Raspberry Pi- ում (ըստ ցանկության)

Տեղադրեք HomeBridge HomeKit- ի համար Raspberry Pi- ում (ըստ ցանկության)
Տեղադրեք HomeBridge HomeKit- ի համար Raspberry Pi- ում (ըստ ցանկության)

Ինձ ոգեշնչեց GalenW1- ի հրահանգները, ինչը թույլ է տալիս ինձ շատ բան իմանալ HomeBridge- ի մասին:

HomeBridge for HomeKit- ը Raspberry Pi- ի վրա տեղադրելու համար կարող եք օգտագործել հետևյալ հրահանգը

github.com/nfarina/homebridge

HomeBridge- ը թույլ է տալիս միացնել Home ծրագիրը Iphone- ում այն սենսորներին, որոնք դուք պարզապես կառուցել եք նախորդ քայլերում:

Մեկը, որը տեղադրում եք HomeBridge- ը, ձեզ հարկավոր է տեղադրել մի քանի հավելում.

- Temերմաստիճանի ցուցիչ

- Շարժման ցուցիչ

- Փոխարկիչ

sudo npm տեղադրել -g homebridge-http-temperature

sudo npm տեղադրել -g homebridge -MotionSensor

sudo npm տեղադրել -g homebridge-http-simple-switch

Երբ plugin- ը տեղադրվում է, ձեզ հարկավոր է կարգավորել ստորև գտնվող config.json ֆայլը

sudo vi /home/pi/.homebridge/config.json

կարող եք կարգավորել config.json ֆայլի բովանդակությունը ստորև, խնդրում ենք համոզվեք, որ url- ը մատնանշում է ճիշտ վայրը:

Քայլ 10. Homebridge- ը ձեր iPhone- ին միացնելը

Homebridge- ը միացրեք ձեր iPhone- ին
Homebridge- ը միացրեք ձեր iPhone- ին
Homebridge- ը միացրեք ձեր iPhone- ին
Homebridge- ը միացրեք ձեր iPhone- ին
Homebridge- ը միացրեք ձեր iPhone- ին
Homebridge- ը միացրեք ձեր iPhone- ին

Այժմ, երբ բոլոր պարագաները կազմաձևված են, կարող եք գործարկել տնային կամուրջը ՝ օգտագործելով հետևյալ հրամանը

տնային կամուրջ

Դուք պետք է տեսնեք էկրանը, ինչպես վերևում: Homebridge- ը ձեր տնային հավաքածուին ավելացնելու համար կարող եք հետևել հետևյալ քայլին:

- Այժմ սկսեք ձեր «Տուն» ծրագիրը ձեր iPhone- ում

- Կտտացրեք «Ավելացնել պարագաներ» կոճակին

- ծածկագիրը սկանավորելու համար ձեզ կներկայացվի էկրան, կարող եք օգտագործել ձեր հեռախոսի տեսախցիկը `Raspberry Pi էկրանից ծածկագիրը սկանավորելու կամ ձեռքով ծածկագիրը ավելացնելու համար:

Խնդրում ենք նկատի ունենալ, որ և՛ Iphone- ը, և՛ Raspberry Pi- ն աշխատելու համար պետք է լինեն միևնույն անլար երթուղիչին:

- Միանալուց հետո ձեզ կառաջարկվի այն էկրանը, որն ասում է, որ ձեր պարագաները հավաստագրված չեն: Շարունակելու համար կտտացրեք «Ամեն դեպքում ավելացնել» կոճակին:

- Այնուհետև դուք կունենաք տարբերակ ՝ կազմաձևելու յուրաքանչյուր պարագան, այս դեպքում մենք ունենք լույսի անջատիչ, շարժման սենսոր և ջերմաստիճանի տվիչ:

- Վերջնական էկրանը ցույց կտա ձեզ միացված բոլոր պարագաները:

Միանալուց հետո կարող եք Siri- ի միջոցով ստուգել շարժման տվիչը, ջերմաստիճանը և լույսը միացնել և անջատել:

Քայլ 11: Ստիպեք ձեր Homebridge- ը աշխատել հետին պլանում

Ստիպեք ձեր Homebridge- ը աշխատել ֆոնին
Ստիպեք ձեր Homebridge- ը աշխատել ֆոնին
Ստիպեք ձեր Homebridge- ը աշխատել ֆոնին
Ստիպեք ձեր Homebridge- ը աշխատել ֆոնին
Ստիպեք ձեր Homebridge- ը աշխատել ֆոնին
Ստիպեք ձեր Homebridge- ը աշխատել ֆոնին

Շնորհավորում եմ !! դու դա արել ես Որպես բոնուս, դուք կարող եք գործարկել homebridge- ը հետին պլանում ՝ օգտագործելով հետևյալ հրամանը.

տնային կամուրջ &

Այժմ դուք կարող եք մի փոքր զվարճանալ Siri- ի հետ և վայելել ձեր քրտնաջան աշխատանքը:

Շնորհակալ եմ, որ սա հետևում եք մինչև վերջ: Եթե ձեզ դուր է գալիս սա, խնդրում եմ թողեք որոշ մեկնաբանություններ կամ քվեարկեք իմ օգտին:

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