Cuprins:

Deschizător ușă de garaj Raspberry Pi: 5 pași
Deschizător ușă de garaj Raspberry Pi: 5 pași

Video: Deschizător ușă de garaj Raspberry Pi: 5 pași

Video: Deschizător ușă de garaj Raspberry Pi: 5 pași
Video: Control automatizari de pe smartphone, prin switch wi-fi universal 2024, Iulie
Anonim
Deschizător de ușă pentru garaj Raspberry Pi
Deschizător de ușă pentru garaj Raspberry Pi

Tastatura noastră de cincisprezece ani, care ne permite să deschidem ușa garajului, a murit încet, cu mai multe butoane care abia se înregistrează, ceea ce face dificilă accesarea adolescenților (sau a câinelui) în casă atunci când își uită cheia.

În loc să-l înlocuiesc și să sar printre cercurile de reprogramare a acestuia, am decis să merg puțin mai înaltă tehnologie și să-l înlocuiesc cu ceva care necesită doar acces la wifi-ul nostru și un telefon de utilizat.

Am folosit un Pi Zero Wireless și un releu cu 2 canale pe care mi le-am lăsat dintr-un alt proiect, care îmi permite să controlez atât ușa, cât și luminile care sunt încorporate în deschizătorul ușii de garaj. Deoarece aveam o cameră USB veche / de rezervă care stătea în jurul prafului, am folosit-o în locul unui PiCam, dar asta nu era decât din comoditate. Acest lucru ar funcționa foarte bine cu orice cameră suportată - nu este nimic special la mine, doar că Raspbian a acceptat-o.

Spre deosebire de alte proiecte similare, am încercat să-l păstrez cât mai simplu posibil, folosind pachete software „standard” care sunt destul de ușor de instalat și de rulat dacă urmați împreună cu instrucțiunile. Această fotografie arată ultima mea instalare (deloc frumoasă, dar este garajul meu), inclusiv Pi, modulul de releu și camera web USB îndreptate spre ușă. Nu există niciun motiv specific pentru a utiliza Pi Zero - orice Pi ar face, atâta timp cât îl puteți conecta la rețeaua dvs. internă, iar wifi vă facilitează acest lucru.

Pasul 1: Conectarea la panoul de control existent

Conectarea la panoul de control existent
Conectarea la panoul de control existent

În primul rând, TĂU POATE FI DIFERIT! Al meu are o singură pereche de fire care merg de la deschizătorul ușii de garaj la panoul de control de pe perete. Deoarece există doar două fire, care păreau să aibă aproximativ 18 volți la testare, am fost puțin confuz la început cu privire la modul exact în care acest lucru poate controla mai multe funcții. CRED că fiecare buton de moment completează pur și simplu circuitul, dar cu diferite niveluri de rezistență. Apoi, unitatea principală poate citi această rezistență prin diferite căderi de tensiune și poate efectua acțiunea corectă. Nimic din toate acestea nu contează, însă, cu excepția cazului în care încercați să înlocuiți complet unitatea de control cu Pi. Nu sunt sigur de ce ați dori să faceți acest lucru, deoarece este frumos să aveți încă unitatea fizică la locul său.

AAAAAnnyway, tot ce trebuie să faceți este să copiați diferitele butoane prin conectarea comutatoarelor momentane de pe PCB la modulul dvs. de releu. Aceasta a fost singura lipire pe care a trebuit să o fac, iar tampoanele de pe PCB erau destul de mari, deci a fost destul de simplă. Lăsați aceste fire cam lungi deocamdată, deoarece este mult mai ușor să scurtați un fir decât să îl prelungiți mai târziu, cu excepția cazului în care aveți o targă de sârmă ACME așezată în jur, dar acestea sunt destul de rare.

Pasul 2: Cablarea plăcii de releu

Cablarea plăcii de releu
Cablarea plăcii de releu
Cablarea plăcii de releu
Cablarea plăcii de releu

Nu prea multe de spus aici, conectați totul ca în imagini. Pe modulul Sainsmart cu 2 relee, pinii JC-VCC și VCC trebuie să fie conectați împreună, cu excepția cazului în care doriți să utilizați o sursă de alimentare complet separată pentru ei, dar pentru această utilizare, este mult prea mare. Conectați GND la un pin Pi GND, VCC la un pin 5v și IN1 și IN2 la orice pin GPIO pe care doriți să îl utilizați. Deoarece doar le veți folosi ca comutatoare HIGH / LOW, nu contează care dintre ele.

Pasul 3: Instalarea software-ului

Instalarea software-ului
Instalarea software-ului

Acesta este probabil cel mai consumator de timp, deoarece veți urmări cum se descarcă și se instalează lucrurile pentru o vreme. Urmăriți YouTube sau ceva în timp ce unele dintre aceste lucruri sunt instalate.

Nu voi explica cum să instalez Raspbian. Dacă încă nu știți cum să faceți acest lucru, poate mergeți mai întâi pe google câteva tutoriale tip „hello world”. În orice caz, este cel mai bine să folosiți o nouă instalare a Raspbian Lite. Nu este nevoie de un ghid pentru acest proiect și este doar o cheltuială suplimentară. raspberrypi.org vă poate ajuta să parcurgeți acest proces.

