Cuprins:

Deschizător ușă garaj folosind un Raspberry Pi: 5 pași (cu imagini)
Deschizător ușă garaj folosind un Raspberry Pi: 5 pași (cu imagini)

Video: Deschizător ușă garaj folosind un Raspberry Pi: 5 pași (cu imagini)

Video: Deschizător ușă garaj folosind un Raspberry Pi: 5 pași (cu imagini)
Video: DE CE VREAU L4D3 2024, Iulie
Anonim
Deschizător ușă garaj folosind un Raspberry Pi
Deschizător ușă garaj folosind un Raspberry Pi

Controlează motorul garajului de pe un smartphone sau orice dispozitiv capabil să navigheze pe o pagină web (cu AJAX!). Proiectul a fost început, deoarece aveam o singură telecomandă pentru garajul meu. Cât de distractiv a fost să cumperi un al doilea? Insuficient. Ținta mea a fost să îmi pot controla și monitoriza ușa garajului de pe smartphone-ul meu cu o singură pagină. Nu am pus nicio securitate de lux în jurul său, deoarece RPi nu este expus în afara LAN-ului meu. Prin urmare, mă bazez pe VPN pentru a accesa pagina web. Folosind un smartphone Android este foarte ușor să configurați un VPN și să adăugați o pagină web pe ecranul de pornire. Tot ce aveam nevoie era software-ul pentru acesta.

Dacă doriți să mă sprijiniți în scrierea altor instrumente instructabile, vă rugăm să cumpărați hardware de pe linkurile sponsorizate de Amazon.

De asemenea, acest instructable este acum disponibil și de pe pagina mea personală:

Pasul 1: Unele fundaluri

Ce am găsit online

În calitate de programator, îmi place să refolosesc tutoriale sau deja codul „la nivel de producție”. În acest caz, nu am fost mulțumit de ceea ce am găsit:

  • Deschizător de uși pentru garaj Raspberry Pi de către quartarian. Unde am început, un simplu buton pentru comanda releului. Fără butoane de deschidere / închidere, fără feedback. A fost oricum foarte util să înțelegem conceptul în jurul RPi dedicat pentru a controla un motor dintr-un releu. Cablarea pe care o folosesc acum este încă aceeași pentru partea de comandă.
  • Deschizător de uși pentru garaj Raspberry Pi cu GaragePi de Chase Chou. Același tip de configurare, dar folosind o telecomandă wireless suplimentară. Nu eram dispus să-mi omor singura telecomandă. S-a dovedit că oricum se folosește același tip de configurare electrică pentru partea de comandă. Pe parcurs am aflat despre WebIOPi pentru a-mi verifica GPIO-ul pe o pagină web. Asta a fost, de asemenea, am aflat despre punerea unei comenzi rapide la ecranul meu de pornire Android. De asemenea, a început să se aprindă ideea de a miza pe servicii, la urma urmei, vreau să fie de încredere.
  • Realizarea e-mailului, a Tweetului sau a SMS-urilor pentru ușa de garaj: partea 1 de Richard L. Lynch. Acesta a adăugat ideea de a utiliza un senzor magnetic pentru a controla starea ușii. Cu toate acestea, nu am folosit mult, deoarece nu construiam un sistem de alarmă, ci un sistem de comandă / monitorizare.
  • Deschidere ușă de garaj complet completă / Cam de securitate de la DeckerEgo. Acest lucru m-a făcut să fiu mai conștient de fluxul de webcam pentru a monitoriza ușa. Încă trebuie să depun eforturi în acest sens. Poate că ar trebui să reciclez un hub USB sau să aduc o altă cameră web.
  • Control Raspberry Pi de pe dispozitivul mobil sau browserul web desktop de Frédérick Blais. Aceasta este acum baza mea pentru stiva de software. Folosește Flask pentru a rula o pagină web foarte simplă împreună cu AJAX. Acest lucru este premium pentru mine, deoarece oferă opțiuni de monitorizare și comandă în timp real. Cititi mai jos.

Despre RPi-ul meu

În timp ce învăț încă despre RPi și despre chestiunile electronice în general, am cumpărat o serie de lucruri pentru Raspberry Pi proaspăt achiziționat: câteva cabluri, un T-cobbler, niște led-uri, un modul cu un releu, un opt-relee modul, un afișaj LCD și așa mai departe. Nu sunt în niciun caz un electronist și acest lucru s-a dovedit foarte instructiv. Pentru a cumpăra hardware suplimentar Amazon și Ebay sunt cei mai buni prieteni ai tăi.

