Indholdsfortegnelse:

Raspberry Pi 3 Garage Door Opener: 15 trin (med billeder)
Raspberry Pi 3 Garage Door Opener: 15 trin (med billeder)
Anonim
Raspberry Pi 3 Garage Door Opener
Raspberry Pi 3 Garage Door Opener

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

Opsætning Raspberry Pi Uden skærm eller tastatur
Opsætning 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

<? php if ($ switch == 1) {echo"

";} andet {ekko"

"; } ?>

Garageportåbner Garage Door Opener Manual lukket 1 åben 0
<? php if ($ trigger == 0) {echo "<td colspan = \" 4 / "} andet {echo"

var13 ->

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

Webstedsbillede
Webstedsbillede
Webstedsbillede
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

Led kredsløbet til Raspberry Pi
Led 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

Fastgør Raspberry Pi til garagen
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

Fastgør Raspberry Pi til SECO-LARM
Fastgør Raspberry Pi til SECO-LARM
Fastgør Raspberry Pi til SECO-LARM
Fastgør Raspberry Pi til 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.

closed

Magneten 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

Læg Raspberry Pi i Secret Book
Læg Raspberry Pi i Secret Book
Læg Raspberry Pi i Secret Book
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: