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

Լույսի անջատիչ `7 քայլ
Լույսի անջատիչ `7 քայլ

Video: Լույսի անջատիչ `7 քայլ

Video: Լույսի անջատիչ `7 քայլ
Video: Ցավի 7 տեսակ, որոնց պատճառը սթրեսն է 2024, Նոյեմբեր
Anonim
Լույսի անջատիչ
Լույսի անջատիչ

Այս նախագծում ես օրինակ կբերեմ, թե ինչպես ստեղծել ամբողջովին անլար լուսավորության կառավարման համակարգ `վերջում հավելյալ բոնուսով: Հետևեք ամբողջական ձեռնարկին:

Պահանջներ:

- Raspberry Pi (ցանկացած համը լավ է, բայց ես օգտագործել եմ 3B+ մոդելը)

- Երկու 2n2222 տրանզիստոր (խորհուրդ եմ տալիս գնել առնվազն հինգ, քանի որ մեծ հավանականությամբ սխալմամբ մի քանիսը կկարճացնեք)

-Արականից տղամարդու և արականից իգական jumper մալուխներ

- Breadboard

- (ըստ ցանկության, բայց խորհուրդ է տրվում) Breadboard 5V էլեկտրամատակարարում

- Յուրաքանչյուրը 1k և 10k դիմադրիչներից երկուսը

- Dual-Relay մոդուլ

- Երկու հին տան լամպեր կամ լուսավորման այլ սարքավորումներ (օգտագործեք լամպ, քանի որ փորձարկման ժամանակ շիկացած լամպերը այրվում են)

- Կպչուն ժապավեն և մալուխի կտրիչ `միացման համար

Քայլ 1: Սերվերի և կախվածության կարգավորումը Raspberry Pi- ի վրա

Իմ նախագծի համար ես օգտագործել եմ NGiNX- ը, չնայած որ կարող եք օգտագործել ցանկացած սերվեր (Apache2 և այլն): Փաթեթի կառավարչի հետ վանիլային տեղադրումը պարզապես լավ է, կարիք չկա կազմել մեր սեփական աղբյուրը կամ նման բան: Մեզ նույնպես անհրաժեշտ կլինեն PHP, Python3 և Composer:

- SSH ձեր PI- ում և մուտքագրեք $ sudo nano /etc/dhcpcd.conf

- Կարգավորեք ստատիկ IP պարամետրերը

- Վերագործարկեք ձեր PI- ն

- Ստուգեք ՝ արդյոք ամեն ինչ աշխատում է ՝ մուտքագրելով {the_ip_you_chose} ձեր դիտարկիչի հասցեագոտում (դուք պետք է տեսնեք nginx- ի ողջույնի էջը)

Քայլ 2: Տեղադրեք NGiNX- ի վեբ շրջանակը և կազմաձևումը

Մենք ցանկանում ենք ունենալ վեբ կայք, որին կարող ենք մուտք գործել մեր բջջային կամ աշխատասեղանի դիտարկիչից, և որպեսզի ազատվենք պարզ php/html կոդ գրելուց, որն այս ձեռնարկի շրջանակը չէ, փոխարենը մենք կօգտագործենք PHP շրջանակ ՝ Yii2 անունով, հիմնականը կարգավորելու համար: երթուղի և ոճավորում մեզ համար:

- Գնացեք Yii2 տեղադրման էջ և օգտագործեք կոմպոզիտոր ՝ այն տեղադրելու համար/var/www/html/light-switch- ում

- Մենք դեռ ոչինչ չենք տեսնի, քանի որ դեռ չենք դրել սերվերի մեր կազմաձևման ֆայլը

- Ես կցեցի ֆայլը (կանխադրված) այս քայլին

- Օգտագործեք այնպես, ինչպես կա այս շրջանակում կամ փնտրեք մեկ այլ առցանց, եթե նախընտրում եք այլ հետնապահ

- Դուք պետք է այս ֆայլը տեղադրեք/etc/nginx/sites-available/մեջ

- Վերբեռնել NGiNX $ sudo systemctl վերաբեռնում nginx- ով

- Եթե ինչ -որ բան չի աշխատում, կարող եք գործարկել $ sudo nginx -t ՝ կազմաձևման ֆայլերը կարգաբերելու համար

