Տնային ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք. 6 քայլ (նկարներով)
Տնային ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք. 6 քայլ (նկարներով)
Anonim
Տան ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք
Տան ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք
Տան ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք
Տան ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք
Տան ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք
Տան ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք
Տան ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք
Տան ներկայության սիմուլյատոր և անվտանգության վերահսկման սարք

Այս նախագիծը թույլ է տալիս մոդելավորել ներկայությունը և հայտնաբերել շարժումները մեր տանը:

Մենք կարող ենք կարգավորել մեր տան տարբեր սենյակներում տեղադրված սարքերի ցանցը, որոնք բոլորը վերահսկվում են հիմնական սարքի միջոցով:

Այս նախագիծը համատեղում է այս հատկությունները մեկ սարքի վրա (ՆԿԱՐ 1).

  1. Դա ներկայության սիմուլյատոր է. Սարքը միացնում և անջատում է մեկ լամպը (ՆԿԱՐ 1) և օգտագործում է IR հաղորդիչ (ՆԿԱՐ 2) ՝ 38 ԿՀց հաճախականությամբ IR կառավարման կոդեր ուղարկելու IR վերահսկվող սարքերին (հեռուստատեսություն, տեսաձայնագրիչ, լամպեր և այլն):
  2. Դա շարժման դետեկտոր է. Սարքն ունի շարժումներ հայտնաբերելու PIR տվիչ (ՆԿԱՐ 3)

Ամբողջ համակարգը վերահսկվում է գլխավոր սարքի միջոցով, որը ազդակներ է ուղարկում ցանցում առկա մյուս ստրուկ սարքերին ՝ լույսերը միացնելու և անջատելու և վերահսկվող IR սարքերն ակտիվացնելու ըստ պլանավորված ներկայության սիմուլյացիայի:

Հիմնական սարքի հիմնական հատկությունները հետևյալն են.

  • Այն օգտագործում է հրամանների պլանավորված անվտանգություն ՝ յուրաքանչյուր ստրուկ սարք վերահսկելու համար: Օրինակ ՝ ստրուկ կայանի 1 -ի լույսը միանում է ամեն օր պատահական ժամանակահատվածում կամ ստրուկ կայանը 2 -ը միացնում է հեռուստացույցը և որոշ ժամանակ անց փոխում է ալիքը:
  • Այն ազդանշաններ է ստանում ստրուկների կայաններից, երբ շարժում է հայտնաբերվում և ուղարկեք մեզ և էլ
  • Այն կարգավորում է վեբ սերվերը ՝ ամբողջ համակարգը հեռակա կարգով կառավարելու և ամպից թարմացնելու համար

Հուսով եմ, որ ձեզ դուր կգա և օգտակար կլինի ինչ -որ մեկի համար:

Քայլ 1 ՝ Ստրուկ սարքի ստեղծում

Ստրուկ սարքի կառուցում
Ստրուկ սարքի կառուցում
Ստրուկ սարքի կառուցում
Ստրուկ սարքի կառուցում
Ստրուկ սարքի կառուցում
Ստրուկ սարքի կառուցում

Ստրուկ սարք ստեղծելու համար մեզ անհրաժեշտ կլինի հետևյալը.

  • Էլեկտրական տուփ
  • ARDUINO NANO կամ համատեղելի ARDUINO NANO միկրոկոնտրոլեր
  • Protoboard 480
  • Ռելե
  • 38 ԿՀց IR հաղորդիչ
  • PIR ցուցիչ
  • nRF24L01 մոդուլ + ալեհավաք
  • Ադապտեր nRF24L01 մոդուլի համար
  • Սնուցման աղբյուր 5V, 0.6 A
  • Լամպի ամրակ
  • Լամպ
  • Մալուխներ
  • Տերմինալային բլոկ

Այն ամրացնելու քայլերը հետևյալն են (տե՛ս Fritzing նկարը յուրաքանչյուր կապի կապի համար).

  1. ՆԿԱՐ 1. Էլեկտրական տուփի մեջ բացեք լամպի բռնակիչի համար
  2. ՆԿԱՐ 2. Տեղադրեք նախատախտակը 480 NANO միկրոկառավարիչով, IR հաղորդիչով և էլեկտրասնուցմամբ
  3. ՆԿԱՐ 3. Լամպի կրիչի փուլային հաղորդիչը միացրեք ռելեի NC տերմինալին, իսկ չեզոք հաղորդիչը `տերմինալային բլոկի չեզոք մուտքին: Դրանից հետո, ռելեի ընդհանուր տերմինալը միացրեք տերմինալային բլոկի մուտքի փուլային դիրիժորին
  4. ՆԿԱՐ 4. Միացրեք IR հաղորդիչն ու PIR տվիչը NANO միկրոկոնտրոլերին: Տեսեք 3 -րդ քայլը ՝ IR կոդերը կազմաձևելու համար այն սարքի համար, որը ցանկանում եք վերահսկել
  5. ՆԿԱՐ 5. Տեղադրեք nRF24L01 ադապտերը էլեկտրական տուփից դուրս և միացրեք այն NANO միկրոկոնտրոլերին: Ինչպես տեսնում եք այս նկարում, մալուխները էլեկտրական տուփ են մտնում անցքի միջով, որը նույնպես օգտագործվում է USB ծրագրավորման մալուխը NANO միկրոկոնտրոլերին միացնելու համար:

Քայլ 2. Հիմնական սարքի ստեղծում

Հիմնական սարքի կառուցում
Հիմնական սարքի կառուցում
Հիմնական սարքի կառուցում
Հիմնական սարքի կառուցում
Հիմնական սարքի կառուցում
Հիմնական սարքի կառուցում

Գլխավոր սարքը կառուցելու համար մեզ անհրաժեշտ կլինի հետևյալը.

  • Էլեկտրական տուփ
  • ARDUINO MEGA 2560 R3 կամ համատեղելի ARDUINO MEGA 2560 R3 միկրոկառավարիչ
  • WiFi NodeMCU Lua Amica V2 ESP8266 մոդուլ
  • RTC DS3231
  • Նախատախտակ 170
  • Ռելե
  • 38 ԿՀց IR հաղորդիչ
  • PIR ցուցիչ
  • nRF24L01 մոդուլ + ալեհավաք
  • Ադապտեր nRF24L01 մոդուլի համար
  • Սնուցման աղբյուր 5V, 0.6 A
  • Լամպի ամրակ
  • Լամպ
  • Մալուխներ
  • Տերմինալային բլոկ

Այն ամրացնելու քայլերը շատ նման են նախորդին, քանի որ հիմնական սարքն ըստ էության ստրուկ սարք է, որն ունի ավելի շատ հնարավորություններ (տե՛ս Fritzing նկարը յուրաքանչյուր կապի միացման համար).

  • ՆԿԱՐ 1. Էլեկտրական տուփի մեջ բացեք լամպի բռնակիչի համար
  • ՆԿԱՐ 2, ՆԿԱՐ 3. Տեղադրեք ESP8266 մոդուլը նախատախտակի 170 -ում և տեղադրեք այն MEGA 2560 միկրոկոնտրոլերի վրա, ինչպես տեսնում եք նկարներում:
  • ՆԿԱՐ 4. Կպցրեք փայտի կտոր էլեկտրական տուփի ներսում: Փայտի կտորի վրա տեղադրեք MEGA 2560 միկրոկառավարիչը ESP8266- ով, ժամացույցի մոդուլը DS3231 և nRF24L01 ադապտեր
  • ՆԿԱՐ 5. Տեղադրեք էներգիայի մատակարարումը և իրական: Լամպի կրիչի փուլային հաղորդիչը միացրեք ռելեի NC տերմինալին, իսկ չեզոք հաղորդիչը `տերմինալային բլոկի չեզոք մուտքին: Դրանից հետո, ռելեի ընդհանուր տերմինալը միացրեք տերմինալային բլոկի մուտքի փուլային դիրիժորին:

Քայլ 3: Հիմնական և ստրուկ սարքերի կազմաձևում

Հիմնական և ստրուկ սարքերի կազմաձևում
Հիմնական և ստրուկ սարքերի կազմաձևում

Սարքերը կազմաձևելու համար դուք պետք է կատարեք հետևյալ քայլերը.

ՔԱՅԼ 3.1 (երկու սարքեր)

Տեղադրեք IRremote, RF24Network, RF24, DS3231 և Time գրադարանները ձեր ARDUINO IDE- ում

ՔԱՅԼ 3.2 (միայն ստրուկ սարքի համար)

Կարգավորեք հասցեն ցանցում: Պարզապես փնտրեք հետևյալ ծածկագիրը «ներկայություն_սլավ.ինո» էսքիզում և հասցե տվեք օկտալ ձևաչափով: Օգտագործեք միայն 0 -ից մեծ հասցեներ, քանի որ 0 հասցեն վերապահված է հիմնական սարքի համար

const uint16_t այս_հանգույց = 01; // Մեր ստրուկ սարքի հասցեն Octal ձևաչափով

Տեղադրեք «present_slave.ino» ուրվագիծը միկրոկոնտրոլերի մեջ:

ՔԱՅԼ 3.3 (միայն հիմնական սարքի համար) (IR CONTROL CODES- ների ներածություն)

Եթե դուք պատրաստվում եք 38KHz IR վերահսկիչ կոդերով վերահսկվող սարք օգտագործել ներկայությունը մոդելավորելու համար, դուք պետք է իմանաք դրանցից մի քանիսը:

Հակառակ դեպքում, դուք պետք է ձեր սարքից ստանաք IR կառավարման կոդեր:

Դա անելու համար ձեզ հարկավոր կլինի 38KHz IR ընդունիչ, մեկ NANO միկրոկոնտրոլերում տեղադրեք «ir_codes.ino» ուրվագիծը և միացրեք ամեն ինչ, ինչպես տեսնում եք ՆԿԱՐ 1 -ում:

Այնուհետև, հեռակառավարման վահանակը նշեք IR ընդունիչին, սեղմեք ցանկացած կոճակ, և սերիական մոնիտորի մեջ կտեսնեք նման բան.

(12 բիթ) վերծանված SONY: A90 (HEX), 101010010000 (BIN) // POWER կոճակ

(12 բիթ) վերծանված SONY: C10 (HEX), 110000010000 (BIN) // 4 կոճակ (12 բիթ) վերծանված SONY: 210 (HEX), 1000010000 (BIN) // 5 կոճակ

Այս դեպքում հեռակառավարման վահանակը օգտագործում է SONY IR արձանագրությունը, և երբ մենք սեղմում ենք հեռակառավարման վահանակի հոսանքի կոճակը, ստանում ենք 12 բիթ երկարությամբ IR կոդ «0xA90», կամ երբ հեռակառավարման վահանակին սեղմում ենք 4, ստանում ենք IR ծածկագիր «0xC10»:

Խորհուրդ եմ տալիս գոնե փնտրել հոսանքի և մի քանի կոճակների թվային IR կառավարման կոդ `ներկայությունը մոդելավորելու համար:

IR կոդերը նախկինում ձեռք բերելուց հետո դրանք պետք է ներկայացնեք հետևյալ կերպ.

ԱՌԱԻՆ AYԱՆԱՊԱՐՀ

Եթե դուք կարգավորել եք wifi ցանցը, կարող եք դա անել ՝ օգտագործելով վեբ էջը (տե՛ս քայլը ՝ վեբ սերվեր)

ԵՐԿՐՈՐԴ ԱՆԱՊԱՐՀ

Հակառակ դեպքում, դուք պետք է փնտրեք հաջորդ կոդը «ir_codes.ino» ֆայլում և թարմացնեք տեղեկատվությունը: Ստորև բերված ծածկագրում կարող եք տեսնել, թե ինչպես կարող ենք վերը նշված տեղեկատվությունը ներկայացնել միայն հիմնական սարքի համար (հասցե = 0)

/******************************************/

/******* IR կառավարման կոդեր ***************** / /******************** ********************** // // Protocol_id, number_of_bits, 10 IR control code for the master device (address = 0) SONY, 12, 0xA90, 0xC10, 0x210, 0, 0, 0, 0, 0, 0, //,, 0, 0, 0, 0, // Protocol_id, number_of_bits, 10 IR վերահսկիչ ծածկագրեր ստրուկ սարքի համար (հասցե = 2) ԱՆՀԱՅՏ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 IR control codes for the slave device (address = 3) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, Ստրուկ սարքի 10 IR կառավարման կոդ (հասցե = 4) ԱՆՀԱՅՏ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ******************************** / / ********* Վերջ IR IR կոդերը ** ************ / / ********************************** *********/

Էսքիզը կազմաձևված է հետևյալ IR արձանագրություններով աշխատելու համար.

  • NEC
  • SONY
  • RC5
  • RC6
  • LG
  • JVC
  • ԻՆՉՈ
  • SAMSUNG
  • SHARP
  • ԱՊՐԱՆՔ
  • ԴԵՆՈՆ
  • LEGO_PF

«Ir_codes.ino» ֆայլում կարող եք գտնել SAMSUNG և SONY արձանագրությունների որոշ IR կոդեր:

/***************************************************************************/

// ՈՐՈՎ IR_PROTOCOLS AND CODES // (SAMSUNG, number_of_bits, button POWER, կոճակ 1, 2, 3) // SAMSUNG, 32, 0xE0E010EF, 0xE0E020DF, 0xE0E0609F, 0xE0E0A05_F,, 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** *********************************************** *******************/

ԿԱՐԵՎՈՐ. Առաջին ներդրված IR կառավարման կոդը պետք է լինի IR կառավարման կոդը `սարքն անջատելու համար: Այն վարպետը կուղարկի ստրուկներին, երբ այդ սարքի համար որևէ գործողություն չնախատեսվի:

Եթե որևէ մարմին գիտի կամ ինչ -որ մեկը ձեռք է բերել վերը թվարկված որոշ արձանագրությունների IR վերահսկիչ ծածկագրեր, խնդրում ենք մեկնաբանություններում տեղադրել հետևյալ տեղեկությունները ՝ արձանագրության ID, արձանագրության երկարություն և IR կառավարման կոդեր:

ՔԱՅԼ 3.4 (միայն հիմնական սարքի համար) (ՆԵՐԿԱՅԱՈՈԹՅԱՆ ՍԻՄՈATIONԼԱՅԻՆ ANՐԱԳՐԻ ՆԵՐԱՈՄ)

Ներկայության մոդելավորման պլանավորումը կարող եք ներկայացնել հետևյալ կերպ.

ԱՌԱԻՆ AYԱՆԱՊԱՐՀ

Եթե դուք կարգավորել եք wifi ցանցը, կարող եք դա անել ՝ օգտագործելով վեբ էջը (տե՛ս քայլը ՝ վեբ սերվեր)

ԵՐԿՐՈՐԴ ԱՆԱՊԱՐՀ

Դուք պետք է փնտրեք հաջորդ կոդը «ir_codes.ino» ֆայլում և թարմացնեք տեղեկատվությունը:

Ներկայության մոդելավորման պլանավորման ձևաչափը հետևյալն է.

(ժամ_ընդմիջում 1), (ժամ_վերջին_1), (ժամ_ընդմիջում2), (ժամ_վերջին_2), [րոպե_ընդմիջում], [առավելագույն_դրամ_միջուկ], [րոպե_լույս], (առավելագույն_ուշացում_լույս)

/*

7, 8, 17, 3, 5, 60, 10, 40, // հիմնական սարք (հասցե = 0) 0, 0, 17, 23, 3, 30, 5, 10, // ստրուկ սարք (հասցե = 1) 0, 0, 0, 0, 0, 0, 0, 0, // ստրուկ սարք (հասցե = 2) 0, 0, 0, 0, 0, 0, 0, 0, // ստրուկ սարք (հասցե = 3) 0, 0, 0, 0, 0, 0, 0, 0 // ստրուկ սարք (հասցե = 4) /************ ՎԵՐ ENDՆԵԼ ներկայության սիմուլյատոր ********** **********/

Վերոնշյալ օրինակում հիմնական սարքի առկայության մոդելավորման պլանավորումը հետևյալն է.

  • (hour_init_interval1 = 7) Առաջին ընդմիջման մոդելավորումը կսկսվի ամեն օր առավոտյան 7: 00 -ին
  • (hour_end_interval1 = 8) Առաջին ընդմիջման մոդելավորումը կավարտվի նույն օրվա առավոտյան 8: 00 -ին
  • (hour_init_interval2 = 17) Երկրորդ միջակայքի մոդելավորումը կսկսվի երեկոյան 17: 00 -ին: ամեն օր
  • (hour_end_interval2 = 3) Երկրորդ ընդմիջման մոդելավորումը կավարտվի հաջորդ օրվա առավոտյան 3: 00 -ին
  • (min_delay_ir = 5) (max_delay_ir = 60) IR կառավարման կոդերի պատահական ուղարկումների միջև րոպեների ընթացքում ուշացման ժամանակը պատահական թիվ է 5 -ից 60 -ի միջև
  • (min_delay_light = 10) (max_delay_light = 40) Լույսի միացման և անջատման միջև րոպեների ուշացման ժամանակը պատահական թիվ է 10 -ից 40 -ի միջև

իսկ 2 հասցեով ստրուկ սարքի առկայության մոդելավորման պլանը հետևյալն է.

  • (ժամային_միջերես 1

    = 0) Առաջին միջակայքի մոդելավորում սահմանված չէ

  • (hour_end_interval1 = 0) Առաջին միջակայքի մոդելավորում սահմանված չէ
  • (hour_init_interval2 = 17) Սիմուլյացիան կսկսվի ժամը 17: 00 -ին: ամեն օր
  • (hour_end_interval2 = 23) Սիմուլյացիան կավարտվի 23: 00 -ին: նույն օրը
  • (min_delay_ir = 3)

    (max_delay_ir

    = 30) IR կառավարման կոդերի պատահական ուղարկումների միջև րոպեների ընթացքում ուշացման ժամանակը 3 -ից 30 -ի միջև պատահական թիվ է

    (min_delay_light = 5)

    (առավելագույն_ուշացման_լույս

    = 10) Լույսի անջատման և անջատման միջև րոպեների ուշացման ժամանակը պատահական թիվ է 5 -ից 10 -ի միջև

ՔԱՅԼ 3.5 (միայն հիմնական սարքի համար) (ԿԱՌՈՎԱ ԱՄԱՆԱԿԻ CLԱՄԱՈՅԸ)

Այս պրոյեկտի բանալիներից մեկը ժամանակն է: Մենք պետք է սահմանենք ARDUINO- ի ժամանակը, երբ ուրվագիծը սկսի գործել: Դա անելու համար մեզ անհրաժեշտ է իրական ժամանակի ժամացույցի մոդուլ: Clockամացույցի մեկ մոդուլը DS3231- ն է, որն աջակցում է պահեստային մարտկոցի լիցքավորիչ, որը կարող է օգտագործվել, եթե միկրոկոնտրոլերին միացված չլինի երեք տվյալների մալուխով ՝ օգտագործելով I2C արձանագրությունը:

Նախկինում DS3231- ից օգտվելու համար պետք է ժամանակը սահմանել այս մոդուլում: Դա անելու համար դուք պետք է վարող սարքում գործարկեք «DS3231_set.ino» ուրվագիծը:

ՔԱՅԼ 3.6 (միայն հիմնական սարքի համար) (ESP8266 ՄՈԴՈLEԼԻ ԿԱՐՄԻՐՈՄ)

Այս մոդուլում աշխատող ուրվագիծը փորձում է միանալ ձեր տեղական wifi ցանցին և կարգավորել վեբ սերվերը:

Այսպիսով, մենք պետք է թարմացնենք «ներկայությունը_web.ino» էսքիզի հետևյալ տեղեկությունները ՝ ձեր տեղական wifi ցանց մուտք գործելու և Gmail- ի էլ.փոստի հասցեն կազմաձևելու համար, որտեղից ESP8266- ը կուղարկի ցանցի բոլոր սարքերի կողմից հայտնաբերված շարժումները: և էլեկտրոնային փոստի հասցեն, որտեղ ցանկանում եք ստանալ ծանուցումները (ESP8266 Gmail ուղարկողն ուսանելի է)

const char* ssid = "ձեր տեղական wifi ցանցի ssid";

const char* գաղտնաբառ = "ձեր տեղական wifi ցանցի գաղտնաբառը"; const char* to_email = "էլ. փոստ, որտեղ ցանկանում եք ստանալ շարժումների հայտնաբերման մասին ծանուցումներ"; WiFiServer սերվեր (80); // նավահանգիստը, որն օգտագործվում էր լսելու համար

և «Gsender.h» էսքիզում հետևյալ տեղեկությունները:

const char*EMAILBASE64_LOGIN = "*** ձեր Gmail մուտքի ծածկագիրը BASE64 *** - ում";

const char*EMAILBASE64_PASSWORD = "*** ձեր Gmail գաղտնաբառը ծածկագրել BASE64 *** - ում"; const char*FROM = "*** ձեր gmail հասցեն ***";

ԿԱՐԵՎՈՐ. Այս կոդը չի աշխատում ESP8266 միջուկի հետ Arduino 2.5.0 տարբերակի համար: Aամանակավոր լուծման համար օգտագործեք 2.4.2 հիմնական տարբերակը

ՔԱՅԼ 3.7 (միայն հիմնական սարքի համար)

Նախորդ 3.3, 3.4, 3.5 և 3.6 քայլերը կատարելուց հետո բեռնեք NANO միկրոկառավարիչում «ներկայություն_մաստեր.ինո» ուրվագիծը, իսկ ESP8266 մոդուլում «ներկայություն_վեբ.ինո» ուրվագիծը:

Քայլ 4: Համակարգի փորձարկում

Ստուգելու համար, թե արդյոք ամեն ինչ աշխատում է այնպես, ինչպես մենք ենք ուզում, «present_master.ino» ուրվագիծը կարող է գործարկվել թեստային ռեժիմում:

Դուք կարող եք որոշակի սարք ստուգել երկու եղանակով.

ԱՌԱԻՆ ճանապարհ. սարք ՝ հաջորդ կոդի տողում փորձարկելու և էսքիզը բեռնելու համար ARDUINO միկրոկոնտրոլերի մեջ `գլխավոր սարքում:

բուլյան bool_test_activated = false; // անցնել true- ի սկզբնական թեստի ռեժիմին

int device_to_test = 0; // ստրուկի սարքի հասցեն `փորձարկելու համար

Չմոռանաք արժեքը փոխել կեղծի, երբ ցանկանում եք դուրս գալ փորձարկման ռեժիմից և վերբեռնել էսքիզը

ԵՐԿՐՈՐԴ AYԱՆԱՊԱՐՀ. Եթե օգտագործում եք wifi ցանց, կարող եք օգտագործել վեբ էջը `փորձարկման ռեժիմն ակտիվացնելու համար: Տեսեք «Վեբ սերվեր» քայլը

Եթե փորձարկվող սարքը ուղարկելու է IR կառավարման կոդեր, տեղադրեք հիմնական կամ ստրուկ սարքը IR վերահսկվող սարքի (հեռուստատեսություն, ռադիո …) դիմաց:

Այս ռեժիմը գործում է հետևյալ կերպ.

  • ԼՈIGHՍԻ ԹԵՍՏՈՄ. Հատուկ սարքի լույսը պետք է միացվի և անջատվի յուրաքանչյուր 10 վայրկյանը մեկ:
  • IR ԿՈԴԵՐԻ ԹԵՍՏՈՄ: Էսքիզը պատահականորեն կընտրի նախկինում ներդրված IR ծածկագիրը և այն կուղարկի IR վերահսկվող սարքին ամեն 10 վայրկյանը մեկ: Այսպիսով, դուք պետք է ստուգեք, արդյոք այդ սարքը կատարում է ստացված IR կոդի համապատասխան գործողությունը
  • ՇԱՐVԱԿԱՆ ԴԵՏԵԿՏՈՐԻ ՏԵՍՈՄ: Եթե սարքը հայտնաբերում է շարժումը իր PIR սենսորի առջև, այն ազդանշան կուղարկի հիմնական սարքին, և դրա լույսը պետք է սկսի մի քանի անգամ բռնկվել

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

Քայլ 5: Վեբ սերվեր

Վեբ սերվեր
Վեբ սերվեր
Վեբ սերվեր
Վեբ սերվեր
Վեբ սերվեր
Վեբ սերվեր

Համակարգը վերահսկելու և ամեն ինչ ճիշտ աշխատելու համար ESP8266 մոդուլը կազմաձևված է որպես վեբ սերվեր: Theանցին հեռակա մուտք գործելու համար ձեզ հարկավոր չէ որևէ այլ լրացուցիչ ծրագիր, պարզապես վեբ դիտարկիչում մուտքագրեք ձեր երթուղիչի IP հասցեն: Ձեր երթուղղիչում դուք նախկինում կարգավորել եք նավահանգստի փոխանցումը ESP8266 մոդուլ մուտք գործելու համար `օգտագործելով ձեր կողմից կազմաձևված ստատիկ տեղական IP:

Այս մոդուլը միացված է ARDUINO միկրոկառավարիչին `օգտագործելով I2C արձանագրությունը:

Սկզբնական վեբ էջը կարող եք տեսնել ՆԿԱՐ 1 -ում ՝

  • ՀԱՄԱԿԱՐԳ ՊԵՏԱԿԱՆ բաժինը մեզ ցույց է տալիս համակարգի մասին տեղեկություններ.

    • Համակարգի ամսաթիվը և ժամը: Շատ կարևոր է, որ ամսաթիվը և ժամը ժամանակին լինեն
    • Ներկայության սիմուլյատորի վիճակը (միացված կամ անջատված), վերջին ներկայության գործողության ամսաթիվը և ժամը և գործողությունը կատարած սարքի հասցեն (ՆԿԱՐ 2)
    • Շարժման դետեկտորի վիճակը (միացված կամ անջատված) և սարքի կողմից շարժումների հայտնաբերման պատմությունը. Հաշվիչը և վերջին շարժման հայտնաբերման ամսաթիվը և ժամը (ՆԿԱՐ 3) Այս նկարում մենք կարող ենք տեսնել, որ 1 հասցե ունեցող սարքում հայտնաբերվել է 1 շարժումը և վերջինը `ժամը 16: 50: 34 -ին
  • ՀՐԱՄԱՆԱԿՆԵՐ բաժինը մեզ թույլ է տալիս անել հետևյալը.

    • Ներկայության սիմուլյատորը ակտիվացնելու համար
    • Շարժման դետեկտորը ակտիվացնելու համար
    • Թեստը նախաստորագրելու և դադարեցնելու համար սարք ընտրելու համար (ՆԿԱՐ 4)
  • PRESENCECE COMMAND բաժինը մեզ թույլ է տալիս անել հետևյալը.

    Ներկայացնել կամ թարմացնել ներկայացման մոդելավորման պլանավորումը որոշակի սարքի համար: ՆԿԱՐ 5 -ում կարող եք տեսնել, թե ինչպես թարմացնել հասցեի սարքի առկայության մոդելավորման պլանը: Լարերի ձևաչափը հետևյալն է. (Addr_device), (hour_init1), (end_init1), (hour_init2), (end_init2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light): Բոլոր թվերը ամբողջ թվեր են: Եթե դուք ներդրել եք վավեր տող, ապա «ՎԵՐASTԻՆ» տեքստից առաջ կտեսնեք ներկայության նոր մոդելավորման պլանավորում, հակառակ դեպքում կտեսնեք «ՎԵՐASTԻՆ. ՎԱIDԱՌ» հաղորդագրությունը:

  • IR CODE COMMAND բաժինը մեզ թույլ է տալիս անել հետևյալը.

    Որոշակի սարքի համար IR հսկողության կոդը ներդնելու կամ թարմացնելու համար: ՆԿԱՐԸ 6 -ում կարող եք տեսնել, թե ինչպես թարմացնել կամ ներկայացնել նոր IR կառավարման կոդը հասցեի սարքի համար 1. Լարի ձևաչափը հետևյալն է ՝ (addr_device), (IR_protocol), (protocol_bits_length), (index_IR_control_code), (IR_control_code): (IR_protocol) տառերի նկատմամբ զգայուն տող է, որը ընդունում է միայն հաջորդ արժեքները (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF) և (IR_control_code) ՝ տասնվեցական համար: Քանի որ համակարգը կազմաձևված է 10 IR կառավարման կոդեր պահելու համար, (index_IR_control_code) ամբողջ թիվ է 1 -ից 10 -ի միջև: Ինչպես նախկինում, եթե մուտքագրել եք վավեր լարային ձևաչափ, ապա «ՎԵՐASTԻՆ» տեքստից առաջ կտեսնեք նոր IR կառավարման կոդը, հակառակ դեպքում կտեսնեք «ՎԵՐASTԻՆ ՝ ՎԱIDԱՌ» հաղորդագրությունը:

Ձեր տեղական wifi ցանցից այս վեբ էջին միանալու համար պարզապես վեբ դիտարկիչում մուտքագրեք այն IP- ն, որը ձեր երթուղիչը նշանակել է ESP8266- ին: Բոլոր նկարներում կարող եք տեսնել, որ իմ երթուղիչի կողմից նշանակված IP- ն է 192.168.43.120:

Ձեր տեղական wifi ցանցից դուրս հեռակա մուտք գործելու համար դուք պետք է ձեր երթուղղիչում կազմաձևեք այն պորտը, որը դուք պատրաստվում եք օգտագործել ՝ լսելու համար մուտքի տվյալները և այն վերահասցեավորելու ձեր տեղական ցանցի ESP8266- ին: Դրանից հետո պարզապես մուտքագրեք ձեր երթուղիչի IP- ը վեբ դիտարկիչում:

Քայլ 6. Բոլորը պարզաբանելու օրինակ

Image
Image
Բոլորին պարզաբանելու օրինակ
Բոլորին պարզաբանելու օրինակ

Ես մշակել եմ կոնկրետ օրինակ ՝ բոլորը պարզաբանելու համար

Ես կառուցել եմ հետևյալ սարքերը (ՆԿԱՐ 2)

  • IR- ով վերահսկվող մեկ սարք `օգտագործելով NANO միկրոկոնտրոլեր, RGB- ը` պինգ-պոնգի գնդակի ներսում և մեկ IR ընդունիչ մոդուլ (ՆԿԱՐ 1): Երբ մենք սեղմում ենք կառավարման կոճակը IR հեռակառավարման վահանակի 1-ից 7-ը, պինգ-պոնգի գնդակը փոխում է իր գույնը:
  • Գլխավոր սարք (հասցե 0)
  • Մեկ ստրուկ սարք (հասցե 1)

Վերոգրյալով մենք փորձելու ենք նախագծի բոլոր հնարավորությունները: Ներկայության մոդելավորման պլանավորումը կարող է լինել.

  1. Ստրուկ սարքի կողմից վերահսկվող գնդակը կփոխի իր գույները երեկոյան 17: 00 -ից: մինչև 23:00 և առավոտյան ՝ առավոտյան 7: 00 -ից 8: 00 -ը, րոպեների յուրաքանչյուր պատահական միջակայք 1 -ից 1 -ի միջև:
  2. Ստրուկ սարքի կողմից վերահսկվող լույսը միանալու և անջատվելու է ժամը 17: 00 -ից: մինչև 23:00 և առավոտյան առավոտյան 7: 00 -ից 8: 00 -ն յուրաքանչյուր պատահական րոպեի միջակայքում 1 -ից 2 -ը
  3. Գլխավոր սարքի կողմից վերահսկվող լույսը միանալու և անջատվելու է ժամը 16: 00 -ից: մինչև հաջորդ օրվա առավոտյան ժամը 1: 00 -ը րոպեների յուրաքանչյուր պատահական ընդմիջում 1 -ից 2 -ի միջև

«Ir_codes.ino» ուրվագիծը կատարելուց հետո մենք ենթադրեցինք, որ IR հեռախոսի կողմից օգտագործվող IR արձանագրությունը «NEC» է, IR կոդերի երկարությունը ՝ 32 բիթ, իսկ 1 -ից 7 կոճակների համար ՝ IR տասնմեկերորդ ձևաչափով IR կառավարման կոդեր: են ՝

ԿՈUTՅԹ 1 = FF30CF

ԿՈUTՅԹ 2 = FF18E7

ԿՈUTՅԹ 3 = FF7A85

ԿՈUTՅԹ 4 = FF10EF

ԿՈUTՅԹ 5 = FF38C7

ԿՈUTՅԹ 6 = FF5AA5

ԿՈUTՅԹ 7 = FF42BD

Դուք կարող եք կարգավորել համակարգը երկու եղանակով.

ԱՌԱԻՆ AYԱՆԱՊԱՐՀ. Վեբ էջի օգտագործում (տես տեսանյութը այս հրահանգի վերջում)

ԵՐԿՐՈՐԴ AYԱՆԱՊԱՐՀ. «Ir_codes.ino» ֆայլը թարմացնելը և այն վերբեռնելուց հետո.

/******************************************/

/******* IR կառավարման կոդեր ***************** / /******************** ********************** // // Protocol_id, number_of_bits, 10 IR control code for the master device (address = 0) NEC, 32, 0xFF30CF, 0xFF18E7, 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // protocol_id, number_of_bits, 10 IR վերահսկման կոդ ստրուկ սարքի համար (հասցե = 1) ԱՆՀԱՅՏ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Protocol_id, number_of_bits, 10 IR վերահսկիչ ծածկագրեր ստրուկ սարքի համար (հասցե = 2) ԱՆՀԱՅՏ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Protocol_id, number_of_bits, 10 IR control codes for the slave device (address = 3) ANKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, Ստրուկ սարքի 10 IR կառավարման կոդ (հասցե = 4) ԱՆՀԱՅՏ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ ******************************** / / ********* Վերջ IR IR կոդերը ** ************ / / ********************************** *********/

/*

0, 0, 16, 1, 0, 0, 1, 2, // հիմնական սարք (հասցե = 0) 7, 8, 17, 23, 1, 1, 1, 2, // ստրուկ սարք (հասցե = 1) RGB գնդակ 0, 0, 0, 0, 0, 0, 0, 0, // ստրուկ սարք (հասցե = 2) 0, 0, 0, 0, 0, 0, 0, 0, // ստրուկ սարք (հասցե = 3) 0, 0, 0, 0, 0, 0, 0, 0 // ստրուկ սարք (հասցե = 4) /************ ՎԵՐ ENDՆԵԼ ներկայության սիմուլյատոր ******** ************/

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