Starea actuală a proiectului include următoarele componente hardware:

  • Un Raspberry Pi (FR / DE) care rulează Raspbian Wheezy 2014-09-09 cu cele mai recente actualizări
  • Un card micro SD de 8 GB (FR / DE) sau 16 GB (FR / DE) sau 32 GB (FR / DE) clasa 10 pentru a păstra sistemul de operare, fișierele și așa mai departe
  • Două comutatoare de reed din garnitură din aliaj de zinc (FR / DE) pentru a detecta starea de deschidere / închidere
  • Un modul de releu 3v (FR / DE) pentru a trimite comenzi către motorul ușii (al meu are un LED încorporat pentru a monitoriza starea releului, foarte la îndemână!)
  • O placă fără sudură (FR / DE) și 2 comutatoare momentane (FR / DE) pentru a simula ușa de pe biroul meu (sau pentru a obține un kit de pornire (FR / DE))
  • Un dongle wifi (FR / DE) pentru a elimina cablurile suplimentare atunci când acesta va fi agățat de tavanul garajului

O limită pe care o am încă este că nu știu când ușa este pe jumătate, oprită sau încă în mișcare. Acesta este și motivul pentru care aș dori să adaug ulterior o cameră web veche pentru a transmite din interiorul garajului. Probabil că voi adăuga un senzor pentru a monitoriza motorul în sine.

Pasul 2: Stiva software

Stivă de software
Stivă de software

Lucruri generale

Software-ul se bazează pe modulul Python, Flask și WiringPi GPIO Python. După cum s-a explicat în fundal, am început de la tutorialul control Raspberry Pi de pe dispozitivul mobil sau browserul web desktop publicat de Frédérick Blais. Software-ul actual este compus din:

  • Un fișier șablon HTML care conține unele coduri jQuery Mobile și controale
  • Un modul Python Pins pentru a accesa GPIO-ul Raspberry Pi
  • Un modul Python go pentru a rula Flask și pentru a susține interogările AJAX

Ceea ce este prezent în depozit este software-ul brut. Nu este în niciun caz fantezie sau copleșire a caracteristicilor. Este doar ceea ce am reușit să realizez din ceea ce am învățat.

Interfață curentă

În prezent, starea pentru uși este citită la fiecare 0,5 secunde. Două comutatoare sunt utilizate atât pentru starea de deschidere / închidere. Un releu este folosit pentru comanda motorului. Codul curent produce în continuare o anumită depanare. Sub captura de ecran este de pe un Nexus 5.

Pasul 3: Hardware - Alpha

Hardware - Alpha
Hardware - Alpha
Hardware - Alpha
Hardware - Alpha

Pat de testare

Patul meu de testare este destul de simplu, un RPi, un releu și două comutatoare. Pentru a ține lucrurile strânse, este nevoie de câteva cravate cu fermoar (FR / DE). Iată o imagine a acestuia. Cablul LAN RJ45 (FR / DE) este pentru depanare desktop și dongle WIFI pentru utilizare în garaj.

Sistem live

RPi este conectat la motorul ușii doar deocamdată, vor urma comutatoarele. Trebuie să aștept puțin pentru a-mi obține tubulatura termocontractibilă (FR / DE). De asemenea, ar trebui să fiu mai constantă. Îmi pare rău pentru neclaritate.

Cablurile albastre, galbene și verzi din stânga sunt pentru comutatoarele magnetice.

  • Albastru este GND
  • Galben și verde sunt pinii 18 (stare deschisă) și 27 (stare închisă).

Pasul 4: Hardware - Beta

Hardware - Beta
Hardware - Beta
Hardware - Beta
Hardware - Beta
Hardware - Beta
Hardware - Beta

Pat de testare

Acesta este acum un carton direct cu cravate cu fermoar. LCD și releu sunt, de asemenea, incluse. Ecranul LCD are 20x4 (20 de caractere pentru rânduri, 4 linii) (FR / DE) peste I²C.

Primele 2 linii afișează bun venit și data / ora. Ultimele 2 linii circulă între stările pinilor și starea rețelei (eth0 / wan0 IP-uri). Linia de stare a ușii este un GFX frumos de spus:

  • | | este deschis
  • | - | funcționează
  • |. | este închis

Scheme Fritzing

Schemă Fritzing cu LCD I2C 20x4, comutatoare deschidere / închidere și releu. Singura adăugare este ecranul LCD I2C. Am preferat asta decât 18x2 pe care îl aveam.

Sistem live

Beta HW este acum „la nivel de producție”, deoarece se potrivește frumos într-o cutie de șuruburi veche. Am păstrat un separator pentru a găzdui relee și cabluri misc în timp ce RPi se află la un nivel inferior. S-ar putea să observați Synology NAS (FR / DE) pe partea dreaptă, este utilizat pentru alimentarea directă a RPi. Noaptea cu modem, comutator și NAS.

Vedere închisă a cutiei de șuruburi, ecranul LCD afișează starea ușii și deschiderea / închiderea / reluarea pinoutului.

Noaptea, vedere interioară de sus.

Pasul 5: Cod sursă și resurse

Puteți găsi toate resursele la acest depozit GitHub:

github.com/amayii0/GarageOpenerR1

Recomandat: