
Përmbajtje:
- Hapi 1: Mblidhni pjesë
- Hapi 2: Konfiguroni Raspberry Pi Pa Monitor ose Tastierë
- Hapi 3: Instaloni Wiring Pi, Apache dhe PHP
- Hapi 4: Uebfaqe
- Hapi 5: Imazhi i faqes në internet
- Hapi 6: Kontrolli në distancë i serverit të uebit
- Hapi 7: Lidhni qarkun në Raspberry Pi
- Hapi 8: Krijoni një shërbim fillestar
- Hapi 9: Bashkojeni Raspberry Pi në Garazh
- Hapi 10: Bashkojeni Raspberry Pi SECO-LARM
- Hapi 11: Dërgo alarmin nëse dera është e hapur kur duhet të mbyllet
- Hapi 12: Vendosni Raspberry Pi në Librin Sekret
- Hapi 13: Shtojca: Referencat
- Hapi 14: Shtojca: Përditësimet
- Hapi 15: Shtojca: Zgjidhja e problemeve
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-06-01 06:10

Unë e krijova këtë të udhëzueshëm në vitin 2014. Shumë gjëra kanë ndryshuar që atëherë. Në vitin 2021, unë azhurnova Hapësen e Dyerve të Garazhit të Zgjuar këtu.
Përdorni një Raspberry Pi dhe një smartphone për të hapur, mbyllur dhe monitoruar derën e garazhit. Hapja dhe mbyllja e derës sigurohet duke përdorur certifikata të vetë-nënshkruara të instaluara në telefonat celularë të familjes. Nëse dera e garazhit është e hapur kur nuk duhet, atëherë dërgoni një mesazh me tekst (SMS) në një celular.
Dera e garazhit ka qenë në përdorim të vazhdueshëm që nga fundi i vitit 2014. Me kalimin e viteve, jam përpjekur t'i mbaj përditësuar ndryshimet. Ekziston një shtojcë që përshkruan ndryshimet në udhëzimet.
Qëllimet e këtij projekti janë:
- Bëni mësimin tim të parë - nuk kam planifikuar ta postoj këtë, por kam marrë shumë kërkesa
- Hapni një derë garazhi me një telekomandë standarde
- Hapni një derë garazhi me hapësin e garazhit të ziles së montuar në mur
- Hapni një derë garazhi me një Smartphone
- Monitoroni statusin e derës së garazhit nga distanca përmes një telefoni celular ose laptop (a është e hapur apo e mbyllur?)
- Dërgo një mesazh me tekst në celularin tim nëse dera është e hapur kur duhet të mbyllet
- Mbani derën e garazhit të sigurt (p.sh., me humbje të energjisë, dera nuk duhet të hapet)
- Mos lejoni që dikush tjetër në rrjet të hap derën (certifikatë SSL e vetë-nënshkruar me dy drejtime)
- Përdorni WiFi në vend të një lidhjeje me tel
- Përdorni Raspberry Pi 3
Baza për këtë zbatim të Hapësit të Garazheve derivoi nga Instructable: Raspberry Pi Garage Door Opener nga quartarian. Fillimisht, kam përdorur një model B+ Raspberry Pi, pastaj u transferova në një Raspberry Pi 2 model B, dhe tani ai përdor një Raspberry Pi 3.
Kam përdorur një MacBook për të komunikuar me Raspberry Pi, por çdo kompjuter mund të përdoret.
Nuk ka asnjë arsye bindëse për të ndërtuar këtë pajisje, por ishte argëtuese. Costshtë më kosto -efektive për të blerë një të tillë. Një pajisje e ngjashme mund të blihet për rreth 130 dollarë.
- Master ngritës 828LM
- Chamberlain MyQ 129 dollarë
- GoGo Gate 179 dollarë
- Zejtar 100 dollarë
Shënime:
- Teksti i mbyllur me lopata, si ky ♣ zëvendëso-këtë ♣ duhet të zëvendësohet me një vlerë aktuale
- Arduino nënvizoi tekstin blu është një lidhje. Në këtë rast, është një lidhje me një version arduino të një hapësi të dyerve të garazhit.
- Unë jam përpjekur të kreditoj çdo burim të përdorur. Kërkoj falje për çdo lëshim. Shumica e këtij dokumenti bazohet në punën e njerëzve të tjerë.
- $ tregon një komandë të ekzekutuar në një dritare terminale në MacBook dhe zakonisht po ekzekutohet në Raspberry Pi
Hapi 1: Mblidhni pjesë
Blini ose mblidhni pjesë dhe mjete (çmimet në USD).
- Raspberry Pi 3 Model B Newark Element14 35 dollarë
- Përshtatës USB 5.2V 2.5A USB nga Amazon 9.99 dollarë
- Kabllo mikro USB në USB 6 metra nga Amazon 7.99 dollarë
- Rasti nga Amazon 6.99 dollarë
- SanDisk Ultra 16 GB microSDHC Class 10 me përshtatës (SDSQUAN-016G-G4A) nga Amazon 8.99 dollarë
- SunFounder 2 Channel 5V Relay Shield Module për Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $ 6.79
- 3x Fijet Femra-Femra Jumper Wires. Blerë në Fry's për 4.95 dollarë.
- DNS dinamike 40 dollarë në vit për 30 emra (dyn.com)
- 1-Banda 18 cu. in. Ndërprerës dhe kuti dalëse e murit të rëndë të punës së vjetër, 3.12 dollarë
- Pllakë muri e bardhë Ultra Pro me një furçë, 7.88 dollarë
- SECO-LARM SM 226L, Sensori i dyerve të garazhit, çmimi ndryshon shumë, 9.99 dollarë në Amazon me transport falas
- 50 metra tela të ngurta termostati, Home Depot ose Lowe's, 20 dollarë
Totali im: 2 172,00 dollarë
Unë kisha pjesët, mjetet dhe shërbimet e mëposhtme:
- Kabllo Ethernet CAT5
- Teli i vogël matës, 6 ft i gjatë
- Kaçavidë Phillips
- Pincë hundë me gjilpërë
- Prerës kuti
- Bizhuteritë vidë me kokë të sheshtë, të nevojshme për të liruar vidhat në stafetë
- MacBook (mund të përdoret një kompjuter)
- AT&T GigaPower (mund të përdoret çdo ofrues i shërbimit të internetit)
Hapi 2: Konfiguroni Raspberry Pi Pa Monitor ose Tastierë

Të gjitha projektet Raspberry Pi kërkojnë një lloj konfigurimi. Më pëlqen të përdor të njëjtin grup udhëzimesh dhe, kur është e nevojshme, të kem një vend për të përditësuar ato udhëzime.
Vendosni Raspberry Pi duke përdorur udhëzimet e mëposhtme:
Vendosni Raspberry Pi pa monitor ose tastierë
Udhëzimi i mësipërm përfshin hapa opsionalë në shtojcë. Sigurohuni që të bëni hapin:
Shtoni certifikata nga ana e klientit në serverët në internet
Shutdown Raspberry Pi
$ sudo mbyllje -h 0
Pasi të fiket, hiqeni
- kabllo ethernet
- Kabllo serike USB
Këto nuk do të nevojiten më. Përdorni wifi, ssh dhe një dritare terminale në Mac Book për të ekzekutuar komandat në Raspberry Pi.
Shkëputeni nga priza dhe lidheni përsëri, dhe mjedra pi duhet të rindizet.
Hapi 3: Instaloni Wiring Pi, Apache dhe PHP
Instaloni Wiring Pi
Hapni një dritare terminale në Librin Mac. Hyni në Raspberry Pi, pastaj shkarkoni, përpiloni dhe instaloni Wiring Pi. Ky program ju lejon të kontrolloni kunjat GPIO. Këtu është një udhëzues hap pas hapi:
wiringpi.com/download-and-install/
Këtu është një version i kondensuar i udhëzimeve:
$ ssh pi@♣ mjedër-pi-ip
fjalëkalim: ♣ fjalëkalim ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd instalime elektrikePi $ git tërheq origjinën $./build
Drejtoni komandën gpio për të kontrolluar instalimin:
$ gpio -v
gpio version: 2.29 E drejta e autorit (c) 2012-2015 Gordon Henderson Ky është softuer falas me ABSOLUTISHT PA GARANCI. Për detajet lloji: gpio -garanti Raspberry Pi Detajet: Lloji: Modeli 2, Rishikimi: 1.1, Memoria: 1024MB, Prodhuesi: Sony [OV] Pema e pajisjes është e aktivizuar. Ky Raspberry Pi mbështet qasjen GPIO të nivelit të përdoruesit. -> Shih faqen-faqe për më shumë detaje $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Emri | Mënyra | V | Fizike | V | Mënyra | Emri | wPi | BCM | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | NE | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | NE | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | JASHT | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | NE | 0 | 11 || 12 | 0 | NE | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | NE | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | NE | 0 | 15 || 16 | 1 | NE | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | NE | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | NE | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | NE | 0 | 21 || 22 | 0 | NE | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | NE | 0 | 23 || 24 | 1 | NE | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | NE | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | NE | 1 | 27 || 28 | 1 | NE | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | NE | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | NE | 1 | 31 || 32 | 0 | NE | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | NE | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | NE | 0 | 35 || 36 | 0 | NE | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | NE | 0 | 37 || 38 | 0 | NE | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | NE | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| BCM | wPi | Emri | Mënyra | V | Fizike | V | Mënyra | Emri | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+
Komandat e mësipërme duhet t'ju japin njëfarë besimi se wiringPi po funksionon mirë.
Instaloni Apache dhe PHP
Drejtoni komandat e mëposhtme:
cd $..
$ sudo apt-merrni përditësim $ sudo apt-merrni instaloni apache2 php5 libapache2-mod-php5
Për të verifikuar funksionimin e serverit në internet, hapni një shfletues dhe futni në kutinë e URL -së:
♣ mjedër-pi-ip
Uebfaqja e paracaktuar e Apache përgjigjet me "Punon!"
Hapi 4: Uebfaqe
Hapni një dritare terminale në Librin Mac. Hyni në Raspberry Pi, pastaj hiqni skedarin e paracaktuar index.html, ndryshoni lejet në drejtorinë e faqes në internet dhe modifikoni një skedar të quajtur index.php.
$ ssh pi@♣ mjedër-pi-ip
fjalëkalim: ♣ fjalëkalim ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root/var/www $ sudo nano /var/www/index.php
Dhe futni kodin e mëposhtëm:
Hapës garazhi
Automatizimi në shtëpi |
---|
Hapës i dyerve të garazhit | Manual për hapjen e dyerve të garazhit | e mbyllur 1 | hapur 0 |
CTRL-o dhe ENTER për të shkruar skedarin, dhe CTRL-x për të dalë nga redaktuesi.
Ndryshoni lejet në skedar
$ sudo chmod 664 /var/www/index.php
Hapi 5: Imazhi i faqes në internet


Merrni një hapëse të dyerve të garazhit me rezolucion të lartë nga uebi. Ndryshoni imazhin ashtu siç dëshironi të përdorni furçën e bojës Mac. Në imazhin e mësipërm, u përdor një Genie Garage Opener me rezolucion të lartë, u shtua një logo pi mjedër dhe led u hoq.
Një imazh është sfondi (distanca-background.jpg), dhe tjetra është imazhi aktiv (distanca-shtyp.jpg).
Plani ishte që në shtypjen e butonit, në vend që të ndizte led -in, mjedra do të binte në sy. Unë thjeshtova faqen e internetit.
Kopjoni imazhet në mjedër pi:
$ scp *-j.webp
fjalëkalimi: ♣ fjalëkalimi
Faqja e internetit ka një buton të vetëm shtypës. Për të verifikuar, hapni një shfletues dhe futni ♣ raspberry-pi-ip. Në vend të uebfaqes së paracaktuar të Apache, e cila thotë "Punon!", Butoni duhet të shfaqet. Shtypeni atë.
Hapi 6: Kontrolli në distancë i serverit të uebit
Për ta bërë më të lehtë qasjen në Hapësin e Garazheve nga një vend i largët, unë përdor një emër dinamik DNS. Sepse nuk më pëlqen të kujtoj adresat IP.
Me këtë veçori, futem ♣ dinamik-hostname ♣.getmyip.com në fushën URL të një shfletuesi. Shënim: IP në ruterët shtëpiak mund të ndryshojë pa paralajmërim, por kjo ndodh rrallë. Zgjodha të përdor DynDNS. Ju do të duhet të dini adresën IP publike të ruterit tuaj.
U-Verse Router IP: ♣ uverse-public-ip
Ju mund të shihni emrat tuaj të hostit dhe detajet e llogarisë DynDNS Pro. Këtu janë disa këshilla për të filluar:
-
Krijoni emrin tuaj host Dynamic DNS (1 nga 30):
- ♣ dinamike-hostname
- Çelësi i përditësuesit: ♣ çelësi dinamik-ip-përditësues ♣
-
Instaloni një klient të azhurnuar për të siguruar që emri i hostit tuaj të tregohet gjithmonë në adresën e saktë IP.
- Shkarkoni dhe instaloni në MacBook
- IP-të e AT-T të vargjeve U ndryshojnë rrallë, kështu që përditësuesi i mësipërm mund të ekzekutohet sa herë që ndryshon
-
Ndiqni udhëzimet:
- Shtoni Llogari
- Futni emrin e përdoruesit dhe fjalëkalimin: ♣ dinamik-ip-emrin e përdoruesit ♣ ♣ dinamik-ip-fjalëkalimin
- Zgjidhni emrin e hostit
- Klikoni Konfiguro hostet e zgjedhur
- Pritësi duhet të bëhet aktiv
-
Konfiguroni rrjetin tuaj për të lejuar qasjen në pajisjen tuaj nga Interneti. Ju mund të përdorni Dyn Wizard për disa udhëzime të përgjithshme se si ta bëni këtë, përdorni burime të tilla si PortForward.com ose kontaktoni prodhuesin e pajisjes për ndihmë.
- Vargu AT&T U
- Port Forwarding për 2-Wire 3801HGV-ky është ruteri AT&T U-Verse që kam. Shihni Përditësimet në një Shtojcë se si të transferoni përpara në ruterin AT & T U-varg 5268ac.
- Hapni shfletuesin dhe shkoni te ♣ mjedër-pi-ip
- Fjalëkalimi: ♣ fjalëkalim
- Cilësimet
-
Firewall
- Zgjidhni ♣ mjedër-pi-hostname
-
Serverat
- Porta e serverit në internet 80
- Server HTTPS - porti 443
- Shto
- Ruaj
Pasi të bëhet kjo, serveri i uebit do të funksionojë nga interneti. Për ta verifikuar, futni ♣ dinamik-hostname ♣ dhe duhet të shihni butonin e hapjes së derës së garazhit.
Hapi 7: Lidhni qarkun në Raspberry Pi

Për kodin e dhënë (hapi 4 dhe 6), kam përdorur pinin GPIO 7. coincshtë rastësi që GPIO 7 është e njëjtë me instalimin e kunjit Pi 7. Në kodin PHP, përdoren numrat e kunjave Pi të instalimeve elektrike dhe JO numrat e pinit GPIO. Mund të përdorni cilindo që dëshironi, por sigurohuni që ta ndryshoni kodin.
Unë u përpoqa të përdor tela të përdredhur, por stafeta nuk mbahet mirë në tela të përdredhur. Teli i fortë është më i mirë.
Në përpjekjen time të parë, krijova tre kabllo lidhës (femra me meshkuj).
- Përdorni tre kabllo kërcyes nga femra në femra
-
Pritini tre pjesë të telit të ngurtë në rreth 1in.
Rrip 1/4in në të dy skajet e telit të ngurtë
- Futni një tel të fortë në një kabllo kërcyesi femër.
Këtu është një mënyrë më e mirë për të krijuar kabllo lidhës (femra me meshkuj):
- Përdorni vetëm tela të fortë
- Pritini tre copa tela të ngurta 4 inç
- Rrip 1/4in në të dy skajet e telit të ngurtë
-
Përdorni kunjat lidhëse femërore
-
Rrëshqitni një kunj lidhës femër në njërin skaj të telit të fortë dhe shtrëngoni
Kunja e femrës nuk duhet të lihet, të bashkohet nëse është e nevojshme
- Rrëshqitni lehtësimin e tendosjes mbi kunjin lidhës femëror ose kunjin e mbulimit me shirit elektricisti
-
Teli i stafetës në pi siç tregohet në diagram:
- Lidhni skajin femëror të kabllit me kunjin Raspberry Pi.
- Futni tela të fortë në Stafetë.
Hapi 8: Krijoni një shërbim fillestar
Shumica e stafetëve përfshirë atë të blerë, funksionojnë kështu:
- Kur sinjali është ON qarku qëndron i fikur.
- Kur sinjali është OFF atëherë qarku është i ndezur.
Nëse Raspberry Pi humbet fuqinë, stafeta ka një mekanizëm sigurie që e mban qarkun OFF.
Një problem mund të ndodhë kur Rapberry Pi dhe stafeta të rikthehen në energji, por para se Raspberry Pi të ketë përfunduar nisjen për të ndezur sinjalin i cili është i nevojshëm për të mbajtur qarkun të fikur. Ju mund të zgjoheni në mëngjes me garazhin tuaj të hapur dhe potencialisht disa miq të rinj!
Sidoqoftë, stafeta nuk inicializohet derisa modaliteti i pinit GPIO të vendoset përmes kësaj komande: modaliteti gpio 7 jashtë. Për më tepër, nëse kunja GPIO është e ndezur (gpio shkruaj 7 1) para se të vendosni modalitetin GPIO, stafeta do të qëndrojë e fikur sapo të inicializohet.
Për ta bërë këtë inicim të fillojë në nisje dhe të mos zgjoheni me miq të rinj, përdorni skriptin e mëposhtëm të fillimit.
$ ssh pi@♣ mjedër-pi-ip
$ sudo nano /etc/init.d/garagerelay
Pastaj ngjitni këtë skenar:
#! /bin/bash
# /etc/init.d/garagerelay # Kryeni funksione specifike kur ju kërkohet nga kutia e sistemit "$ 1" në fillim) jehonë "Releta e fillimit" # Turn 7 në të cilën mbahet stafeta e fikur/usr/local/bin/gpio shkruaj 7 1 #Start Gpio/usr/local/bin/gpio mode 7 jashtë;; stop) jehonë "Ndalimi i gpio";; *) jehonë "Përdorimi: /etc/init.d/garagerelay {start | stop}" dalja 1;; dalja esac 0
Për të ruajtur: CTRL-o, ENTER
Për të dalë nga nano, CTRL-x
Bëni skedarin të ekzekutueshëm:
$ sudo chmod +x /etc/init.d/garagerelay
Tani thuaji piut tënd që ta ekzekutojë këtë shkrim në nisje:
$ sudo update -rc.d -f fillimi i garazhit 4
(Shënim: Ju mund të injoroni me siguri paralajmërimin "mungojnë etiketat LSB".)
Sigurohuni që skripti i fillimit po funksionon
$ sudo rindezje
Hapni një shfletues dhe klikoni në hapës. Stafeta duhet të klikojë.
Hapi 9: Bashkojeni Raspberry Pi në Garazh

Kur lëvizni Raspberry Pi, sigurohuni që të vraponi:
$ mbyllje -h 0
Ju mund të dëshironi të fikni energjinë në garazh. Pra, hapësi i ziles nuk ju godet me elektrik:). Arsyeja e vërtetë është se sa herë që shkurtoni telat, dera do të shkojë lart e poshtë.
Hiqni vidhat e murit nga hapësi i llojit të ziles, e cila e lidh zilen e derës në mur.
Hapni një vrimë nga garazhi prapa hapësit të ziles në brendësi të shtëpisë. Në Teksas, Raspberry Pi nuk duhet të jetë në garazh, ndryshimi i temperaturës në garazh është jashtë karakteristikave të funksionimit të Raspberry Pi.
Kaloni telat e stafetës përmes vrimës (përdorni një varëse rrobash).
Lironi të dy vidhat në pjesën e pasme të hapësit të ziles.
Shiriti të dy skajet e telave të stafetës: 1) rreth 1/8 inç të anës së stafetës, dhe rreth inch inç në anën e ziles së derës. Përkulni anën e ziles së telit në një lak gjysmë të madh aq sa të përshtatet rreth vidës së pasme.
Lidhni një tel stafetë në secilën vidë në pjesën e pasme të ziles së derës dhe shtrëngoni vidën. Lidhjet janë siç tregohen në figurë. Meqenëse stafeta izolon qarkun, drejtimi nuk ka rëndësi as cili stafetë është ngjitur në cilën vidë.
Hapi 10: Bashkojeni Raspberry Pi SECO-LARM


Para se të mbaroja kodin, unë dhe familja ime ishim me pushime dhe hapa shfletuesin tim. Pamja e fundit e shfletuesit tim ishte për hapjen e dyerve të garazhit - faqja u rifreskua dhe dera e garazhit u hap. Disa ditë më vonë një fqinj thirri dhe e pyeti nëse dera e garazhit duhet të jetë e hapur? Për fat të mirë, unë mund ta mbyllja atë nga 500 kilometra larg.
Ky snafu më detyroi të ndryshoj kodin në mënyrë që kjo të mos ndodhë, dhe të shtoj një sensor dhe gjendjen e derës së garazhit në faqen e internetit.
Kjo është një lidhje me udhëzuesin origjinal për shtimin e një sensori. Sidoqoftë, duke pasur parasysh gjithçka që është përfunduar tashmë, instalimi i sensorit mund të thjeshtohet shumë dhe në vend që të përdorni python, shtoni disa rreshta të kodit në index.php.
Fatal error: Uncaught Error: Call to undefined function exec() in W:\www\langs\.php-gen-lang\v3-core\macros.php(127) : eval()'d code:513 Stack trace: #0 W:\www\langs\.php-gen-lang\v3-core\macros.php(127): eval() #1 W:\www\langs\.php-gen-lang\v3-core\index-global.php(231): Macros->macros_parse('<!DOCTYPE html>...') #2 W:\www\langs\howwhatproduce.com\sq.howwhatproduce.com\index.php(9): require_once('W:\\www\\langs\\.p...') #3 {main} thrown in W:\www\langs\.php-gen-lang\v3-core\macros.php(127) : eval()'d code on line 513