Kazalo:

Odpirač garažnih vrat Raspberry Pi: 5 korakov
Odpirač garažnih vrat Raspberry Pi: 5 korakov

Video: Odpirač garažnih vrat Raspberry Pi: 5 korakov

Video: Odpirač garažnih vrat Raspberry Pi: 5 korakov
Video: The Choice is Ours (2016) Official Full Version 2024, Julij
Anonim
Odpirač za garažna vrata Raspberry Pi
Odpirač za garažna vrata Raspberry Pi

Naša petnajstletna tipkovnica, ki nam omogoča odpiranje garažnih vrat, je počasi umirala, z več gumbi, ki se komaj registrirajo, zaradi česar najstniki (ali psičarka) težko vstopijo v hišo, ko pozabijo ključ.

Namesto da bi ga zamenjal in skočil skozi obroče pri njegovem ponovnem programiranju, sem se odločil, da grem malo bolj visokotehnološko in ga zamenjam z nečim, kar zahteva le dostop do našega wifija in telefona.

Uporabil sem Pi Zero Wireless in 2-kanalni rele, ki mi je ostal pri drugem projektu, kar mi omogoča nadzor nad vrati in lučmi, ki so vgrajene v odpirač garažnih vrat. Ker sem imel staro/rezervno kamero USB, ki je ležala okoli zbiranja prahu, sem to uporabil namesto PiCam -a, vendar je bilo to le zaradi udobja. To bi dobro delovalo s katero koli podprto kamero - pri moji ni nič posebnega, le da jo je Raspbian podpiral.

Za razliko od nekaterih drugih podobnih projektov sem poskušal biti čim preprostejši, pri čemer sem uporabil "standardne" programske pakete, ki jih je precej enostavno zagnati, če upoštevate navodila. Ta fotografija prikazuje mojo končno (sploh ni lepo, je pa moja garaža) namestitev, vključno s Pi, relejskim modulom in spletno kamero USB, usmerjeno proti vratom. Ni posebnega razloga za uporabo Pi Zero - vsak Pi bi naredil, če ga lahko povežete z notranjim omrežjem, wifi pa to olajša.

1. korak: Povežite se z obstoječo nadzorno ploščo

Povezava z obstoječo nadzorno ploščo
Povezava z obstoječo nadzorno ploščo

Prvič, VAŠI SO LAHKO DRUGI! Moj ima en sam par žic, ki vodijo od odpirača garažnih vrat do nadzorne plošče na steni. Ker obstajata samo dve žici, za katera se je zdelo, da je imela med preskušanjem približno 18 voltov, sem bil sprva rahlo zmeden, kako lahko ta stvar nadzoruje več funkcij. MISLIM, da vsak trenutni gumb preprosto zaključi vezje, vendar z različnimi stopnjami upora. Nato lahko glavna enota odčita ta upor z različnimi padci napetosti in izvede pravilno dejanje. Nič od tega ni pomembno, razen če poskušate v celoti zamenjati krmilno enoto s Pi. Ne vem, zakaj bi to storili, saj je lepo, da je fizična enota še vedno na mestu.

AAAAAnnnyway, vse kar morate storiti je, da ponovite različne pritiske gumbov tako, da trenutna stikala na tiskanem vezju priključite na relejni modul. To je bilo edino spajkanje, ki sem ga moral narediti, blazinice na tiskanem vezju pa so bile precej velike, zato je bilo precej preprosto. Zaenkrat pustite te žice nekoliko daljše, saj je veliko lažje skrajšati žico kot jo kasneje podaljšati, razen če imate naokoli nosilce žice ACME, vendar so te precej redke.

2. korak: Ožičenje relejne plošče

Ožičenje relejne plošče
Ožičenje relejne plošče
Ožičenje relejne plošče
Ožičenje relejne plošče

Tukaj ni veliko za povedati, samo povežite vse, kot je na slikah. Na 2-relejnem modulu Sainsmart je treba nožice JC-VCC in VCC združiti skupaj, razen če zanje želite uporabiti popolnoma ločeno napajanje, vendar je za to uporabo to pretirano. Priključite GND na Pi GND pin, VCC na 5v pin, IN1 in IN2 pa na katere koli pin GPIO, ki jih želite uporabiti. Ker jih boste uporabljali samo kot stikala HIGH/LOW, ni pomembno, katere.

3. korak: Namestitev programske opreme

Namestitev programske opreme
Namestitev programske opreme

To je verjetno najbolj dolgotrajen korak, saj boste nekaj časa gledali, kako se stvari nalagajo in nameščajo. Oglejte si youtube ali kaj podobnega, medtem ko so nekatere od teh stvari nameščene.

Ne bom razlagal, kako namestiti Raspbian. Če še ne veste, kako to storiti, najprej poiščite google kakšno vadnico vrste "hello world". V vsakem primeru je verjetno najbolje uporabiti novo namestitev Raspbian Lite. Za ta projekt ni potrebe po gui -ju in to je samo dodatni stroški. raspberrypi.org vas lahko vodi skozi ta postopek.

Omogočite SSH in (če želite) ali konfigurirajte statični IP za svoj Pi (spet obstaja več vadnic o tem, kako to narediti, napisali so ga boljši avtorji od mene) ali še bolje, konfigurirajte usmerjevalnik/strežnik DHCP če želite svojemu Pi dodeliti statični IP.

Če želite lepo, enostavno namestitev in uporabo video storitve, pojdite in namestite MotionEye. Verjetno je pretirano, vendar je ena izmed namestitev, ki vsakič "preprosto deluje" in ima lep, enostaven za uporabo spletni vmesnik. Preverite tukaj:

github.com/ccrisan/motioneye/wiki/Install-… Sledite tem navodilom z uporabo sudo pred vsakim ukazom in imeli boste lep videoprenosnik. Ni nujno, da imate video tok, če vas zanima le odpiranje vrat, ko ga vidite, vendar je lepo, če imate povratne informacije.

Ko namestite Motioneye, obiščite https:// YourIPAddress: 8765 in se prijavite z uporabniškim imenom "admin" in praznim geslom. Verjetno boste morali dodati kamero, ki bi morala spet "samo delovati" in presegati obseg teh navodil.

Ko ste prijavljeni kot skrbnik, kliknite stikalo »Napredne nastavitve« in nato nastavite možnosti videoposnetka - za videoposnetek sem uporabil 320x240, ker me bolj skrbijo hitrejše posodobitve kot kakovost, saj sem si želel le videti Vrata so bila odprta ali ne, in vam ni treba brati številk nabiralnika čez cesto.

V območju nastavitev »Video Streaming« kliknite povezavo »URL Streaming« in si zapišite naslov, ki vam ga predstavlja. Pozneje ga boste potrebovali, če nameravate nastaviti vmesnik na enak način kot jaz.

Zatiče GPIO lahko upravljate na več načinov. Za ta projekt sem uporabil WiringPi, za namestitev pa uporabite navodila na spletnem mestu:

wiringpi.com/download-and-install/

Ali pa preprosto izdajte naslednje ukaze na svojem Pi:

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

To bi vam moralo dati seznam, kaj se dogaja z vašimi zatiči GPIO.

Če uporabljate nožice 4 in 17 (v shemi oštevilčevanja BCM), lahko svoje povezave preizkusite z naslednjimi ukazi. Upoštevajte, da bo nastavitev zatiča LOW aktivirala releje, če uporabljate ta modul Sainsmart. Vaše so lahko drugačne in temu se boste morali prilagoditi. Pri izvajanju teh ukazov bi morali slišati, kako se releji zaskočijo, LED (-i) pa naj zasvetijo.

gpio -g način 17 ven

gpio -g zapis 17 0 gpio -g zapis 1 1 gpio -g način 4 ven gpio -g zapis 4 0 gpio -g zapis 4 1

V redu, zdaj lahko nadaljujemo z izdelavo uporabniškega vmesnika.

4. korak: Izdelava vmesnika

Izdelava vmesnika
Izdelava vmesnika

Uporabil sem apache in PHP. Lepo in preprosto, nič preveč domišljijskega. Še enkrat je bilo bolje razloženo drugje, zato sledite tukaj navedenim navodilom:

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

"Koren" vašega spletnega strežnika je privzeto na/var/www/html/s privzetim index.html, ki vam daje podatke o vašem spletnem strežniku. Ta index.html boste zamenjali, zato ga lahko izbrišete ali preimenujete v kaj drugega, na primer index.copy. Uporabnika "pi" sem naredil tudi za lastnika imenika html, samo da sem len glede dovoljenj. Nazadnje sem ustvaril imenik za shranjevanje slik, od katerih sta dve. Enega, ki je samo neumna povratna informacija, da je bil pritisnjen gumb, in drugega, ki ga lahko uporabite za ikono na domačem zaslonu telefona.

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 slike

Obstaja neskončno veliko načinov za ustvarjanje spletnega mesta, vendar sem se odločil, da bo čim bolj enostaven in enostaven glede na MOJ nabor spretnosti. Zato PHP, saj ga poznam. Če ste python guru ali kateri koli drug skriptni jezik, ga uporabite.

Ustvaril sem stran "container" index.html, ki ima dejansko dva iframe -a, ki opravljata vse delo. Eden od okvirjev iframe vsebuje gumbe/povezave, ki dejansko sprožijo releje prek GPIO, in drugi iframe, ki prikazuje video. Vsebuje tudi povezave do slike.png, ki jo lahko uporabite kot ikono na domačem zaslonu telefona.

Iframe index.html, ki vsebuje gumbe, ima kot vsebino datoteko buttons.html. (smešno, kako to deluje, kajne?) Obe povezavi v button.html vodita do action.php z edinstveno vrednostjo spremenljivke GET. Na podlagi prenesene vrednosti bo action.php sprožil vrata ali gumb za luč. Kodo HTML in PHP lahko dobite na mojem githubu:

Vse kode HTML in PHP postavite v korenski imenik (/var/www/html/), po potrebi posodobite kodo z imenom slike, ki jo morda uporabljate za potrditev pritiska na gumb, in naslovom videotoka. Se spomnite, ko sem vam v prejšnjem koraku rekel, da to potrebujete?

5. korak: Preizkusite

V redu, zdaj, ko imate vse ožičeno in nameščeno, vse deluje odlično v prvem poskusu, kajne? Sladko!

Priporočena: