
Tartalomjegyzék:
- 1. lépés: Gyűjtse össze az alkatrészeket
- 2. lépés: A Raspberry Pi beállítása monitor vagy billentyűzet nélkül
- 3. lépés: Telepítse a Wiring Pi, az Apache és a PHP programokat
- 4. lépés: Weboldal
- 5. lépés: Webhelykép
- 6. lépés: A webszerver távoli vezérlése
- 7. lépés: Csatlakoztassa az áramkört a Raspberry Pi -hez
- 8. lépés: Hozzon létre egy indítási szolgáltatást
- 9. lépés: Csatlakoztassa a Raspberry Pi -t a garázshoz
- 10. lépés: Csatlakoztassa a Raspberry Pi-t a SECO-LARM-hoz
- 11. lépés: Riasztás küldése, ha az ajtó nyitva van, amikor be kell zárni
- 12. lépés: Tegye a Raspberry Pi -t a titkos könyvbe
- 13. lépés: Függelék: Hivatkozások
- 14. lépés: Függelék: Frissítések
- 15. lépés: Függelék: Hibaelhárítás
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-06-01 06:09

Ezt az oktathatót 2014 -ben hoztam létre. Azóta sok minden megváltozott. 2021 -ben itt frissítettem az intelligens garázskapu -nyitót.
Használjon Raspberry Pi -t és okostelefont egy garázskapu kinyitásához, bezárásához és megfigyeléséhez. Az ajtó kinyitását és bezárását a család mobiltelefonjaira telepített saját aláírású tanúsítványok biztosítják. Ha a garázsajtó nyitva van, amikor nem kellene, akkor küldjön szöveges üzenetet (SMS) egy mobiltelefonra.
A garázskapu 2014 vége óta folyamatosan használatban van. Az évek során igyekeztem folyamatosan frissíteni a módosításokat. Van egy melléklet, amely leírja az utasítások változásait.
Ennek a projektnek a céljai a következők:
- Legyen tanulságos az első - nem terveztem ezt közzétenni, de sok kérés érkezett hozzám
- Nyisson garázskaput egy szabványos távirányítóval
- Nyisson ki egy garázskaput a falra szerelt ajtócsengő -garázsnyitóval
- Nyisson ki egy garázskaput egy okostelefonnal
- A garázskapu állapotát távolról figyelemmel kísérheti mobiltelefonon vagy laptopon keresztül (nyitva vagy zárva?)
- Küldj szöveges üzenetet a mobilomra, ha az ajtó nyitva van, amikor be kell csukni
- Tartsa biztonságban a garázskaput (pl. Áramkimaradás esetén az ajtó ne nyíljon ki)
- Ne engedje, hogy a neten bárki más kinyissa az ajtót (kétirányú, önaláírt SSL-tanúsítvány)
- Vezetékes kapcsolat helyett használjon WiFi -t
- Használjon Raspberry Pi 3 -at
Ennek a garázskapu -nyitó megvalósításnak az alapja az Instructable: Raspberry Pi garázskapu -nyitóból származik. Eredetileg a B+ Raspberry Pi modellt használtam, majd a Raspberry Pi 2 B modellre költöztem, most pedig a Raspberry Pi 3 -at használja.
MacBook -ot használtam a Raspberry Pi -vel való kommunikációhoz, de bármilyen számítógép használható.
Nincs kényszerítő ok az eszköz építésére, de szórakoztató volt. Költséghatékonyabb vásárolni egyet. Hasonló eszköz körülbelül 130 dollárért vásárolható meg.
- Emelő mester 828LM
- Chamberlain MyQ $ 129
- GoGo Gate 179 dollár
- Iparos 100 dollár
Megjegyzések:
- Az ásóba zárt szöveget, például ezt: „cserélje ki ezt”, egy tényleges értékkel kell helyettesíteni
- Az Arduino aláhúzott kék szövege egy link. Ebben az esetben ez egy link a garázskapu nyitó arduino verziójához.
- Megpróbáltam minden felhasznált forrást jóváírni. Elnézést kérek az esetleges mulasztásokért. A dokumentum nagy része mások munkáján alapul.
- A $ azt a parancsot jelzi, amelyet a MacBook terminálablakában hajtanak végre, és általában a Raspberry Pi -n hajtják végre
1. lépés: Gyűjtse össze az alkatrészeket
Vásároljon vagy gyűjtsön össze alkatrészeket és szerszámokat (árak USD -ban).
- Raspberry Pi 3 B modell Newark elem 14 $ 35
- 5.2V 2.5A USB hálózati adapter az Amazon -tól 9,99 USD
- Micro USB - USB kábel 6ft az Amazon -tól 7,99 USD
- Tok az Amazon -tól 6,99 USD
- SanDisk Ultra 16 GB-os microSDHC Class 10, adapterrel (SDSQUAN-016G-G4A) az Amazon-tól 8,99 USD
- SunFounder 2 csatornás 5V relépajzs modul Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi számára - 6,79 $
- 3x női-női jumper vezetékek. Fry's -ben vásárolt 4,95 dollárért.
- Dinamikus DNS 40 USD évente 30 névért (dyn.com)
- 1-Gang 18 cu. in Old Work Heavy Wall Switch és Outlet Box, 3,12 dollár
- Ultra Pro Single Brush White Wall Plate, $ 7.88
- SECO-LARM SM 226L, garázskapu-érzékelő, az ár széles körben változik, 9,99 USD az Amazon-on ingyenes szállítással
- 50 láb szilárd termosztát vezeték, Home Depot vagy Lowe's, ~ 20 USD
Összesen: ~ 172,00 USD
A következő alkatrészeket, eszközöket és szolgáltatásokat kaptam:
- CAT5 Ethernet kábel
- Kis méretű vezeték, 6 láb hosszú
- Phillips fejű csavarhúzó
- Tű orrfogó
- Dobozvágók
- Ékszerész laposfejű csavarhúzó, a relé csavarjainak meglazításához szükséges
- MacBook (PC is használható)
- AT&T GigaPower (bármely internetszolgáltató használható)
2. lépés: A Raspberry Pi beállítása monitor vagy billentyűzet nélkül

Minden Raspberry Pi projekt valamilyen beállítást igényel. Szeretem ugyanazt az utasításkészletet használni, és ha szükséges, van egy hely az utasítások frissítésére.
Állítsa be a Raspberry Pi -t az alábbi utasításokkal:
A Raspberry Pi beállítása monitor vagy billentyűzet nélkül
A fenti utasítások a függelékben opcionális lépéseket tartalmaznak. Feltétlenül hajtsa végre a következő lépést:
Adjon hozzá ügyféloldali tanúsítványokat a webszerverekhez
Állítsa le a Raspberry Pi -t
$ sudo leállítás -h 0
Leállítás után távolítsa el
- hálózati kábel
- USB soros kábel
Ezekre már nem lesz szükség. Használja a wifit, az ssh -t és a Mac Book terminálablakát a parancsok futtatásához a Raspberry Pi -n.
Húzza ki a tápfeszültséget, majd dugja vissza a tápellátást, és a Raspberry pi újraindul.
3. lépés: Telepítse a Wiring Pi, az Apache és a PHP programokat
Telepítse a Wiring Pi -t
Nyisson meg egy terminál ablakot a Mac Bookban. Jelentkezzen be a Raspberry Pi -be, majd töltse le, fordítsa le és telepítse a Wiring Pi -t. Ez a szoftver lehetővé teszi a GPIO csapok vezérlését. Íme egy lépésről lépésre szóló útmutató:
wiringpi.com/download-and-install/
Íme az utasítások tömörített változata:
$ ssh pi@♣ málna-pi-ip ♣
jelszó: ♣ jelszó ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build
Futtassa a gpio parancsot a telepítés ellenőrzéséhez:
$ gpio -v
gpio verzió: 2.29 Copyright (c) 2012-2015 Gordon Henderson Ez egy ingyenes szoftver, abszolút NEM GARANCIA. Részletek típusa: gpio -garancia Raspberry Pi Részletek: Típus: Modell 2, Felülvizsgálat: 1.1, Memória: 1024 MB, Készítő: Sony [OV] Az eszközfa engedélyezve van. Ez a Raspberry Pi támogatja a felhasználói szintű GPIO hozzáférést. -> További részletekért lásd a kézikönyvet $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Név | Mód | V | Fizikai | V | Mód | Név | wPi | BCM | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | OUT | 1 | 7 || 8 | 1 | ALT0 | TxD | 15. | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16. | 15. | | 17. | 0 | GPIO. 0 | IN | 0 | 11. || 12 | 0 | IN | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | IN | 0 | 13. cikk || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | IN | 0 | 15. || 16. | 1 | IN | GPIO. 4 | 4 | 23. | | | | 3.3v | | | 17. || 18 | 0 | IN | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13. | MISO | IN | 0 | 21. || 22 | 0 | IN | GPIO. 6 | 6 | 25 | | 11. | 14 | SCLK | IN | 0 | 23. || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25. || 26. | 1 | IN | CE1 | 11. | 7 | | 0 | 30 | SDA.0 | IN | 1 | 27. || 28 | 1 | IN | SCL.0 | 31. | 1 | | 5 | 21. | GPIO.21 | IN | 1 | 29. || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | IN | 1 | 31. || 32 | 0 | IN | GPIO.26 | 26. | 12 | | 13. | 23. | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | IN | 0 | 35. || 36 | 0 | IN | GPIO.27 | 27 | 16. | | 26. | 25 | GPIO.25 | IN | 0 | 37. || 38 | 0 | IN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21. | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| BCM | wPi | Név | Mód | V | Fizikai | V | Mód | Név | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+
A fenti parancsok némi bizalmat adhatnak Önnek arról, hogy a wiringPi rendben működik.
Telepítse az Apache -t és a PHP -t
Futtassa a következő parancsokat:
$ cd..
$ sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5
A webszerver működésének ellenőrzéséhez nyisson meg egy böngészőt, és írja be az URL mezőbe:
♣ málna-pi-ip ♣
Az Apache alapértelmezett webhelye ezt válaszolja: "Működik!"
4. lépés: Weboldal
Nyisson meg egy terminál ablakot a Mac Bookban. Jelentkezzen be a Raspberry Pi szolgáltatásba, majd távolítsa el az alapértelmezett index.html fájlt, módosítsa a webhelykönyvtár engedélyeit, és szerkessze az index.php nevű fájlt.
$ ssh pi@♣ málna-pi-ip ♣
jelszó: ♣ jelszó ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root/var/www $ sudo nano /var/www/index.php
És írja be a következő kódot:
Garázsnyitó
Otthoni automatizálás |
---|
Garázskapu nyitó | Garázskapu nyitó kézikönyv | zárva 1 | nyitva 0 |
CTRL-o és ENTER a fájl írásához, és CTRL-x a szerkesztőből való kilépéshez.
Módosítsa a fájl engedélyeit
$ sudo chmod 664 /var/www/index.php
5. lépés: Webhelykép


Ragadjon meg egy nagy felbontású távoli garázskapu-nyitót az internetről. Módosítsa a képet a kívánt módon a Mac ecset segítségével. A fenti képen nagy felbontású Genie garázsnyitót használtak, málna pi logót adtak hozzá, és eltávolították a ledet.
Az egyik kép a háttér (remote-background.jpg), a másik pedig az aktív kép (remote-press.jpg).
A terv az volt, hogy gombnyomásra a led villogása helyett a málna villog. Egyszerűsítettem a honlapot.
Másolja a képeket a málna pi -be:
$ scp *-j.webp
jelszó: ♣ jelszó ♣
A webhelyen egyetlen nyomógomb található. Az ellenőrzéshez nyisson meg egy böngészőt, és írja be a ♣ málna-pi-ip ♣ parancsot. Az Apache alapértelmezett webhelye helyett, amely azt mondja: "Működik!", A gombnak kell megjelennie. Nyomd meg.
6. lépés: A webszerver távoli vezérlése
Annak érdekében, hogy a garázskapu -nyitó távoli helyről könnyen elérhető legyen, dinamikus DNS -nevet használok. Mert nem szeretek emlékezni az IP -címekre.
Ezzel a funkcióval beírom a ♣ dynamic-hostname ♣.getmyip.com címet a böngésző URL mezőjébe. Megjegyzés: Az otthoni útválasztók IP -címe előzetes értesítés nélkül megváltozhat, de ez ritkán fordul elő. A DynDNS használatát választottam. Tudnia kell az útválasztó nyilvános IP -címét.
U-Verse Router IP: Uvers-public-ip
Megtekintheti a gazdagépneveket és a DynDNS Pro -fiók adatait. Íme néhány tipp a kezdéshez:
-
Hozza létre dinamikus DNS -gazdagépnevét (1 /30):
- ♣ dinamikus gazdagépnév ♣
- Frissítő kulcs: ♣ dinamikus ip-frissítő kulcs ♣
-
Telepítsen egy frissítő klienst annak biztosítására, hogy a gazdagépneve mindig a helyes IP -címre mutasson.
- Töltse le és telepítse a MacBook -ra
- Az AT&T U-verses IP-címe ritkán változik, ezért a fenti frissítő bármikor futtatható, ha változik
-
Kövesse az utasításokat:
- Fiók hozzáadása
- Adja meg a felhasználónevet és a jelszót: ♣ dinamikus-ip-felhasználónév ♣ ♣ dinamikus-ip-jelszó ♣
- Válassza ki a gazdagép nevét
- Kattintson a Kijelölt gazdagépek konfigurálása elemre
- A házigazdának aktívnak kell lennie
-
Állítsa be a hálózatot, hogy engedélyezze a hozzáférést a készülékhez az internetről. A Dyn varázsló segítségével néhány általános útmutatást találhat erre vonatkozóan, használhat erőforrásokat, például a PortForward.com webhelyet, vagy segítséget kérhet az eszköz gyártójától.
- AT&T U-vers
- Port továbbítás 2 vezetékes 3801HGV-hez-ez az AT&T U-Verse router. Az AT&T U-verse 5268ac útválasztón történő továbbítás módjáról lásd a Függelék frissítéseit.
- Nyissa meg a böngészőt, és menjen a ♣ málna-pi-ip to oldalra
- Jelszó: ♣ jelszó ♣
- Beállítások
-
Tűzfal
- Válassza a ♣ málna-pi-gazdagépnév ♣ lehetőséget
-
Kiszolgálók
- Webszerver 80 -as portja
- HTTPS szerver - 443 -as port
- Hozzáadás
- Megment
Ha ez megtörtént, a webszerver az internetről fog működni. Az ellenőrzéshez írja be a ♣ dynamic-hostname ♣ parancsot, és megjelenik a garázskapu-nyitó gomb.
7. lépés: Csatlakoztassa az áramkört a Raspberry Pi -hez

A megadott kódhoz (4. és 6. lépés) a GPIO 7 -es pin -t használtam. Véletlen, hogy a GPIO 7 ugyanaz, mint a wiringPi 7. pin. A PHP -kódban a huzalozási Pi pin -számokat használják, NEM a GPIO pin -számokat. Bármelyiket használhatja, de feltétlenül módosítsa a kódot.
Próbáltam csavart huzalt használni, de a relé nem tartja jól a csavart huzalt. Jobb a tömör huzal.
Első próbálkozásomkor létrehoztam három összekötő kábelt (nő-férfi).
- Használjon három női -női áthidaló kábelt
-
Vágjon három darab szilárd huzalt kb.
Csík 1/4 hüvelyk tömör huzal mindkét végén
- Csatlakoztasson egy tömör vezetéket egy hüvelykábelbe.
Itt van egy jobb módja a csatlakozókábelek (nő-férfi) létrehozásának:
- Csak tömör huzalt használjon
- Vágjon le három 4 hüvelykes tömör huzalt
- Csík 1/4 hüvelyk tömör huzal mindkét végén
-
Használjon női csatlakozócsapokat
-
Csúsztasson egy anyacsatlakozótűt a tömör huzal egyik végére és préselje be
A hüvelycsap ne lazuljon el, forrasztás, ha szükséges
- Csúsztassa a feszültségmentesítőt a csatlakozó csapra vagy a villanyszerelő szalaggal ellátott fedőtüskére
-
Csatlakoztassa a relét a pi -hez az ábra szerint:
- Csatlakoztassa a kábel női végét a Raspberry Pi csaphoz.
- Helyezze a tömör vezetéket a relébe.
8. lépés: Hozzon létre egy indítási szolgáltatást
A legtöbb relé, beleértve a megvásárolt relét is, a következőképpen működik:
- Ha a jel be van kapcsolva, az áramkör kikapcsol.
- Ha a jel ki van kapcsolva, az áramkör be van kapcsolva.
Ha a Raspberry Pi elveszíti az áramot, a relé rendelkezik egy biztonsági mechanizmussal, amely kikapcsolja az áramkört.
Probléma merülhet fel, amikor a Rapberry Pi és a relé visszaállítják az áramellátást, de mielőtt a Raspberry Pi befejezte a rendszerindítást, kapcsolja be a jelet, amely szükséges az áramkör kikapcsolásához. Reggel felébredhet nyitott garázsával és potenciálisan néhány új baráttal!
A relé azonban valójában nem inicializálódik, amíg a GPIO pin mód nincs beállítva ezzel a paranccsal: gpio mode 7 out. Továbbá, ha a GPIO pin bekapcsolt állapotba (gpio write 7 1), mielőtt beállítja a GPIO módot, a relé kikapcsolt állapotban marad.
Ha szeretné, hogy ez az inicializálás a rendszerindításkor fusson, és ne ébredjen fel új barátokra, használja a következő indítási parancsfájlt.
$ ssh pi@♣ málna-pi-ip ♣
$ sudo nano /etc/init.d/garagerelay
Ezután illessze be ezt a szkriptet:
#! /bin/bash
# /etc/init.d/garagerelay # Hajtson végre bizonyos funkciókat, ha a rendszer "$ 1" indításkor kéri) echo "Indító relé" # Kapcsolja be a 7 kapcsolót, amely kikapcsolja a relét/usr/local/bin/gpio write 7 1 #Indítsa el a Gpio/usr/local/bin/gpio mód 7 kimenetét;; stop) echo "A gpio leállítása";; *) echo "Használat: /etc/init.d/garagerelay {start | stop}" exit 1;; esac kilépés 0
Mentéshez: CTRL-o, ENTER
A nano kilépéséhez nyomja meg a CTRL-x billentyűt
Fájl végrehajthatóvá tétele:
$ sudo chmod +x /etc/init.d/garagerelay
Most mondd meg a pi -nek, hogy futtassa ezt a szkriptet a rendszerindításkor:
$ sudo update -rc.d -f garagerelay start 4
(Megjegyzés: nyugodtan figyelmen kívül hagyhatja a "hiányzó LSB -címkék" figyelmeztetést.)
Győződjön meg arról, hogy az indítási szkript fut
$ sudo újraindítás
Nyisson meg egy böngészőt, és kattintson a megnyitóra. A relének kattannia kell.
9. lépés: Csatlakoztassa a Raspberry Pi -t a garázshoz

A Raspberry Pi mozgatásakor feltétlenül futtassa:
$ leállítás -h 0
Érdemes kikapcsolni a garázs áramellátását. Tehát a csengőnyitó nem áramütést okoz:). A valódi ok minden alkalommal, amikor rövidre zárja a vezetékeket, az ajtó felfelé és lefelé fog menni.
Csavarja ki a csavarokat a csengő típusú nyitóból, amely a csengőt a falhoz rögzíti.
Fúrjon lyukat a garázsból a csengőnyitó mögött a ház belsejébe. Texasban a Raspberry Pi -nek nem szabad a garázsban lennie, a garázs hőmérséklet -ingadozása a Raspberry Pi működési előírásain kívül esik.
Vezesse át a relé vezetékeit a lyukon (használjon kabáttartót).
Lazítsa meg mindkét csavart a csengőnyitó hátoldalán.
Csíkozza le a relé vezetékeinek mindkét végét: 1) kb. 1/8 "hüvelyk a relé oldaláról, és körülbelül ½" hüvelyk a csengő oldalán. Hajlítsa a huzal csengőoldalát egy fél hurokba, amely elég nagy ahhoz, hogy elférjen a hátsó csavar körül.
Csatlakoztasson egy relé vezetéket az ajtócsengő hátoldalán lévő minden csavarhoz, és húzza meg a csavart. A csatlakozók a képen láthatóak. Mivel a relé elszigeteli az áramkört, az irány nem is számít, melyik relé melyik csavarhoz van rögzítve.
10. lépés: Csatlakoztassa a Raspberry Pi-t a SECO-LARM-hoz


Mielőtt befejeztem volna a kódot, a családommal nyaraltunk, és megnyitottam a böngészőt. A böngészőm utolsó nézete a garázskapu -nyitó volt - az oldal frissült és a garázskapu kinyílt. Néhány nappal később felhívott a szomszéd, és megkérdezte, hogy a garázsajtó nyitva kell -e lennie? Szerencsére 500 kilométerről le tudtam zárni.
Ez a snafu kényszerített arra, hogy megváltoztassam a kódot, hogy ez ne történjen meg, és adjunk hozzá egy érzékelőt és a garázskapu állapotát a webhelyhez.
Ez egy link az eredeti utasításhoz az érzékelő hozzáadásához. Mindazonáltal, figyelembe véve mindent, ami már befejeződött, az érzékelő telepítése jelentősen leegyszerűsíthető, és a python használata helyett adjon hozzá néhány sornyi kódot az index.php fájlhoz.
Fatal error: Uncaught Error: Call to undefined function exec() in W:\www\langs\.php-gen-lang\v3-core\macros.php(127) : eval()'d code:518 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\hu.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 518