Activați SSH și (dacă doriți) fie configurați un IP static pentru Pi (încă o dată, există mai multe tutoriale despre cum să faceți acest lucru, scrise de autori mai buni decât mine) sau chiar mai bine, configurați routerul / serverul DHCP pentru a atribui un IP static Pi-ului tău.

Dacă doriți un serviciu video frumos, ușor de instalat și de utilizat, mergeți și instalați MotionEye. Probabil că este exagerat, dar este una dintre instalările care „funcționează” de fiecare dată și are o interfață web ușor de utilizat. Verifică-l aici:

github.com/ccrisan/motioneye/wiki/Install-… Urmați aceste instrucțiuni folosind sudo înainte de fiecare comandă și veți avea configurat un streamer video frumos. Nu este exact necesar să ai un flux video dacă nu îți pasă decât să îți deschizi ușa când o poți vedea, dar este bine să ai feedback.

După ce ați instalat Motioneye, accesați https:// YourIPAddress: 8765 și conectați-vă cu numele de utilizator „admin” și o parolă necompletată. Probabil că va trebui să adăugați o cameră, care ar trebui, din nou, să „funcționeze” și dincolo de sfera acestor instrucțiuni.

În timp ce sunteți conectat ca administrator, faceți clic pe comutarea „Setări avansate”, apoi setați opțiunile video - Am folosit 320x240 pentru videoclipul meu, deoarece îmi pasă mai mult de actualizări mai rapide decât mă refer la calitate, deoarece într-adevăr am vrut doar să îl văd ușa era deschisă sau nu și nu este nevoie să citiți numerele cutiei poștale de pe stradă.

În zona de setări „Video Streaming”, faceți clic pe linkul „Streaming URL” și notați adresa pe care vi-o prezintă. Veți avea nevoie de el mai târziu dacă intenționați să configurați interfața în același mod în care am făcut-o.

Există mai multe moduri de a vă controla pinii GPIO. Pentru acest proiect, am folosit WiringPi, pentru a-l instala, folosiți instrucțiunile de pe site:

wiringpi.com/download-and-install/

Sau pur și simplu emiteți următoarele comenzi pe Pi:

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

Acest lucru ar trebui să vă ofere o listă cu ceea ce se întâmplă cu pinii GPIO.

Dacă utilizați pinii 4 și 17 (în schema de numerotare BCM), vă puteți testa conexiunile cu următoarele comenzi. Rețineți că setarea pinului LOW va activa releele dacă utilizați acest modul Sainsmart. A ta poate fi diferită și va trebui să te adaptezi pentru asta. Atunci când executați aceste comenzi, ar trebui să auziți releele făcând clic pe loc și LED-urile ar trebui să se aprindă.

gpio -g mode 17 out

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

OK, acum putem trece la crearea interfeței de utilizare.

Pasul 4: Realizarea interfeței

Realizarea interfeței
Realizarea interfeței

Am folosit apache și PHP. Frumos și simplu, nimic prea elegant. Din nou, a fost mai bine explicat în altă parte, așa că trebuie doar să urmați instrucțiunile găsite aici:

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

„Rădăcina” serverului dvs. web, în mod implicit, se află la / var / www / html / cu un index.html implicit care vă oferă informații despre serverul dvs. web. Veți înlocui acel index.html, astfel încât să îl puteți șterge sau să îl redenumiți în altceva precum index.copy. De asemenea, am făcut ca utilizatorul „pi” să fie proprietarul directorului html, doar pentru a fi leneș cu privire la permisiuni. În cele din urmă, am creat un director pentru stocarea imaginilor mele, dintre care există două. Unul este doar feedback prostesc că a fost apăsat un buton și altul care poate fi folosit pentru o pictogramă pe ecranul de pornire al telefonului.

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 images

Există un număr infinit de moduri de a crea un site web, dar am ales să-l păstrez cât mai simplu și mai ușor posibil pe baza setului meu de competențe. Prin urmare, PHP, de când îl știu. Dacă sunteți un guru Python sau un alt limbaj de scriptare, nu ezitați să utilizați acest lucru.

Am creat o pagină „container” index.html care are de fapt două iframe care fac toată treaba. Unul dintre iframe conține butoanele / linkurile care declanșează de fapt relele prin GPIO și un alt iframe care afișează videoclipul. De asemenea, conține linkuri către o imagine-p.webp

Iframe-ul index.html care conține butoanele are ca conținut fișierul button.html. (amuzant cum funcționează, nu?) Ambele linkuri din button.html conduc la action.php cu o valoare variabilă GET unică. Pe baza valorii trecute, action.php va declanșa fie ușa, fie butonul luminos. Puteți obține codul HTML și PHP de pe github:

Plasați toate codurile HTML și PHP în directorul rădăcină (/ var / www / html /), actualizați codul acolo unde este necesar cu numele imaginii pe care ați putea să o utilizați pentru confirmarea apăsării butonului și adresa fluxului video. Îți amintești când ți-am spus că vei avea nevoie de asta, înapoi la pasul anterior?

Pasul 5: Încercați

OK, acum că aveți totul conectat și instalat, totul funcționează perfect la prima încercare, nu? Dulce!

Recomandat: