Turinys:

„Raspberry Pi“garažo durų atidarytuvas: 5 žingsniai
„Raspberry Pi“garažo durų atidarytuvas: 5 žingsniai

Video: „Raspberry Pi“garažo durų atidarytuvas: 5 žingsniai

Video: „Raspberry Pi“garažo durų atidarytuvas: 5 žingsniai
Video: My Raspberry Pi based, Wi-Fi enabled garage door opener 2024, Lapkritis
Anonim
„Raspberry Pi“garažo durų atidarytuvas
„Raspberry Pi“garažo durų atidarytuvas

Mūsų penkiolikos metų klaviatūra, leidžianti atidaryti garažo duris, pamažu miršta, su keliais mygtukais, kurie vos užregistruojami, todėl paaugliams (ar šunų prižiūrėtojams) sunku patekti į namus, kai jie pamiršta raktą.

Užuot jį pakeitęs ir peršokęs perprogramuodamas, nusprendžiau pereiti prie aukštųjų technologijų ir pakeisti jį kažkuo, kam reikėjo tik prieigos prie mūsų „Wi -Fi“ir telefono.

Aš naudoju „Pi Zero Wireless“ir 2 kanalų relę, kurią likau iš kito projekto, o tai leidžia valdyti tiek duris, tiek šviesas, įmontuotas garažo durų atidarytuve. Kadangi turėjau seną/atsarginę USB kamerą, kuri surinko dulkes, aš ją naudoju vietoj „PiCam“, tačiau tai buvo tik dėl patogumo. Tai puikiai veiktų su bet kokia palaikoma kamera - mano nėra nieko ypatingo, tiesiog „Raspbian“ją palaikė.

Skirtingai nuo kai kurių kitų panašių projektų, aš stengiausi, kad tai būtų kuo paprasčiau, naudojant „standartinius“programinės įrangos paketus, kuriuos gana lengva paleisti ir paleisti, jei laikysitės instrukcijų. Šioje nuotraukoje parodytas mano paskutinis (visai ne gražus, bet tai mano garažas) įrengimas, įskaitant „Pi“, relės modulį ir USB kamerą, nukreiptą į duris. Nėra jokios konkrečios priežasties naudoti „Pi Zero“- bet kuris „Pi“tai padarytų, jei tik galėsite jį prijungti prie savo vidinio tinklo, o „Wi -Fi“tai palengvina.

1 veiksmas: prisijungimas prie esamo valdymo skydo

Prisijungimas prie esamo valdymo pulto
Prisijungimas prie esamo valdymo pulto

Pirma, JŪSŲ GALI BŪTI SKIRTINGI! Mano yra viena pora laidų, einančių nuo garažo durų atidarytuvo iki valdymo pulto ant sienos. Kadangi yra tik du laidai, kurie bandant atrodė apie 18 voltų, iš pradžių buvau šiek tiek sutrikęs, kaip tiksliai šis daiktas gali valdyti kelias funkcijas. Manau, kad kiekvienas momentinis mygtukas tiesiog užbaigia grandinę, tačiau turi skirtingą pasipriešinimo lygį. Tada pagrindinis įrenginys gali perskaityti tą varžą per skirtingus įtampos kritimus ir atlikti teisingą veiksmą. Tačiau tai neturi jokios reikšmės, nebent bandote visiškai pakeisti valdymo bloką „Pi“. Nežinote, kodėl norite tai daryti, nes malonu, kad fizinis vienetas vis dar yra vietoje.

Bet kokiu atveju jums tereikia pakartoti įvairius mygtukų paspaudimus, prijungus momentinius PCB jungiklius prie relės modulio. Tai buvo vienintelis litavimas, kurį turėjau atlikti, o trinkelių plokštės buvo gana didelės, todėl tai buvo gana paprasta. Šiuos laidus kol kas palikite ilgus, nes daug lengviau sutrumpinti laidą, nei vėliau jį pailginti, nebent turite ACME vielos neštuvus, tačiau jie yra gana reti.

2 žingsnis: perdavimo plokštės prijungimas

Relės plokštės prijungimas
Relės plokštės prijungimas
Relės plokštės prijungimas
Relės plokštės prijungimas

Čia nėra daug ką pasakyti, tiesiog sujunkite viską kaip nuotraukose. „Sainsmart“2 relių modulyje JC-VCC ir VCC kaiščius reikia jungti kartu, nebent norite naudoti visiškai atskirą maitinimo šaltinį, tačiau šiam naudojimui tai yra per daug. Prijunkite GND prie „Pi GND“kaiščio, VCC prie 5 V kaiščio, o „IN1“ir „IN2“prie bet kokių GPIO kaiščių, kuriuos norite naudoti. Kadangi ketinate juos naudoti tik kaip HIGH/LOW perjungiklius, tikrai nesvarbu, kuriuos.

3 žingsnis: Įdiekite programinę įrangą

Programinės įrangos diegimas
Programinės įrangos diegimas

Tai turbūt daugiausiai laiko reikalaujantis žingsnis, nes kurį laiką žiūrėsite, kaip atsisiunčiami ir diegiami dalykai. Žiūrėkite „YouTube“ar kažką, kol įdiegta ši medžiaga.

Aš nekalbėsiu, kaip įdiegti „Raspbian“. Jei dar nežinote, kaip tai padaryti, galbūt pirmiausia „Google“įdėkite „labas pasaulis“tipo vadovėlių. Bet kokiu atveju turbūt geriausia naudoti naują „Raspbian Lite“diegimą. Šiam projektui nereikia gui, o tai tik papildomos išlaidos. Raspberrypi.org gali jus supažindinti su šiuo procesu.

Įjunkite SSH ir (jei jums patinka) arba sukonfigūruokite statinį savo „Pi“IP (dar kartą yra daugybė vadovėlių, kaip tai padaryti, parašyta geresnių autorių nei aš), arba dar geriau, sukonfigūruokite maršrutizatorių/DHCP serverį priskirti statinį IP jūsų „Pi“.

Jei norite gražios, lengvai įdiegtos ir naudojamos vaizdo paslaugos, eikite ir įdiekite „MotionEye“. Tikriausiai tai per daug, bet tai yra vienas iš diegimų, kurie „tiesiog veikia“kiekvieną kartą ir turi gražią, lengvai naudojamą žiniatinklio sąsają. Patikrinkite čia:

github.com/ccrisan/motioneye/wiki/Install-… Vykdykite šias instrukcijas naudodami sudo prieš kiekvieną komandą ir turėsite gražią vaizdo transliaciją. Vaizdo srautas nėra būtinas, jei jums rūpi tik atverti duris, kai jį matote, tačiau malonu sulaukti atsiliepimų.

Įdiegę „Motioneye“, apsilankykite adresu https:// YourIPAddress: 8765 ir prisijunkite naudodami vartotojo vardą „admin“ir tuščią slaptažodį. Tikriausiai turėsite pridėti fotoaparatą, kuris vėlgi turėtų „veikti“ir neapsiriboti šiomis instrukcijomis.

Kol esate prisijungęs kaip administratorius, spustelėkite jungiklį „Išplėstiniai nustatymai“, tada nustatykite vaizdo įrašo parinktis - vaizdo įrašui naudojau 320 x 240, nes man labiau rūpi greitesni atnaujinimai nei kokybė, nes aš tikrai norėjau tai pamatyti durys buvo atidarytos ar ne, ir nereikia skaityti pašto dėžutės numerių kitoje gatvės pusėje.

Nustatymų srityje „Vaizdo srautinio perdavimo srautas“spustelėkite nuorodą „Srautinio perdavimo URL“ir užsirašykite adresą, kurį jis jums pateikia. Jums to prireiks vėliau, jei planuojate sąsają nustatyti taip, kaip aš.

Yra keli GPIO kaiščių valdymo būdai. Šiam projektui aš naudoju „WiringPi“, norėdamas ją įdiegti, vadovaukitės svetainėje pateiktomis instrukcijomis:

wiringpi.com/download-and-install/

Arba tiesiog paleiskite šias „Pi“komandas:

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

Tai turėtų suteikti jums sąrašą, kas vyksta su jūsų GPIO kaiščiais.

Jei naudojate 4 ir 17 kaiščius (BCM numeravimo schemoje), galite patikrinti savo ryšius naudodami šias komandas. Atminkite, kad nustačius kaištį LOW, naudojant šį „Sainsmart“modulį, bus suaktyvintos relės. Jūsų gali skirtis, ir jums reikės prie to prisitaikyti. Vykdydami šias komandas turėtumėte išgirsti, kaip relės spragteli į savo vietą, o šviesos diodas (-ai) turi užsidegti.

„gpio -g“režimas 17 išėjimų

gpio -g write 17 0 gpio -g write 1 1 gpio -g mode 4 out gpio -g write 4 0 gpio -g write 4 1

Gerai, dabar galime pereiti prie UI kūrimo.

4 žingsnis: sąsajos kūrimas

Sąsajos kūrimas
Sąsajos kūrimas

Naudojau apache ir PHP. Gražu ir paprasta, nieko neįprasto. Dar kartą tai buvo geriau paaiškinta kitur, todėl tiesiog vykdykite čia pateiktas instrukcijas:

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

Pagal numatytuosius nustatymus jūsų žiniatinklio serverio „šaknis“yra/var/www/html/su numatytuoju index.html, kuriame pateikiama informacija apie jūsų žiniatinklio serverį. Jūs pakeisite tą index.html, kad galėtumėte jį ištrinti arba pervadinti į kažką kitą, pvz., Index.copy. Aš taip pat padariau „pi“vartotoją html katalogo savininku, kad tik tingėčiau dėl leidimų. Galiausiai sukūriau katalogą savo vaizdams saugoti, kurių yra du. Vienas yra tiesiog kvailas atsiliepimas, kad buvo paspaustas mygtukas, ir kitas, kurį galima naudoti kaip piktogramą pagrindiniame telefono ekrane.

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

pi@garageoor:/var/www/html $ sudo chown pi.pi@garageor:/var/www/html $ mv index.html index.copy pi@garageoor:/var/www/html $ mkdir images

Yra begalinis būdas sukurti svetainę, tačiau aš nusprendžiau ją išlaikyti kuo paprastesnę ir lengvesnę, atsižvelgdamas į MANO įgūdžius. Taigi, PHP, nes aš tai žinau. Jei esate python guru ar kita scenarijų kalba, drąsiai naudokitės ja.

Sukūriau „konteinerio“puslapį index.html, kuriame iš tikrųjų yra du iframe, kurie atlieka visą darbą. Viename iš „iframe“yra mygtukai/nuorodos, iš tikrųjų suaktyvinančios relės per GPIO, ir kitame „iframe“, kuriame rodomas vaizdo įrašas. Jame taip pat yra nuorodų į-p.webp

„Index.html iframe“, kuriame yra mygtukai, turinys yra failas buttons.html. (juokinga, kaip tai veikia? Remiantis perduota verte, action.php suaktyvins duris arba šviesos mygtuką. HTML ir PHP kodus galite gauti iš mano „github“:

Įdėkite visą HTML ir PHP į šakninį katalogą (/var/www/html/), jei reikia, atnaujinkite kodą, nurodydami paveikslėlio, kurį galbūt naudosite patvirtindami mygtukus, pavadinimą ir vaizdo įrašo srauto adresą. Prisimeni, kai dar ankstesniame žingsnyje sakiau, kad tau to prireiks?

5 žingsnis: Išbandykite

Gerai, dabar, kai viskas yra prijungta ir įdiegta, viskas puikiai veikia pirmą kartą, tiesa? Saldus!

Rekomenduojamas: