Indholdsfortegnelse:
- Trin 1: Saml dele
- Trin 2: Konfigurer Raspberry Pi uden skærm eller tastatur
- Trin 3: Installer Wiring Pi, Apache og PHP
- Trin 4: Websted
- Trin 5: Webstedsbillede
- Trin 6: Fjernbetjen webserveren
- Trin 7: Tilslut kredsløbet til Raspberry Pi
- Trin 8: Opret en opstartstjeneste
- Trin 9: Fastgør Raspberry Pi til garagen
- Trin 10: Sæt Raspberry Pi på SECO-LARM
- Trin 11: Send besked, hvis døren er åben, når den skal lukkes
- Trin 12: Læg Raspberry Pi i Secret Book
- Trin 13: Tillæg: Referencer
- Trin 14: Tillæg: Opdateringer
- Trin 15: Tillæg: Fejlfinding
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Jeg skabte dette instruerbart i 2014. Meget har ændret sig siden da. I 2021 opdaterede jeg Smart Garage Door Opener her.
Brug en Raspberry Pi og en smartphone til at åbne, lukke og overvåge en garageport. Åbning og lukning af døren er sikret ved hjælp af selvsignerede certifikater installeret på familiens mobiltelefoner. Hvis garageporten er åben, når den ikke burde være det, så send en tekstbesked (SMS) til en mobiltelefon.
Garageporten har været i kontinuerlig brug siden sidst i 2014. Gennem årene har jeg forsøgt at holde ændringerne opdaterede. Der er et tillæg, der beskriver ændringerne af det instruerbare.
Målene med dette projekt er:
- Gør min første instruerbare - jeg havde ikke tænkt mig at sende dette, men jeg har modtaget mange anmodninger
- Åbn en garageport med en standard fjernbetjening
- Åbn en garageport med den vægmonterede dørklokke garageåbner
- Åbn en garageport med en SmartPhone
- Overvåg status på garageporten eksternt via en mobiltelefon eller bærbar computer (er den åben eller lukket?)
- Send en sms til min mobiltelefon, hvis døren er åben, når den skal lukkes
- Hold garageporten sikker (f.eks. Ved strømtab bør døren ikke åbne)
- Tillad ikke andre på nettet at åbne døren (tovejs selvsigneret SSL-certifikat)
- Brug WiFi i stedet for en kabelforbundet forbindelse
- Brug en Raspberry Pi 3
Grundlaget for denne Garage Door Opener -implementering blev afledt af Instructable: Raspberry Pi Garage Door Opener af quartarian. Oprindeligt brugte jeg en model B+ Raspberry Pi, derefter flyttede jeg til en Raspberry Pi 2 model B, og nu bruger den en Raspberry Pi 3.
Jeg brugte en MacBook til at kommunikere med Raspberry Pi, men enhver computer kan bruges.
Der er ingen overbevisende grund til at bygge denne enhed, men det var sjovt. Det er mere omkostningseffektivt at købe en. En lignende enhed kan købes for omkring $ 130 USD.
- Liftmaster 828LM
- Chamberlain MyQ $ 129
- GoGo Gate $ 179
- Håndværker $ 100
Bemærkninger:
- Tekst omsluttet i spar, som denne ♣ erstat-denne ♣ bør erstattes med en faktisk værdi
- Arduino understreget blå tekst er et link. I dette tilfælde er det et link til en arduino -version af en garageportåbner.
- Jeg har forsøgt at kreditere hver brugt kilde. Jeg beklager alle mangler. Det meste af dette dokument er baseret på andres arbejde.
- $ angiver en kommando, der udføres i et terminalvindue på MacBook og normalt udføres på Raspberry Pi
Trin 1: Saml dele
Køb eller saml dele og værktøjer (priser i USD).
- Raspberry Pi 3 Model B Newark Element14 $ 35
- 5.2V 2.5A USB -strømadapter fra Amazon $ 9,99
- Micro USB til USB -kabel 6 fod fra Amazon $ 7,99
- Etui fra Amazon $ 6,99
- SanDisk Ultra 16 GB microSDHC klasse 10 med adapter (SDSQUAN-016G-G4A) fra Amazon $ 8,99
- SunFounder 2 Channel 5V Relay Shield Module for Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $ 6.79
- 3x hun-kvindelige jumperwire. Købt hos Fry for 4,95 dollar.
- Dynamisk DNS $ 40 pr. År for 30 navne (dyn.com)
- 1-Gang 18 cu. in. Old Work Heavy Wall Switch og Outlet Box, $ 3,12
- Ultra Pro Single Brush White Wall Plate, $ 7,88
- SECO-LARM SM 226L, garageportføler, prisen varierer meget, $ 9,99 på Amazon med gratis forsendelse
- 50ft solid termostatledning, Home Depot eller Lowe's, ~ $ 20
Mit Total: ~ $ 172,00
Jeg havde følgende dele, værktøjer og tjenester:
- CAT5 Ethernet -kabel
- Lille gauge wire, 6 ft lang
- Phillips skruetrækker
- Nålestang
- Kasseskærere
- Juvelerer med skruetrækker med fladt hoved, der skal løsnes skruer på relæ
- MacBook (en pc kan bruges)
- AT&T GigaPower (enhver internetudbyder kan bruges)
Trin 2: Konfigurer Raspberry Pi uden skærm eller tastatur
Alle Raspberry Pi -projekter kræver en eller anden form for opsætning. Jeg kan godt lide at bruge det samme sæt instruktioner og har, når det er nødvendigt, ét sted til at opdatere disse instruktioner.
Opsæt Raspberry Pi ved hjælp af følgende instruktioner:
Opsæt Raspberry Pi uden skærm eller tastatur
Den ovenfor beskrevne indeholder valgfri trin i tillægget. Sørg for at gøre trin:
Tilføj certifikater på klientsiden til webservere
Luk Raspberry Pi
$ sudo nedlukning -h 0
Når den er lukket, fjernes den
- ethernet -kabel
- USB serielt kabel
Disse bliver ikke mere nødvendige. Brug wifi, ssh og et terminalvindue på Mac Book til at køre kommandoer på Raspberry Pi.
Tag stikket ud, og tilslut strømmen igen, og hindbær pi skal genstarte.
Trin 3: Installer Wiring Pi, Apache og PHP
Installer Wiring Pi
Åbn et terminalvindue på Mac Book. Log ind på Raspberry Pi, download derefter, kompilér og installer Wiring Pi. Denne software tillader kontrol af GPIO -benene. Her er en trin-for-trin vejledning:
wiringpi.com/download-and-install/
Her er en kondenseret version af instruktionerne:
$ ssh pi@♣ hindbær-pi-ip ♣
adgangskode: ♣ adgangskode ♣ $ sudo apt-get install git-core $ git klon git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build
Kør gpio -kommandoen for at kontrollere installationen:
$ gpio -v
gpio version: 2.29 Copyright (c) 2012-2015 Gordon Henderson Dette er gratis software med ABSOLUT INGEN GARANTI. For detaljer type: gpio -garanti Raspberry Pi Detaljer: Type: Model 2, Revision: 1.1, Hukommelse: 1024MB, Maker: Sony [OV] Enhedstræ er aktiveret. Denne Raspberry Pi understøtter GPIO-adgang på brugerniveau. -> Se man-siden for flere detaljer $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Navn | Tilstand | V | Fysisk | V | Tilstand | Navn | 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 | UD | 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 || 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 | Navn | Tilstand | V | Fysisk | V | Tilstand | Navn | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+
Ovenstående kommandoer skal give dig en vis tillid til, at wiringPi fungerer OK.
Installer Apache og PHP
Kør følgende kommandoer:
$ cd..
$ sudo apt-get opdatering $ sudo apt-get install apache2 php5 libapache2-mod-php5
For at kontrollere, at webserveren fungerer, skal du åbne en browser og indtaste i feltet URL:
♣ hindbær-pi-ip ♣
Apaches standardwebsted reagerer med "Det virker!"
Trin 4: Websted
Åbn et terminalvindue på Mac Book. Log ind på Raspberry Pi, fjern derefter standardindeksen.html -filen, rediger tilladelserne på webstedskataloget, og rediger en fil kaldet index.php.
$ ssh pi@♣ hindbær-pi-ip ♣
adgangskode: ♣ adgangskode ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root/var/www $ sudo nano /var/www/index.php
Og indtast følgende kode:
Garageåbner
Hjemmeautomatisering |
---|
Garageportåbner | Garage Door Opener Manual | lukket 1 | åben 0 |
CTRL-o og ENTER for at skrive filen, og CTRL-x for at forlade editoren.
Skift tilladelser til filen
$ sudo chmod 664 /var/www/index.php
Trin 5: Webstedsbillede
Tag en højopløselig fjernbetjent garageportåbner fra nettet. Rediger billedet, som du gerne vil bruge Mac -pensel. På billedet ovenfor blev der brugt en Genie Garage Opener i høj opløsning, et hindbær pi -logo blev tilføjet, og lysdioden blev fjernet.
Det ene billede er baggrunden (fjern-baggrund.jpg), og det andet er det aktive billede (fjern-tryk.jpg).
Planen var, at ved tryk på knappen, i stedet for at blinke med LED'en, ville hindbær blinke. Jeg forenklede hjemmesiden.
Kopier billederne til hindbær pi:
$ scp *-j.webp
password: ♣ password ♣
Webstedet har en enkelt trykknap. For at bekræfte skal du åbne en browser og indtaste ♣ raspberry-pi-ip ♣. I stedet for Apaches standardwebsted, hvor der står "Det virker!", Skal knappen vises. Tryk på den.
Trin 6: Fjernbetjen webserveren
For at gøre det let at få adgang til garageportåbneren fra et fjerntliggende sted bruger jeg et dynamisk DNS -navn. Fordi jeg ikke kan lide at huske IP -adresser.
Med denne funktion indtaster jeg ♣ dynamic-hostname get.getmyip.com i URL-feltet i en browser. Bemærk: IP'en på hjemmeroutere kan ændres uden varsel, men det sker sjældent. Jeg valgte at bruge DynDNS. Du skal kende din routers offentlige IP -adresse.
U-Verse Router IP: ♣ uverse-public-ip ♣
Du kan se dine værtsnavne og DynDNS Pro -kontooplysninger. Her er et par tips til at komme i gang:
-
Opret dit dynamiske DNS -værtsnavn (1 af 30):
- ♣ dynamisk-værtsnavn ♣
- Opdateringsnøgle: ♣ dynamic-ip-updater-key ♣
-
Installer en opdateringsklient for at sikre, at dit værtsnavn altid peger på den korrekte IP -adresse.
- Download og installer på MacBook
- AT & T U-vers-IP'er ændres sjældent, så opdateringen ovenfor kan køres, når den ændres
-
Følg anvisningerne:
- Tilføj konto
- Indtast brugernavn og adgangskode: ♣ dynamic-ip-brugernavn ♣ ♣ dynamic-ip-password ♣
- Vælg værtsnavn
- Klik på Konfigurer udvalgte værter
- Værten skal blive aktiv
-
Konfigurer dit netværk for at give adgang til din enhed fra Internettet. Du kan bruge vores Dyn Wizard til nogle generelle instruktioner om, hvordan du gør dette, bruge ressourcer som PortForward.com eller kontakte enhedens producent for at få hjælp.
- AT&T U-vers
- Port Forwarding til 2-Wire 3801HGV-dette er den AT&T U-Verse router jeg har. Se Opdateringer i et tillæg for at få vist fremad på AT&T U-vers 5268ac router.
- Åbn browser og gå til ♣ hindbær-pi-ip ♣
- Adgangskode: ♣ adgangskode ♣
- Indstillinger
-
Firewall
- Vælg ♣ hindbær-pi-værtsnavn ♣
-
Servere
- Webserverport 80
- HTTPS -server - port 443
- Tilføje
- Gemme
Når dette er gjort, fungerer webserveren fra internettet. For at bekræfte skal du indtaste ♣ dynamisk-værtsnavn ♣, og du skal se knappen til åbning af garageporte.
Trin 7: Tilslut kredsløbet til Raspberry Pi
Til den angivne kode (trin 4 og 6) brugte jeg GPIO pin 7. Det er tilfældigt, at GPIO 7 er det samme som wiringPi pin 7. I PHP -koden bruges ledninger Pi pin -numre og IKKE GPIO pin -numre. Du kan bruge den, du ønsker, men sørg for at ændre koden.
Jeg prøvede at bruge snoet tråd, men relæet holder ikke godt på snoet ledning. Solid wire er bedre.
Ved mit første forsøg lavede jeg tre tilslutningskabler (hun-til-han).
- Brug tre hun til hun jumper kabler
-
Skær tre stykker fast tråd til ca. 1 tommer.
Strip 1/4in i begge ender af massiv tråd
- Indsæt en solid ledning i et hunkabel.
Her er en bedre måde at oprette forbindelseskabler (hun-til-han):
- Brug kun fast tråd
- Skær tre 4in stykker massiv tråd
- Strip 1/4in i begge ender af massiv tråd
-
Brug hunstik
-
Skub den ene hun -forbindelsesstift i den ene ende af massiv tråd og krym
Hunnål bør ikke løsne sig, loddes om nødvendigt
- Skub trækaflastning hen over hunstik eller dækstift med elektrikerens tape
-
Led relæet til pi som vist i diagrammet:
- Tilslut hunenden af kablet til Raspberry Pi pin.
- Sæt massiv ledning i relæet.
Trin 8: Opret en opstartstjeneste
De fleste relæer, inklusive den købte, fungerer således:
- Når signalet er ON, forbliver kredsløbet slukket.
- Når signalet er OFF, er kredsløbet tændt.
Hvis Raspberry Pi mister strøm, har relæet en sikkerhedsmekanisme, der holder kredsløbet slukket.
Et problem kan opstå, når Rapberry Pi og relæ får strøm tilbage, men før Raspberry Pi er færdig med at starte for at tænde for signalet, som er nødvendigt for at holde kredsløbet slukket. Du kan vågne om morgenen med din åbne garage og muligvis et par nye venner!
Imidlertid initialiseres relæet faktisk ikke, før GPIO -pin -tilstanden er indstillet via denne kommando: gpio -tilstand 7 ud. Desuden, hvis GPIO -pin til ON (gpio skriv 7 1), før du indstiller GPIO -tilstand, forbliver relæet slukket, når det initialiseres.
For at få denne initialisering til at køre ved opstart og ikke vågne op til nye venner, skal du bruge følgende opstartsscript.
$ ssh pi@♣ hindbær-pi-ip ♣
$ sudo nano /etc/init.d/garagerelay
Indsæt derefter dette script:
#! /bin/bash
# /etc/init.d/garagerelay # Udfør bestemte funktioner, når systemtilfældet "$ 1" bliver bedt om det) ekko "Startrelæ" # Tænd 7, som holder relæet slukket/usr/local/bin/gpio write 7 1 #Start Gpio/usr/local/bin/gpio mode 7 ud;; stop) ekko "Stop gpio";; *) ekko "Brug: /etc/init.d/garagerelay {start | stop}" exit 1;; esac exit 0
For at gemme: CTRL-o, ENTER
For at forlade nano, CTRL-x
Gør filen eksekverbar:
$ sudo chmod +x /etc/init.d/garagerelay
Fortæl nu din pi at køre dette script ved opstart:
$ sudo update -rc.d -f garagerelay start 4
(Bemærk: Du kan roligt ignorere advarslen om "manglende LSB -tags".)
Sørg for, at startskript kører
$ sudo genstart
Åbn en browser, og klik på åbneren. Relæet skal klikke.
Trin 9: Fastgør Raspberry Pi til garagen
Når du flytter Raspberry Pi, skal du køre:
$ lukning -h 0
Du vil måske slukke for strømmen til garagen. Så dørklokkeåbneren elektrokuterer dig ikke:). Den egentlige årsag er, at hver gang du kortslutter ledningerne, går døren op og ned.
Løsn vægskruerne fra dørklokkeåbneren, som fastgør dørklokken til væggen.
Stik et hul igennem fra garagen bag dørklokkeåbneren til inde i huset. I Texas bør Raspberry Pi ikke være i garagen, temperaturvariationen i garagen er uden for Raspberry Pi's driftsspecifikationer.
Før relæledningerne gennem hullet (brug en bøjle).
Løsn begge skruer på bagsiden af dørklokkeåbneren.
Striml begge ender af relætrådene: 1) ca. 1/8”inch af relæets side og cirka ½” inch på dørklokkesiden. Bøj dørklokkens side af ledningen til en halv sløjfe, der er stor nok til at passe rundt om bagskruen.
Tilslut en relæledning til hver skrue på bagsiden af dørklokken, og stram skruen. Forbindelserne er som vist på billedet. Da relæet isolerer kredsløbet, betyder retningen ikke engang noget, hvilket relæ der er fastgjort til hvilken skrue.
Trin 10: Sæt Raspberry Pi på SECO-LARM
Inden jeg havde koden færdig, var min familie og jeg på ferie, og jeg åbnede min browser. Min browsers sidste visning var af garageportåbneren - siden opdateres og garageporten åbnes. Et par dage senere ringede en nabo og spurgte, om garageporten skulle være åben? Heldigvis kunne jeg lukke den fra 500 miles væk.
Denne snafu tvang mig til at ændre koden, så dette ikke ville ske, og tilføje en sensor og tilstanden til garageporten til webstedet.
Dette er et link til den originale instruerbare til tilføjelse af en sensor. I betragtning af alt det, der allerede er gennemført, kan installationen af sensoren imidlertid forenkles meget, og i stedet for at bruge python tilføj et par linjer kode til index.php.
closedMagneten er fastgjort til venstre, øverste indendørs side af garageporten, og sensoren er fastgjort til garagevæggen. Så jeg var nødt til at køre solid termostatledning fra sensoren tilbage til hindbær pi. Dette krævede et hul fra garagen til loftet og fra loftet ind i væggen indeholdende garageportåbneren (dørklokkekontakt).
Jeg indsatte en blå forbindelsesboks mellem SECO-LARM-sensoren og solide ledninger.
I mit hus er der et 18 tommer hul mellem loftet på første sal og bunden af anden sal. Jeg går ud fra, at det er her varme- og kølekanalerne løber. Jeg havde brug for en borekroneforlængelse længe nok til at gå gennem anden sal og gennem den øverste 2x4 (topplade) indeholdende dørklokken.
Den vigtigste del er, når der bores fra loftet til det område, hvor ledningerne løber til garageportåbneren, er IKKE at bore igennem elektriciteten. Det var ikke sjovt at rette op på dette. At se gnisterne og få lysene til at slukke var ret spændende!
Sensoren kræver to solide termostatledninger eller usynlig hundehegnstråd.
Raspberry Pi har flere pin -beskrivelser (BCM, wPi, fysisk). Koden bruger lednings -pi -pin -numrene. For at se alle pins og pin -mappings og pin -værdier skal du indtaste:
$ gpio readall
For en gpio -manual skal du indtaste:
$ gpio mand
I de originale instruktioner er Physical pin 9 slebet og tilsluttet en af SECO-LARM-elektroderne. Dette virker dog ikke for mig. Tilslut i stedet ledningerne til de fysiske stifter 15 og 17
Fysisk pin 15 (wPi pin 3) går til 3,3V, når SECO-LARM sensoren er lukket. Fysisk pin 17 er 3,3v. Hvis det ikke virker, skal du skifte tilslutninger på SECO-LARM.
Fastgør SECO-LARM til garageport og væg. Kør ledninger og tilslut til Raspberry Pi.
Trin 11: Send besked, hvis døren er åben, når den skal lukkes
Hvis garageporten er åben, når den ikke burde være det, så send en sms til en mobiltelefon.
Installer og konfigurer simpel SMTP.
Jeg har AT&T mobil og bruger ♣cell-phone-number♣@txt.att.net til tekstbeskeder. Jeg har også en gmail-konto, og eksemplet herunder bruger ♣gmail-account♣@gmail.com. Hvis du bruger forskellige tjenester, skal du foretage de relevante ændringer.
For $ -kommandoerne herunder skal du åbne et terminalvindue på MacBook og logge på din Raspberry Pi.
Sørg for, at depoter er opdaterede:
$ sudo apt-get opdatering
Installer simple SSMTP- og mailværktøjer:
$ sudo apt-get install ssmtp
$ sudo apt-get install mailutils
Rediger SSMTP -konfigurationsfilen:
$ sudo nano /etc/ssmtp/ssmtp.conf
som følger:
mailhub = smtp.gmail.com: 587 hostname = ♣ dit-hostnavn ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ gmail-password ♣ UseSTARTTLS = YES
Rediger SSMTP -aliasfilen:
$ sudo nano/etc/ssmtp/revaliases
Opret en linje til hver bruger, der kan sende e -mails. For eksempel:
root: ♣gmail-account♣@gmail.com: smtp.gmail.com: 587
Angiv tilladelserne for SSMTP -konfigurationsfilen:
$ sudo chmod 664 /etc/ssmtp/ssmtp.conf
Tilladelserne til filen /etc/ssmtp/ssmtp.conf bestemmer, hvem der vil kunne sende e -mails fra Raspberry Pi. Denne fil ejes som standard af brugerrot, og filens gruppe er også root.
Rediger SSMTP -aliasfilen, som indeholder data om e -mailkonti:
$ sudo nano /etc/ssmtp/ssmtp.conf
Når ovenstående opsætnings- og konfigurationsproces er fuldført, kan du teste det ved at sende en e -mail fra kommandolinjen.
$ ekko "luk garageporten" | mail -s "Garage Door Open" ♣cell-phone-number♣@txt.att.net
Opret et script for at kontrollere, om garageporten er åben, når den ikke burde være det, og send derefter en tekstbesked.
$ sudo nano /usr/local/bin/garage.sh
og tilføj følgende:
#!/bin/bash
# tjek om garageporten er åben. # Hvis åben send advarsel og skriv til syslog up = 0; door = $ (/home/pi/wiringPi/gpio/gpio read 3) if ["$ door" -eq "$ up"] then logger ♣ your -hostname ♣: Garage Door Open echo "Luk garageporten" | mail -s "Garage Door Open" ♣cell-phone-number♣@txt.att.net fi exit 0
Tilføj derefter en crontab til at køre i løbet af de nødvendige timer:
$ sudo crontab –e
og tilføj:
# Om natten skal du kontrollere hver time, om garageporten er åben
0 22-23/1 * * * sudo /usr/local/bin/garage.sh 0 0-5/1 * * * sudo /usr/local/bin/garage.sh
Hvis alt fungerer, skal du gå til næste trin.
Trin 12: Læg Raspberry Pi i Secret Book
Kom hindbærpi i en hemmelig bog. Jeg fik denne hos Michael for omkring $ 7. Jeg skar nogle små huller til ledningerne og netledningen.
Trin 13: Tillæg: Referencer
SunFounder 2 -kanals 5V relæbeskyttelsesmodul til Arduino UNO 2560 1280 ARM PIC AVR STM32
- 5V 2-kanals relæ-interfacekort, og hver enkelt har brug for 15-20mA
- Driverstrøm Udstyret med højstrømsrelæ, AC250V 10A; DC30V 10A
- Standardgrænseflade, der kan styres direkte af mikrokontroller (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logik)
- Indikations -LED'er til relæudgangsstatus Link til download af dokumentet:
Trin 14: Tillæg: Opdateringer
21 FEB2016
-
I de originale instruktioner var der problemer med automatisk korrektion, formatering og klarhed i retninger.
- Et eksempelproblem er, når dobbelt citater inden for kode bliver ændret til noget, der ligner et kursiveret dobbelt citat. Men hvis du klipper og indsætter dette i et script, virker det ikke.
- Den instruerbare editor kan lide at autokorrekturere, så wlan går over til at planlægge, og autoremove går til automatisk fjernelse. Disse ændringer er svære at få øje på.
- Nogle af mine retninger har måske ikke været klare nok.
- Normalt bruger jeg vinkelbeslag som indikator for noget, der skal udskiftes. Editoren konverterer disse til html. Så jeg skiftede til firkantede parenteser, men disse kan forårsage problemer, fordi de ligner kode. Så jeg besluttede mig endelig på as s som indikatoren for udskiftning med en faktisk værdi.
- Over tid har jeg også forbedret nogle af scripts.
- Redigeret trin 21-26
03APR2016
- Oprettede et tillæg med fejlfinding, referencer og opdateringer (trin 27-29)
- Flyttet fejlfinding til appendiks fra tidligere trin 2
- Opdaterede og alfabetiserede fejlfindingssiden
- Ændret filnavn fra test2wifi.sh til garage.sh - bare mere beskrivende.
- Opdateret cron til brug af garage.sh
- Redigeret 1, 20-26 (Opret en opstartstjeneste til trin før bilag)
04APR2016
- Udskiftede trin 2-11 og 16-20 med min standard var at oprette en Raspberry Pi
- Opdateret deleliste, trin 1
- Tilføjede/flettede fotos
05 APR2016
Forenklet websted og billede (trin 4 og 5)
01 MAJ 2016
Tilføjet fejlfinding til Seco-larm/hindbær Pi-sensor
01 MAJ 2016
Tidligere redigeringer blev ikke gemt korrekt?
11NOV2016
- Opdateret til AT&T GigaPower og ændret routeren til 5268ac
- 5268ac understøtter ikke loop back, så Garage Opener -serveren er ikke tilgængelig fra computere på LAN. For at en MacBook kan få adgang til garage -åbnerens webserver, skal du gøre følgende:
$ sudo nano /etc /hosts
og tilføj linjen
192.168.1.64 ♣ server-eksternt-domænenavn ♣
Gem og afslut, CTRL-o, CTRL-x
$ sudo killall -HUP mDNSResponder
-
5268acs indbyggede portvideresendelsesregler, f.eks. HTTPS-server, HTTP-server og webserver fungerer ikke. Sådan får du portvideresendelse til at fungere:
- Åbn en browser, og gå til 192.168.1.254
- Log på
- Vælg Indstillinger, Firewall, Applications, pinholes og DMZ.
- Vælg webserveren til garageåbneren
- Vælg Brugerdefineret
-
Klik på en ny brugerdefineret applikation
- I programprofilnavn indtastes: PortForwarding
-
I Opret applikationsdefinition tilføj hvert af følgende og klik på Tilføj til liste:
- TCP fra 80 til 80, kort til værtsport 443
- TCP fra 443 til 443 kort til værtsport 443
- UDP fra 443 til 443, kort til værtsport 443
- UDP fra 80 til 80, kort til værtsport 443
- Klik tilbage
- Vælg din webserver igen
- Vælg Brugerdefineret
- Tilføj PortForwarding
- Klik på Gem
21JAN2018
- Opdateret til Raspberry Pi 3
- Flere redigeringer af trin
- Opdateret nogle dele og priser
Trin 15: Tillæg: Fejlfinding
Diskplads brugt
Sidste linje viser den samlede anvendte diskplads. SD -kort har 8 GB.
$ cd../..
$ sudo du –hx –c
e -mail
Hvis du har problemer, så prøv dette:
$ echo "test" | sendmail -v ♣your-gmail-account♣@gmail.com
Hvis e -mail er konfigureret korrekt, skal du få en e -mail på din gmail -konto.
Hvis du får en godkendelsesfejl:
Du skal muligvis sænke sikkerheden på din konto. Det anbefales dog IKKE at sænke sikkerheden. Google sender en e -mail med et link til lavere sikkerhedsindstilling.
Du kan skifte fra din nuværende e -mail -læser til at bruge www.gmail.com til at få adgang til din konto (anbefales) eller ændre dine indstillinger på https://www.google.com/settings/security/lesssecu…, så din konto ikke længere er beskyttet af moderne sikkerhedsstandarder.
Jeg anbefaler ikke at sænke dine sikkerhedsstandarder.
Hvis du får en godkendelsesfejl:
Den mest sandsynlige årsag til dette er, at du har angivet et forkert brugernavn eller adgangskode til din gmail -konto i filen /etc/ssmtp/ssmtp.conf. Dobbelttjek værdierne for felterne AuthUser og AuthPass.
Hvis du mister forbindelsen midt under behandlingen:
Chancerne er for at du har angivet den forkerte port til Google smtp et sted i /etc/ssmtp/ssmtp.conf eller i/etc/ssmtp/revaliases.
Kontroller de sidste linjer i dine logfiler. Der skulle være nogle relevante fejlmeddelelser derinde:
$ tail /var/log/mail.log
$ tail/var/log/syslog
Garageporten åbner ikke
Hvis alt fungerede, og det bare stoppede, så prøv at genstarte. Hvis det ikke virker, skal du trække netledningen ud af Raspberry Pi og derefter genoprette strømmen. Raspberry Pi skulle genstarte på mindre end 2 minutter, og alt skulle fungere fint. Dette skyldes generelt et tab af strøm til Residential Gateway.
GPIO
Hvis noget går galt, er den bedste måde at se, hvad der sker, med følgende kommando:
$ gpio readall
Log ind på hindbær pi fra MacBook
terminal er et MacBook -værktøj: disk/applikationer/hjælpeprogrammer/terminal. Jeg opbevarer terminalappen i docken.
Åbn terminal på MacBook
$ ssh pi@♣ hindbær-pi-ip ♣
♣ adgangskode ♣
Login til bolig gateway
Åbn browser på MacBook
URL = ♣ hindbær-pi-ip ♣
Login: ♣ gateway-adgangskode ♣
Logfiler
Hvis noget går galt, skal du kontrollere disse logfiler for fejl, advarsler eller andre problemer.
$ cat/var/log/meddelelser
$ cat/var/log/syslog $ cat/var/log/dmesg
MAC -bibliotek
Katalog på MacBook, hvor webstedets filer gemmes
MAC-bibliotek =/Brugere/♣ min macbook ♣/Desktop/wi-fi-aktiveret hjem/wifi-aktiveret garageportåbner/websted
Adgangskode
Adgangskode = ♣ hindbær-pi-adgangskode ♣
RAM og CPU brugt
$ top
CTRL-c for at afslutte
Raspberry Pi hjemmekatalog
$ pwd
/hjem/pi
Raspberry Pi værtsnavn
$ værtsnavn
værtsnavn = ♣ værtsnavn ♣
Raspberry Pi IP
♣ hindbær-pi-ip ♣ = 192.168.1.93
Raspberry Pi webstedskatalog
/var/www
Seco-larm holder op med at fungere
Den 01. MAY2016 holdt Seco-larm op med at fungere. Det er tredje gang sensoren holder op med at fungere. For at sige dette korrekt stoppede den fysiske pin 15 på Raspberry Pi med at registrere 3.3v -indgangen. Jeg forsøgte 3.3v fysiske stifter 1 og 17, og begge udsendte stadig 3.3v. Jeg skiftede fra fysisk pin 15 til en anden GPIO, fysisk pin 16 (GPIO 4), og det begyndte at fungere igen. Så der er ikke noget galt med Seco-larm. Problemet ser ud til at være med Raspberry Pi GPIO.
GPIO 3, fysisk pin 15 er død. Det er et meget godt indlæg om, hvordan man tester GPIO -pins.
Jeg skiftede fra GPIO 3 til GPIO 4 og ændrede koden i overensstemmelse hermed. Jeg er ikke sikker på, hvorfor GPIO -pin stoppede med at fungere. Her er to mulige årsager:
- Jeg har Seco-larm-sensoren monteret, så når døren er lukket, udsender den 3.3v. Garageporten lukkes oftere end den er åben. Måske kan GPIO-stiften ikke tage en mere eller mindre konstant input på 3,3v.
- Fejlen faldt sammen med et effekttab, måske var der en strømstigning.
U-vers Residential Gateway
Jeg har AT&T U-vers med en Residential Gateway, men enhver service burde fungere.
Hvis U-vers Gateway genstartes eller mister strøm, skal Raspberry Pi muligvis genstartes.
U-vers boliggateway Offentlig IP = ♣ router-public-ip ♣
En U-vers boliggateways offentlige IP kan ændre sig, men gør det meget sjældent
U-vers Residential Gateway Startside = 192.168.1.254
U-vers Router trådløst adgangspunkts SSID = ♣ ssid ♣
WiFi -gennemløb er langsommere end forventet
Skift router til en mindre brugt kanal. Som standard indstiller alle kredsløbsudbydere alles wifi til kanal 1. Skift til en mindre brugt kanal, f.eks. 11. Prøv at bruge et ulige tal.
Bemærk: Jeg fortalte et par naboer, hvad jeg gjorde for at forbedre wi-fi, og nu er alle på 9 eller 11, så jeg flyttede tilbage til 1. Du skal altid bruge en ulige kanal.
Åbn en browser.
For U-vers skal du indtaste 192.168.1.254 i feltet URL.
Klik på trådløst link, og vælg kanal 6 eller 11.
Der er en app til smarttelefon kaldet wifi -analysator. En af skærmene viser alle de nærliggende wifi -adgangspunkter, der sender på en bestemt kanal. I mit kvarter er alle indstillet til kanal 1.
Tag Raspberry Pi af, og genopret derefter strømmen
Anbefalede:
DIY Smart Garage Door Opener + Home Assistant Integration: 5 trin
DIY Smart Garage Door Opener + Home Assistant Integration: Gør din normale garageport smart ved hjælp af dette DIY -projekt. Jeg vil vise dig, hvordan du bygger det og styrer det ved hjælp af Home Assistant (over MQTT) og har mulighed for eksternt at åbne og lukke din garageport.Jeg bruger et ESP8266 -bord kaldet Wemos
Billige Smart Garage Door Opener: 6 trin (med billeder)
Billige Smart Garage Door Opener: Credit Jeg kopierede stort set Savjees implementering, men i stedet for at bruge en Shelly brugte jeg en Sonoff Basic. Tjek hans websted og YouTube-kanal! Https: //www.savjee.be 2020/06/make-garage-door-ope…https: //www.youtube.com/c/Savjee/AssumptionsY h
Raspberry Pi Zero Garage Door Opener Hardware: 10 trin
Raspberry Pi Zero Garage Door Opener Hardware: En af inspirationerne til dette projekt var den fine instruerbare ved Raspberry Pi 3 Garage Door Opener, sammen med flere andre fundet på Internettet. Da jeg ikke var en erfaren elektronikperson, undersøgte jeg en masse yderligere undersøgelser af måder at
Raspberry Pi Garage Door Opener: 5 trin
Raspberry Pi Garage Door Opener: Vores femten år gamle tastatur, der giver os mulighed for at åbne garageporten, har langsomt døet med flere knapper, der næsten ikke registreres, hvilket gør det svært for vores teenagere (eller hundepasser) at komme ind i huset, når de glemmer deres nøgle. I stedet for at erstatte
Garage Door Opener Using a Raspberry Pi: 5 trin (med billeder)
Garageportåbner ved hjælp af en Raspberry Pi: Styr garagemotoren fra en smartphone eller en hvilken som helst enhed, der kan gennemse en webside (med AJAX!). Projektet blev startet, da jeg kun havde en fjernbetjening til min garage. Hvor sjovt var det at købe en anden? Ikke nok. Mit mål var at kunne kontrollere og overvåge