Քայլ 3: Տեղադրեք Python սցենարներ, որոնք փոխազդելու են GPIO- ի հետ

Քանի որ PHP- ն չի սիրում այդքան լավ խաղալ գործարկման տիպի սցենարների հետ, ինչպիսիք են GPIO API- ն և python- ը վեբ ծրագրերի հետ այնքան էլ բարեկամական չէ, մենք դրանցից յուրաքանչյուրը կօգտագործենք իրենց շահավետ համատեքստում: Այս քայլին կից դուք կգտնեք պիթոնի 4 անհրաժեշտ սցենարներ, որոնք փոխազդում են կապումների հետ և միացնում լույսերը: Տեղադրեք սցենարները, որտեղ ցանկանում եք, բայց նշեք դրանց գտնվելու վայրը, քանի որ դա մեզ անհրաժեշտ կլինի հաջորդ քայլին, երբ մենք ստեղծենք իրերի php կողմը:

Քայլ 4: Ավարտելով Php- ի իրերի կողմը

Ավարտելով Php- ի իրերի կողմը
Ավարտելով Php- ի իրերի կողմը

Մեզ մնում է միայն հեռացնել կանխադրված որոշ ուղիներ և էջեր հիմնական դասավորությունից և ավելացնել մի քանի տող կոդ SiteController- ում ՝ գումարած նոր մեթոդ, որը կոչվում է actionLightswitch (): Դրանից հետո այն կկատարի նախորդ քայլի պիթոնի սցենարները, որն էլ իր հերթին կհրամայի GPIO կապում:

Քայլ 5: Շղթայի ստեղծում

Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում
Շղթայի ստեղծում

Այս հատուկ ռելեի մոդուլի բնույթից ելնելով (այն միանում է GND- ին միանալիս) մենք պետք է միացում կառուցենք տրանզիստորների միջոցով: PI- ն միայն կբացի տրանզիստորը, որը թույլ կտա հոսանքը փոխանցել ռելեի տվյալների կապումներից դեպի GND, դրանով իսկ առաջացնելով կծիկը և փակելով լամպերի միացումը: Հետևեք կից նկարների սխեմաներին և լավ կլինի:

Այս հաջորդ մասի համար դուք պետք է իսկապես զգույշ լինեք, քանի որ ժամանակն է միացնել ռելեն: Սկզբից անջատեք ամեն ինչ: Ռելեը մեկ կապի համար ունի 3 նավահանգիստ: Մենք մեր սարքերի մալուխները կկապենք միջինին և այն, որի վրա բաց նշանն է: Fullyգուշորեն միացրեք մալուխը `պղնձե հաղորդիչները մերկացնելու և դրանք տեղադրելու վերը նշված ռելեային նավահանգիստներում: Կարգը նշանակություն չունի, քանի որ մենք այժմ աշխատում ենք այլընտրանքային հոսանքով:

Քայլ 6: Վերջնական փորձարկում

Առնվազն երկու անգամ ստուգեք ձեր սխեման և նշանակված կապերը, այնուհետև PI- ն միացրեք հոսանքին և մուտքագրեք {the_chosen_ip} դիտարկիչի հասցեագոտում: Առաջին էջում կլինեն մեր երկու անջատիչները: Սեղմեք դրանց վրա և դիտեք, թե ինչպես են լույսերը միանում/անջատվում:

Քայլ 7: Բոնուսային մաս. Հին դպրոցի Clapper Trigger

Պահանջներ:

- ցանկացած USB խոսափող (պարտադիր չէ, որ այն լինի բարձրորակ)

- ALSA փաթեթ (տեղադրման եղանակը կտարբերվի ՝ կախված ձեր բաշխումից)

- PyAudio մոդուլ

Պատճենեք կցված պիթոնի սցենարը և միացրեք խոսափողը: Վերագործարկեք PI- ն: Գործարկեք սցենարը և հետևեք վահանակի հուշումներին: Մոտեցեք խոսափողին և երկու անգամ ծափահարեք ձեռքերը: Դուք պետք է տեսնեք, որ ծափերը գրանցվում են վահանակի ելքի մեջ և հաջողության դեպքում երկուսն էլ լույսերը կմիացվեն 2 վայրկյանից հետո:

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