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

Raspberry Pi ավտոտնակի դռների բացիչ `5 քայլ
Raspberry Pi ավտոտնակի դռների բացիչ `5 քայլ

Video: Raspberry Pi ավտոտնակի դռների բացիչ `5 քայլ

Video: Raspberry Pi ավտոտնակի դռների բացիչ `5 քայլ
Video: CarPlay HomeKit (deutsch) 2024, Հուլիսի
Anonim
Raspberry Pi ավտոտնակի դռների բացիչ
Raspberry Pi ավտոտնակի դռների բացիչ

Մեր տասնհինգ տարեկան ստեղնաշարը, որը թույլ է տալիս մեզ բացել ավտոտնակի դուռը, դանդաղ մեռնում է, մի քանի կոճակներով, որոնք հազիվ են գրանցվում, ինչը դժվարացնում է մեր պատանիներին (կամ շանթրիկին) տուն մտնելը, երբ մոռանում են բանալին:

Փոխանակ այն փոխարինելու և այն նորից ծրագրավորելու օղակներով, որոշեցի մի փոքր ավելի բարձր տեխնոլոգիաներով զբաղվել և այն փոխարինել ինչ -որ բանով, որը միայն պահանջում էր մուտք դեպի մեր wifi և հեռախոս:

Ես օգտագործեցի Pi Zero Wireless- ը և 2-ալիքային ռելե, որը մնացել էի մեկ այլ նախագծից, ինչը թույլ է տալիս ինձ վերահսկել ինչպես դուռը, այնպես էլ լույսերը, որոնք ներկառուցված են ավտոտնակի դռան բացիչի մեջ: Քանի որ ես ունեի հին/պահեստային USB տեսախցիկ, որը փոշի էր հավաքում, ես դա օգտագործեցի PiCam- ի փոխարեն, բայց դա միայն հարմարության համար չէր: Սա լավ կաշխատի ցանկացած աջակցվող տեսախցիկի դեպքում. Իմ մեջ ոչ մի առանձնահատուկ բան չկա, պարզապես այն, որ Raspbian- ն աջակցում էր դրան:

Ի տարբերություն որոշ այլ նմանատիպ նախագծերի, ես փորձեցի հնարավորինս պարզ պահել այն ՝ օգտագործելով «ստանդարտ» ծրագրային փաթեթներ, որոնք բավականին հեշտ է գործարկվել, եթե հետևեք հրահանգներին: Այս լուսանկարը ցույց է տալիս իմ վերջնական (ամենևին էլ գեղեցիկ չէ, բայց դա իմ ավտոտնակն է) տեղադրումը, ներառյալ Pi- ն, ռելեի մոդուլը և USB վեբ -տեսախցիկը, որը մատնանշված է դուռը: Pi Zero- ի օգտագործման հատուկ պատճառ չկա. Ցանկացած Pi- ն դա կաներ, քանի դեռ դուք կարող եք այն միացնել ձեր ներքին ցանցին, և WiFi- ն դա հեշտացնում է:

Քայլ 1: Միացում գոյություն ունեցող կառավարման վահանակին

Միացում գոյություն ունեցող կառավարման վահանակին
Միացում գոյություն ունեցող կառավարման վահանակին

Նախ, ՁԵՐԸ Գուցե ՏԱՐԲԵՐ ԵՆ: Իմն ունի մեկ զույգ լար, որը գնում է ավտոտնակի դուռը բացողից մինչև պատի կառավարման վահանակը: Քանի որ կան ընդամենը երկու լարեր, որոնք փորձարկման ժամանակ թվում էր, որ ունեն մոտ 18 վոլտ, ես սկզբում մի փոքր շփոթվեցի, թե ինչպես է այս բանը կարող վերահսկել բազմաթիվ գործառույթներ: ՄՏԱՈՄ ԵՄ, որ յուրաքանչյուր ակնթարթային կոճակ պարզապես ավարտում է շրջանը, բայց դիմադրության տարբեր մակարդակներով: Այնուհետև հիմնական միավորը կարող է կարդալ այդ դիմադրությունը տարբեր լարման անկումների միջոցով և կատարել ճիշտ գործողություն: Այսուհանդերձ, ոչ մեկը կարևոր չէ, եթե դուք չեք փորձում ամբողջությամբ փոխարինել կառավարման միավորը Pi- ով: Չգիտեմ, թե ինչու կցանկանայիք դա անել, քանի որ հաճելի է ֆիզիկական միավորի առկայությունը:

AAAAAnnwayway, այն ամենը, ինչ դուք պետք է անեք, կրկնել տարբեր կոճակների կոճակները `PCB- ի ակնթարթային անջատիչները միացնելով ձեր ռելեի մոդուլին: Սա միակ զոդումն էր, որը ես պետք է անեի, և PCB- ի բարձիկները բավականին մեծ էին, ուստի այն բավականին պարզ էր: Այս լարերը մի փոքր երկար թողեք առայժմ, քանի որ շատ ավելի հեշտ է կարճացնել մետաղալարը, քան երկարացնել այն ավելի ուշ, եթե ձեր մոտակայքում տեղադրված չէ ACME մետաղալարեր, բայց դրանք բավականին հազվադեպ են լինում:

Քայլ 2. Հաղորդալարերի փոխանցումատուփի միացում

Էլեկտրահաղորդման տախտակի միացում
Էլեկտրահաղորդման տախտակի միացում
Էլեկտրահաղորդման տախտակի միացում
Էլեկտրահաղորդման տախտակի միացում

Այստեղ շատ բան չկա ասելու, պարզապես միացրեք ամեն ինչ, ինչպես նկարներում: Sainsmart 2-ռելեի մոդուլում JC-VCC և VCC կապանքները պետք է իրար խառնել, եթե չեք ցանկանում նրանց համար օգտագործել լրիվ առանձին էներգիայի աղբյուր, բայց այս օգտագործման համար դա չափազանց գերբեռնված է: GND- ը միացրեք Pi GND կապին, VCC- ն ՝ 5v պինին, իսկ IN1- ը և IN2- ը ՝ ինչ GPIO կապում եք ցանկանում օգտագործել: Քանի որ դուք պարզապես դրանք օգտագործելու եք որպես HIGH/LOW միացումներ, իսկապես կարևոր չէ, թե որոնք են դրանք:

Քայլ 3: theրագրաշարի տեղադրում

Theրագրաշարի տեղադրում
Theրագրաշարի տեղադրում

Սա, հավանաբար, ամենաարդյունավետ քայլն է, քանի որ որոշ ժամանակ դիտելու եք ներբեռնումը և տեղադրումը: Դիտեք youtube կամ որևէ այլ բան, քանի դեռ որոշ իրեր տեղադրված են:

Ես չեմ բացատրելու, թե ինչպես տեղադրել Raspbian- ը: Եթե դեռ չգիտեք, թե ինչպես դա անել, գուցե նախ գուգլեք «բարև աշխարհ» տեսակի ձեռնարկներ: Ամեն դեպքում, ամենայն հավանականությամբ, լավագույնն է օգտագործել Raspbian Lite- ի թարմ տեղադրումը: Այս նախագծի համար gui- ի կարիք չկա, և դա պարզապես լրացուցիչ ծախսեր են: raspberrypi.org- ը կարող է ձեզ ուղեկցել այդ գործընթացով:

Միացրեք SSH- ը և (եթե ցանկանում եք) կամ կազմաձևեք ձեր Pi- ի համար ստատիկ IP (ևս մեկ անգամ, կան բազմաթիվ ձեռնարկներ, թե ինչպես դա անել ՝ գրված ինձանից ավելի լավ հեղինակների կողմից) կամ նույնիսկ ավելի լավ ՝ կազմաձևեք ձեր երթուղիչը/DHCP սերվերը ձեր Pi- ին ստատիկ IP նշանակելու համար:

Եթե ցանկանում եք ունենալ գեղեցիկ, հեշտ տեղադրվող և օգտագործող վիդեո ծառայություն, գնացեք և տեղադրեք MotionEye- ը: Հավանաբար, դա չափազանց մեծ է, բայց դա այն տեղադրումներից մեկն է, որը «պարզապես աշխատում է» ամեն անգամ, և այն ունի հաճելի հեշտ օգտագործման վեբ ինտերֆեյս: Ստուգեք այստեղ ՝

github.com/ccrisan/motioneye/wiki/Install-… Յուրաքանչյուր հրամանից առաջ հետևեք այս հրահանգներին sudo- ի միջոցով և կստանաք գեղեցիկ տեսահոսք: Exactlyշգրիտ չի պահանջվում ունենալ վիդեո հոսք, եթե ձեզ հետաքրքրում է այն, երբ տեսնում եք այն, բայց հաճելի է հետադարձ կապ ունենալը:

Motioneye- ի տեղադրումից հետո այցելեք https:// YourIPAddress: 8765 և մուտք գործեք «admin» օգտվողի անունով և դատարկ գաղտնաբառով: Հավանաբար, ձեզ հարկավոր կլինի ավելացնել տեսախցիկ, որը կրկին պետք է «պարզապես աշխատի» և դուրս գա այս հրահանգների շրջանակներից:

Մինչ մուտք եք գործել որպես ադմինիստրատոր, կտտացրեք «Ընդլայնված կարգավորումներ» անջատիչին, այնուհետև սահմանեք ձեր տեսանյութի ընտրանքները. Ես օգտագործել եմ 320x240 իմ տեսահոլովակի համար, քանի որ ինձ ավելի շատ կարևորում են ավելի արագ թարմացումները, քան որակը, քանի որ ես իսկապես ուզում էի տեսնել այն դուռը բաց էր, թե ոչ, և կարիք չկա կարդալ փողոցի փոստարկղերի համարները:

«Տեսանյութերի հոսք» կարգավորումների տարածքում սեղմեք «Հոսքի URL» հղման վրա և նշեք այն հասցեն, որը այն ներկայացնում է ձեզ: Այն ձեզ ավելի ուշ պետք կգա, եթե պլանավորեք ինտերֆեյսը տեղադրել այնպես, ինչպես ես:

Կան բազմաթիվ եղանակներ ՝ ձեր GPIO կապումները վերահսկելու համար: Այս նախագծի համար ես օգտագործեցի WiringPi, այն տեղադրելու համար օգտագործեք վեբ կայքի հրահանգները.

wiringpi.com/download-and-install/

Կամ պարզապես ձեր Pi- ի վրա թողեք հետևյալ հրամանները.

wget https://lion.drogon.net/wiringpi-2.50-1.debsudo dpkg -i wiringpi-2.50-1.deb gpio -v gpio readall

Սա պետք է ձեզ ցուցակի այն, ինչ կատարվում է ձեր GPIO կապում:

Եթե դուք օգտագործում եք 4 և 17 կապերը (BCM համարակալման սխեմայում), կարող եք ստուգել ձեր կապերը հետևյալ հրամաններով: Ուշադրություն դարձրեք, որ PIN- ի LOW- ի կարգավորումը կակտիվացնի ռելեները, եթե օգտագործում եք այս Sainsmart մոդուլը: Ձերը կարող է տարբեր լինել, և դուք պետք է հարմարվեք դրան: Այս հրամանները գործարկելիս դուք պետք է լսեք, որ ռելեները սեղմում են իրենց տեղը, և LED (ներ) ը պետք է լուսավորվեն:

gpio -g ռեժիմ 17 դուրս

gpio -g գրել 17 0 gpio -g գրել 1 1 gpio -g ռեժիմ 4 դուրս gpio -g գրել 4 0 gpio -g գրել 4 1

Լավ, այժմ մենք կարող ենք անցնել UI- ի ստեղծմանը:

Քայլ 4: Ինտերֆեյսի պատրաստում

Ինտերֆեյսի պատրաստում
Ինտերֆեյսի պատրաստում

Ես օգտագործել եմ apache և PHP: Գեղեցիկ և պարզ, ոչ մի շքեղ բան: Մեկ անգամ ևս, դա ավելի լավ է բացատրվել այլուր, այնպես որ պարզապես հետևեք այստեղ գտնված հրահանգներին.

www.raspberrypi.org/documentation/remote-a…

Ձեր վեբ սերվերի «արմատը», ըստ կանխադրման, գտնվում է/var/www/html/լռելյայն index.html- ով, որը ձեզ տեղեկություններ է տալիս ձեր վեբ սերվերի մասին: Դուք կփոխարինեք այդ index.html- ը, այնպես որ կարող եք կամ ջնջել այն կամ վերանվանել ինչ -որ այլ բանի, ինչպիսին է index.copy- ը: Ես նաև «pi» օգտագործողին դարձրեցի html գրացուցակի սեփականատեր ՝ միայն թույլտվությունների համար ծույլ լինելու համար: Ի վերջո, ես ստեղծեցի գրացուցակ ՝ իմ պատկերները պահելու համար, որոնցից երկուսը կան: Մեկը պարզապես հիմար արձագանք է կոճակը սեղմելու մասին, և մյուսը, որը կարող է օգտագործվել հեռախոսի հիմնական էկրանին պատկերակի համար:

pi@garagedoor: ~ $ cd/var/www/html/

pi@garagedoor:/var/www/html $ sudo chown pi.pi@garagedoor:/var/www/html $ mv index.html index.copy pi@garagedoor:/var/www/html $ mkdir պատկերներ

Վեբ կայք ստեղծելու անսահմանափակ թվով եղանակներ կան, բայց ես ընտրեցի այն պահել հնարավորինս պարզ և հեշտ ՝ հիմնվելով ԻՄ հմտությունների վրա: Այսպիսով, PHP, քանի որ ես դա գիտեմ: Եթե դու պիթոն -գուրու կամ այլ սցենարային լեզու ես, ազատ զգա դա օգտագործելը:

Ես ստեղծեցի «բեռնարկղ» index.html էջ, որն իրականում ունի երկու iframe, որոնք կատարում են ամբողջ աշխատանքը: Իֆրամներից մեկը պարունակում է կոճակներ/հղումներ, որոնք իրականում միացնում են ռելեներ GPIO- ի միջոցով, և մեկ այլ iframe, որը ցուցադրում է տեսանյութը: Այն նաև պարունակում է-p.webp

Կոճակները պարունակող index.html iframe- ում պարունակվում է ֆայլը buttons.html: (ծիծաղելի է, թե ինչպես է դա աշխատում, հա՞): button.html- ի երկու հղումներն էլ հանգեցնում են action.php- ի GET փոփոխականի յուրահատուկ արժեքով: Անցած արժեքի հիման վրա action.php- ը կամ կթողնի դուռը, կամ լուսային կոճակը: Դուք կարող եք ստանալ HTML և PHP կոդ իմ github- ից ՝

Տեղադրեք ամբողջ HTML- ն և PHP- ն արմատային գրացուցակում (/var/www/html/), անհրաժեշտության դեպքում թարմացրեք ծածկագիրը `այն պատկերի անունով, որը կարող եք օգտագործել կոճակը սեղմելու հաստատման համար և ձեր տեսանյութի հոսքի հասցեով: Հիշու՞մ եք, երբ ես ձեզ ասացի, որ դա ձեզ պետք է, դեռ նախորդ քայլին:

Քայլ 5: Փորձիր այն:

Լավ, հիմա, երբ ամեն ինչ լարված և տեղադրված է, ամեն ինչ կատարյալ է աշխատում առաջին փորձի ժամանակ, այնպես չէ՞: Անուշ!

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