Sadržaj:

Otvarač garažnih vrata Raspberry Pi 3: 15 koraka (sa slikama)
Otvarač garažnih vrata Raspberry Pi 3: 15 koraka (sa slikama)

Video: Otvarač garažnih vrata Raspberry Pi 3: 15 koraka (sa slikama)

Video: Otvarač garažnih vrata Raspberry Pi 3: 15 koraka (sa slikama)
Video: 102 Year Old Lady's Abandoned Home in the USA ~ Power Still ON! 2024, Juli
Anonim
Otvarač za garažna vrata Raspberry Pi 3
Otvarač za garažna vrata Raspberry Pi 3

Ovu instrukciju sam stvorio 2014. Mnogo se promijenilo od tada. 2021. godine ovdje sam ažurirao Pametno otvaranje garažnih vrata.

Koristite Raspberry Pi i pametni telefon za otvaranje, zatvaranje i nadziranje garažnih vrata. Otvaranje i zatvaranje vrata osigurano je samopotpisanim certifikatima instaliranim na porodičnim mobilnim telefonima. Ako su garažna vrata otvorena kada to ne bi trebalo biti, pošaljite tekstualnu poruku (SMS) na mobitel.

Garažna vrata su u stalnoj upotrebi od kraja 2014. Tokom godina pokušavala sam ažurirati promjene. Postoji dodatak koji opisuje promjene u uputstvima.

Ciljevi ovog projekta su:

  • Neka moje prve instrukcije budu - nisam planirao ovo objavljivati, ali primio sam mnogo zahtjeva
  • Otvorite garažna vrata standardnim daljinskim upravljačem
  • Otvorite garažna vrata pomoću zidnog otvarača za garažna vrata
  • Otvorite garažna vrata pomoću pametnog telefona
  • Pratite daljinsko stanje garažnih vrata putem mobilnog telefona ili laptopa (jesu li otvorena ili zatvorena?)
  • Pošaljite tekstualnu poruku na moj mobitel ako su vrata otvorena kada ih treba zatvoriti
  • Neka garažna vrata budu sigurna (npr. Pri nestanku struje, vrata se ne smiju otvoriti)
  • Ne dozvolite nikome na internetu da otvori vrata (dvosmjerni samopotpisani SSL certifikat)
  • Koristite WiFi umjesto žičane veze
  • Koristite Raspberry Pi 3

Osnova za ovu implementaciju otvarača garažnih vrata izvedena je iz instruktora: Raspberry Pi za otvaranje garažnih vrata, koji je dao kvartar. Prvobitno sam koristio model B+ Raspberry Pi, zatim sam prešao na Raspberry Pi 2 model B, a sada koristi Raspberry Pi 3.

Koristio sam MacBook za komunikaciju s Raspberry Pi, ali može se koristiti bilo koji računar.

Ne postoji uvjerljiv razlog za izgradnju ovog uređaja, ali bilo je zabavno. Isplativije je kupiti jedan. Sličan uređaj može se kupiti za oko 130 USD.

  • Majstor za podizanje 828LM
  • Chamberlain MyQ 129 USD
  • GoGo Gate 179 USD
  • Zanatlija 100 dolara

Napomene:

  • Tekst zatvoren pikovima, poput ovog ♣ zamijeni-ovo ♣ treba zamijeniti stvarnom vrijednošću
  • Arduino podcrtani plavi tekst je veza. U ovom slučaju to je veza na arduino verziju otvarača za garažna vrata.
  • Pokušao sam kreditirati svaki korišteni izvor. Izvinjavam se na eventualnim propustima. Većina ovog dokumenta zasnovana je na radu drugih ljudi.
  • $ označava naredbu koja se izvršava u prozoru terminala na MacBook -u i obično se izvršava na Raspberry Pi

Korak 1: Prikupite dijelove

Kupujte ili skupljajte dijelove i alate (cijene u USD).

  • Raspberry Pi 3 Model B Newark Element14 35 USD
  • 5.2V 2.5A USB adapter za napajanje od Amazona 9,99 USD
  • Micro USB na USB kabel 6ft sa Amazon -a 7,99 USD
  • Kućište od Amazona 6,99 USD
  • SanDisk Ultra 16 GB microSDHC klase 10 sa adapterom (SDSQUAN-016G-G4A) sa Amazona 8,99 USD
  • SunFounder 2 -kanalni 5V relejni štitni modul za Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - 6,79 USD
  • 3x žensko-ženska kratkospojna žica. Kupljeno u Fry's za 4,95 USD.
  • Dinamički DNS 40 USD godišnje za 30 imena (dyn.com)
  • 1-Gang 18 cu. in. Old Work Heavy Wall Switch and Outlet Box, 3,12 USD
  • Bijela zidna ploča sa jednom četkom Ultra Pro, 7,88 USD
  • SECO-LARM SM 226L, Senzor garažnih vrata, cijena uvelike varira, 9,99 USD na Amazonu s besplatnom dostavom
  • 50 stopa pune žice termostata, Home Depot ili Lowe's, ~ 20 USD

Moj ukupni iznos: ~ 172,00 USD

Imao sam sljedeće dijelove, alate i usluge:

  • CAT5 Ethernet kabel
  • Žica malog kolosijeka, duga 6 stopa
  • Odvijač sa križnom glavom
  • Kliješta s iglastim nosem
  • Rezači za kutije
  • Zlatarski odvijač s ravnom glavom, potreban za otpuštanje vijaka na releju
  • MacBook (može se koristiti računar)
  • AT&T GigaPower (može se koristiti bilo koji pružatelj internetskih usluga)

Korak 2: Postavite Raspberry Pi bez monitora ili tastature

Postavite Raspberry Pi bez monitora ili tastature
Postavite Raspberry Pi bez monitora ili tastature

Svi projekti Raspberry Pi zahtijevaju neku vrstu postavljanja. Volim koristiti isti skup uputa i, ako je potrebno, imam jedno mjesto za ažuriranje tih uputa.

Postavite Raspberry Pi koristeći sljedeće upute:

Postavite Raspberry Pi bez monitora ili tastature

Gore navedene upute uključuju izborne korake u dodatku. Obavezno napravite ovaj korak:

Dodajte certifikate na strani klijenta web serverima

Isključivanje Raspberry Pi

$ sudo shutdown -h 0

Nakon isključivanja, uklonite

  • ethernet kabel
  • USB serijski kabel

Ovo više neće biti potrebno. Koristite wifi, ssh i prozor terminala na Mac Book -u za pokretanje naredbi na Raspberry Pi.

Isključite napajanje i ponovo ga uključite, a malina pi bi se trebala ponovno pokrenuti.

Korak 3: Instalirajte Wiring Pi, Apache i PHP

Instalirajte Wiring Pi

Otvorite prozor terminala na Mac Book -u. Prijavite se na Raspberry Pi, zatim preuzmite, kompajlirajte i instalirajte Wiring Pi. Ovaj softver omogućava kontrolu GPIO pinova. Evo vodiča korak po korak:

wiringpi.com/download-and-install/

Evo skraćene verzije uputstava:

$ ssh pi@♣ malina-pi-ip ♣

lozinka: ♣ lozinka ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd ožičenjePi $ git pull origin $./build

Pokrenite gpio naredbu da provjerite instalaciju:

$ gpio -v

gpio verzija: 2.29 Autorsko pravo (c) 2012-2015 Gordon Henderson Ovo je besplatni softver s APSOLUTNO BEZ GARANCIJE. Za detalje tip: gpio -garancija Raspberry Pi Detalji: Tip: Model 2, Revizija: 1.1, Memorija: 1024MB, Proizvođač: Sony [OV] Stablo uređaja je omogućeno. Ova Raspberry Pi podržava GPIO pristup na korisničkom nivou. -> Za više detalja pogledajte stranicu s ljudima $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Ime | Mode | V | Fizički | V | Mode | Ime | 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 || 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 | Ime | Mode | V | Fizički | V | Mode | Ime | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+

Gore navedene naredbe trebale bi vam dati izvjesno povjerenje da wiringPi radi u redu.

Instalirajte Apache i PHP

Pokrenite sljedeće naredbe:

$ cd..

$ sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5

Da biste provjerili funkcioniranje web servera, otvorite preglednik i u okvir za URL unesite:

„Malina-pi-ip“

Apacheova zadana web stranica odgovara sa "Radi!"

Korak 4: Web stranica

Otvorite prozor terminala na Mac Book -u. Prijavite se na Raspberry Pi, zatim uklonite zadanu datoteku index.html, promijenite dozvole u direktoriju web stranice i uredite datoteku pod nazivom index.php.

$ ssh pi@♣ malina-pi-ip ♣

lozinka: ♣ lozinka ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root/var/www $ sudo nano /var/www/index.php

I unesite sljedeći kod:

Garage Opener

Kućna automatizacija

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

";} else {echo"

"; } ?>

Otvarač garažnih vrata Uputstvo za otvaranje garažnih vrata zatvoreno 1 otvori 0
<? php if ($ trigger == 0) {echo "<td colspan = \" 4 / "} else {echo"

var13 ->

CTRL-o i ENTER za pisanje datoteke, a CTRL-x za izlaz iz uređivača.

Promijenite dozvole za datoteku

$ sudo chmod 664 /var/www/index.php

Korak 5: Slika web lokacije

Slika web lokacije
Slika web lokacije
Slika web lokacije
Slika web lokacije

Zgrabite daljinski otvarač garažnih vrata visoke rezolucije s weba. Izmijenite sliku kako želite pomoću Mac četke. Na gornjoj slici je korišten Genie garažni otvarač visoke rezolucije, dodan je malinov pi logo i uklonjena je LED dioda.

Jedna slika je pozadina (remote-background.jpg), a druga je aktivna slika (remote-press.jpg).

Plan je bio da će pritiskom na dugme, umjesto treptanja LED diode, malina treptati. Pojednostavio sam web stranicu.

Kopirajte slike u maline pi:

$ scp *-j.webp

lozinka: ♣ lozinka ♣

Web stranica ima samo jedno dugme. Za potvrdu otvorite preglednik i unesite ♣ raspberry-pi-ip ♣. Umjesto zadane web stranice Apache na kojoj piše "Radi!", Trebalo bi se pojaviti dugme. Pritisnite ga.

Korak 6: Daljinsko upravljanje web serverom

Da bih olakšao pristup otvaraču garažnih vrata s udaljene lokacije, koristim dinamičko DNS ime. Zato što ne volim pamćenje IP adresa.

Ovom funkcijom unosim „dinamičko ime hosta“.getmyip.com u URL polje pretraživača. Napomena: IP na kućnim usmjerivačima može se promijeniti bez najave, ali to se rijetko događa. Odlučio sam se za DynDNS. Morat ćete znati javnu IP adresu usmjerivača.

IP usmjerivača U-Verse: „uverse-public-ip“

Možete vidjeti imena svojih hostova i podatke o DynDNS Pro računu. Evo nekoliko savjeta za početak:

  • Kreirajte svoj Dynamic DNS hostname (1 od 30):

    • "Dinamičko ime hosta"
    • Ključ za ažuriranje: ♣ dinamički-ip-ključ za ažuriranje ♣
  • Instalirajte klijenta za ažuriranje kako biste osigurali da je vaše ime hosta uvijek usmjereno na ispravnu IP adresu.

    • Preuzmite i instalirajte na MacBook
    • AT&T U-verse IP-ovi se rijetko mijenjaju, pa se gornji program za ažuriranje može pokrenuti kad god se promijeni
    • Slijedite upute:

      • Dodaj račun
      • Unesite korisničko ime i lozinku: ♣ dinamičko-ip-korisničko ime ♣ ♣ dinamičko-ip-lozinka ♣
      • Odaberite naziv hosta
      • Kliknite Konfiguriraj odabrane hostove
      • Domaćin bi trebao postati aktivan
    • Konfigurirajte svoju mrežu da dozvoli pristup vašem uređaju s interneta. Možete koristiti naš Dyn Wizard za neka opća uputstva kako to učiniti, koristiti resurse poput PortForward.com ili se obratiti proizvođaču uređaja za pomoć.

      • AT&T U-stih
      • Prosljeđivanje portova za 2-žični 3801HGV-ovo je AT&T U-Verse usmjerivač koji imam. Pogledajte Ažuriranja u Dodatku za informacije o tome kako prenijeti dalje na AT&T U-verse 5268ac usmjerivač.
      • Otvorite preglednik i idite na „raspberry-pi-ip“
      • Lozinka: ♣ lozinka ♣
      • Postavke
      • Firewall

        • Odaberite ♣ Raspberry-pi-hostname ♣
        • Serveri

          • Port web servera 80
          • HTTPS poslužitelj - port 443
        • Dodati
      • Save

Kada se to učini, web poslužitelj će raditi s interneta. Za potvrdu unesite ♣naziv dinamičkog hosta ♣ i trebali biste vidjeti dugme za otvaranje garažnih vrata.

Korak 7: Ožičite krug na Raspberry Pi

Ožičite krug na Raspberry Pi
Ožičite krug na Raspberry Pi

Za dostavljeni kôd (koraci 4 i 6), koristio sam GPIO pin 7. Slučajnost je da je GPIO 7 isto što i wiringPi pin 7. U PHP kodu koriste se ožičenje Pi pin brojevi, a NE GPIO pin brojevi. Možete koristiti koji god želite, ali svakako promijenite kôd.

Pokušao sam koristiti upletenu žicu, ali relej ne drži dobro na upletenoj žici. Puna žica je bolja.

U svom prvom pokušaju stvorio sam tri spojna kabela (ženski na muški).

  • Koristite tri kratkospojna kabela za žene
  • Izrežite tri komada čvrste žice na otprilike 1 inč.

    Uklonite 1/4 inča na oba kraja pune žice

  • Umetnite jednu čvrstu žicu u jedan ženski kratkospojnik.

Evo boljeg načina za stvaranje spojnih kabela (ženski na muški):

  • Koristite samo čvrstu žicu
  • Izrežite tri komada žice od 4 inča
  • Uklonite 1/4 inča na oba kraja pune žice
  • Upotrijebite ženske spojeve

    • Gurnite jedan ženski spojni zatik na jedan kraj čvrste žice i namotajte

      Ženski zatik se ne bi trebao olabaviti, lemiti ako je potrebno

    • Klizite rasterećenje preko ženskog spojnog zatiča ili pokrova sa električnom trakom

Spojite relej na pi kako je prikazano na dijagramu:

  • Spojite ženski kraj kabela na Raspberry Pi pin.
  • Umetnite čvrstu žicu u relej.

Korak 8: Kreirajte uslugu pokretanja

Većina releja, uključujući i onaj kupljen, radi ovako:

  • Kada je signal UKLJUČEN, krug ostaje isključen.
  • Kada je signal isključen, krug je uključen.

Ako Raspberry Pi izgubi napajanje, relej ima sigurnosni mehanizam koji drži kolo isključenim.

Problem bi mogao nastati kada se Rapberry Pi i relej ponovo uspostave napajanje, ali prije nego što se Raspberry Pi završi s pokretanjem kako bi uključio signal što je potrebno da bi se krug isključio. Mogli biste se ujutro probuditi s otvorenom garažom i potencijalno s nekoliko novih prijatelja!

Međutim, relej se zapravo ne pokreće sve dok se GPIO pin način ne postavi putem ove naredbe: gpio mode 7 out. Nadalje, ako je GPIO pin na ON (gpio write 7 1) prije nego što postavite GPIO način rada, relej će ostati isključen nakon inicijalizacije.

Da biste pokrenuli ovu inicijalizaciju pri pokretanju i ne budili se s novim prijateljima, upotrijebite sljedeću početnu skriptu.

$ ssh pi@♣ malina-pi-ip ♣

$ sudo nano /etc/init.d/garagerelay

Zatim zalijepite ovu skriptu:

#! /bin/bash

# /etc/init.d/garagerelay # Izvršite određene funkcije kada to sistemski slučaj zatraži "$ 1" na početku) odjek "Startni relej" # Uključite 7 koji zadržava relej isključen/usr/local/bin/gpio write 7 1 #Pokrenite Gpio/usr/local/bin/gpio način 7 izlaz;; stop) echo "Zaustavljanje gpio -a";; *) echo "Upotreba: /etc/init.d/garagerelay {start | stop}" exit 1;; esac izlaz 0

Za spremanje: CTRL-o, ENTER

Za izlaz iz nano, CTRL-x

Učinite datoteku izvršnom:

$ sudo chmod +x /etc/init.d/garagerelay

Sada recite svom pi da pokrene ovu skriptu pri pokretanju:

$ sudo update -rc.d -f garažni relej početak 4

(Napomena: Možete sigurno zanemariti upozorenje "nedostaju LSB oznake".)

Uvjerite se da je pokrenuta skripta za pokretanje

$ sudo ponovno pokretanje

Otvorite pregledač i kliknite na otvarač. Relej bi trebao kliknuti.

Korak 9: Pričvrstite Raspberry Pi na garažu

Pričvrstite Raspberry Pi u garažu
Pričvrstite Raspberry Pi u garažu

Prilikom premještanja Raspberry Pi, obavezno pokrenite:

$ shutdown -h 0

Možda želite isključiti napajanje garaže. Dakle, otvarač zvona na vratima vas ne udari strujom:). Pravi razlog je svaki put kad prekinete žice, vrata će se dizati i spuštati.

Odvijte zidne vijke sa otvarača za zvono na vratima koji pričvršćuje zvono na zid.

Provucite rupu iz garaže iza otvarača zvona na vratima u unutrašnjost kuće. U Teksasu, Raspberry Pi ne bi trebao biti u garaži, temperaturne varijacije u garaži su izvan operativnih specifikacija Raspberry Pi.

Provucite žice releja kroz rupu (koristite vješalicu).

Otpustite oba vijka na stražnjoj strani otvarača zvona na vratima.

Skinite oba kraja relejnih žica: 1) oko 1/8 "inča sa strane releja i oko ½" inča sa strane zvona na vratima. Savijte stranu žice na vratima u polu petlju dovoljno veliku da stane oko stražnjeg vijka.

Spojite jednu relejnu žicu na svaki vijak na stražnjoj strani zvona na vratima i zategnite vijak. Veze su prikazane na slici. Budući da relej izolira krug, smjer nije ni bitan koji je relej pričvršćen na koji vijak.

Korak 10: Priključite Raspberry Pi na SECO-LARM

Pričvrstite Raspberry Pi na SECO-LARM
Pričvrstite Raspberry Pi na SECO-LARM
Pričvrstite Raspberry Pi na SECO-LARM
Pričvrstite Raspberry Pi na SECO-LARM

Pre nego što sam dovršio kôd, moja porodica i ja smo bili na odmoru i otvorio sam pregledač. Posljednji pogled mog preglednika bio je otvarač garažnih vrata - stranica je osvježena i garažna vrata su se otvorila. Nekoliko dana kasnije pozvao je komšija i pitao da li garažna vrata treba da budu otvorena? Srećom, mogao sam ga zatvoriti s udaljenosti od 500 milja.

Ovaj snafu me natjerao da promijenim kôd kako se to ne bi dogodilo, te da na web stranicu dodam senzor i stanje garažnih vrata.

Ovo je veza do izvorne upute za dodavanje senzora. Međutim, s obzirom na sve što je već dovršeno, instaliranje senzora može se uvelike pojednostaviti i umjesto korištenja pythona dodati nekoliko redaka koda u index.php.

closed

Magnet je pričvršćen na lijevu, gornju unutrašnju stranu garažnih vrata, a senzor je pričvršćen na zid garaže. Dakle, morao sam provesti čvrstu žicu termostata od senzora natrag do maline pi. To je zahtijevalo rupu od garaže do potkrovlja i od potkrovlja do zida koji sadrži otvarač garažnih vrata (prekidač za zvono).

Umetnuo sam plavu razvodnu kutiju između SECO-LARM senzora i čvrstih žica.

U mojoj kući postoji jaz od 18 inča između stropa prvog kata i dna drugog kata. Pretpostavljam da ovdje vode kanali za grijanje i hlađenje. Trebalo mi je produženje burgije dovoljno dugo da prođem kroz drugi sprat i kroz gornji 2x4 (gornja ploča) koja sadrži zvono na vratima.

Najvažniji dio kod bušenja sa tavana u područje gdje će žice prolaziti do otvarača garažnih vrata je NE bušiti električnu energiju. Popraviti ovo nije bilo zabavno. Vidjeti iskre i ugasiti svjetlo bilo je prilično uzbudljivo!

Senzoru su potrebne dvije čvrste žice termostata ili nevidljiva žica ograde za pse.

Raspberry Pi ima više opisa pinova (BCM, wPi, fizički). Kôd koristi pi pin brojeve ožičenja. Da biste vidjeli sve pinove, preslikavanja pinova i vrijednosti pin -ova, unesite:

$ gpio readall

Za priručnik za gpio unesite:

$ gpio čovjek

U originalnim uputama, fizički pin 9 je uzemljen i spojen je na jedan od SECO-LARM vodiča. Međutim, ovo mi ne ide. Umjesto toga spojite vodiče na fizičke pinove 15 i 17

Fizički pin 15 (wPi pin 3) prelazi na 3,3 V kada je senzor SECO-LARM zatvoren. Fizički pin 17 je 3.3v. Ako ne radi, uključite veze na SECO-LARM-u.

Pričvrstite SECO-LARM na garažna vrata i zid. Pokrenite žice i povežite se s Raspberry Pi.

Korak 11: Pošaljite upozorenje ako su vrata otvorena kada ih treba zatvoriti

Ako su garažna vrata otvorena kada to ne bi trebalo biti, pošaljite tekstualnu poruku na mobitel.

Instalirajte i konfigurirajte jednostavan SMTP.

Imam AT&T mobilni telefon i koristim ♣cell-phone-number♣@txt.att.net za tekstualne poruke. Takođe imam gmail nalog, a donji primer koristi ♣gmail-account♣@gmail.com. Ako koristite različite usluge, napravite odgovarajuće promjene.

Za naredbe $ u nastavku otvorite prozor terminala na MacBook -u i prijavite se na svoj Raspberry Pi.

Uvjerite se da su spremišta ažurirana:

$ sudo apt-get update

Instalirajte jednostavne uslužne programe za SSMTP i poštu:

$ sudo apt-get install ssmtp

$ sudo apt-get install mailutils

Uredite konfiguracijsku datoteku SSMTP:

$ sudo nano /etc/ssmtp/ssmtp.conf

kao što slijedi:

mailhub = smtp.gmail.com: 587 hostname = ♣ vaš-hostname ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ gmail-lozinka ♣ UseSTARTTLS = DA

Uredite datoteku pseudonima SSMTP:

$ sudo nano/etc/ssmtp/revaliases

Napravite jednu liniju za svakog korisnika koji će moći slati e -poštu. Na primjer:

root: ♣gmail-account♣@gmail.com: smtp.gmail.com: 587

Postavite dozvole konfiguracijske datoteke SSMTP:

$ sudo chmod 664 /etc/ssmtp/ssmtp.conf

Dozvole datoteke /etc/ssmtp/ssmtp.conf određuju ko će moći slati e -poštu s Raspberry Pi -ja. Prema zadanim postavkama ova datoteka je u vlasništvu korisničkog korijena, a grupa datoteke je također root.

Uredite datoteku pseudonima SSMTP koja sadrži podatke o računima e -pošte:

$ sudo nano /etc/ssmtp/ssmtp.conf

Nakon što je gornji postupak postavljanja i konfiguracije dovršen, testirajte ga slanjem e -pošte iz naredbene linije.

$ echo "zatvori garažna vrata" | mail -s "Garažna vrata otvorena" ♣cell-phone-number♣@txt.att.net

Napravite skriptu da provjerite jesu li garažna vrata otvorena kada ne bi trebala biti, a zatim pošaljite tekstualnu poruku.

$ sudo nano /usr/local/bin/garage.sh

i dodajte sljedeće:

#!/bin/bash

# provjerite jesu li garažna vrata otvorena. # Ako je otvoreno, pošaljite upozorenje i pišite u syslog up = 0; door = $ (/home/pi/wiringPi/gpio/gpio read 3) if ["$ door" -eq "$ up"] onda se zapisuje ♣ vaš -hostname ♣: Otvorena garažna vrata echo "zatvori garažna vrata" | mail -s "Garažna vrata otvorena" ♣celija- telefon-broj♣@txt.att.net fi izlaz 0

Zatim dodajte crontab za pokretanje tijekom potrebnih sati:

$ sudo crontab –e

i dodaj:

# Noću svaki sat provjeravajte jesu li garažna vrata otvorena

0 22-23/1 * * * sudo /usr/local/bin/garage.sh 0 0-5/1 * * * sudo /usr/local/bin/garage.sh

Ako sve radi, prijeđite na sljedeći korak.

Korak 12: Stavite Raspberry Pi u Tajnu knjigu

Stavite Raspberry Pi u Tajnu knjigu
Stavite Raspberry Pi u Tajnu knjigu
Stavite Raspberry Pi u Tajnu knjigu
Stavite Raspberry Pi u Tajnu knjigu

Stavite pi maline u tajnu knjigu. Ovaj sam nabavio kod Michaela za oko 7 dolara. Izrezao sam male rupe za žice i kabel za napajanje.

Korak 13: Dodatak: Reference

SunFounder 2 -kanalni 5V relejni štitni modul za Arduino UNO 2560 1280 ARM PIC AVR STM32

  • 5V 2-kanalna relejna ploča za sučelje, a za svaku je potrebno 15-20mA
  • Struja pogona Opremljen relejem velike struje, AC250V 10A; DC30V 10A
  • Standardno sučelje koje se može direktno kontrolirati mikrokontrolerom (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logika)
  • LED indikacije za status izlaznog releja Link za preuzimanje dokumenta:

Korak 14: Dodatak: Ažuriranja

21FEB2016

  • U izvornim uputama bilo je problema s automatskim ispravljanjem, oblikovanjem i jasnoćom smjernica.

    • Primjer problema je kada se dvostruki navodnici unutar koda promijene u nešto što izgleda kao dvostruki navodnik kurzivom. Međutim, ako izrežete i zalijepite ovo u skriptu, neće raditi.
    • Uređivač s instrukcijama voli automatsko ispravljanje, pa wlan prelazi na plan, a autoremove na automatsko uklanjanje. Te promjene je teško uočiti.
    • Neki od mojih smjerova možda nisu bili dovoljno jasni.
    • Obično koristim kutne zagrade kao pokazatelj za nešto što treba zamijeniti. Uređivač ih pretvara u html. Pa sam prešao na uglate zagrade, ali to može uzrokovati probleme jer izgledaju kao kod. Tako sam se konačno odlučio za as kao pokazatelj zamjene stvarnom vrijednošću.
  • Vremenom sam poboljšao i neke skripte.
  • Uređeno Koraci 21-26

03APR2016

  • Izrađen je dodatak s rješavanjem problema, referencama i ažuriranjima (koraci 27-29)
  • Rješavanje problema premješteno je u Dodatak sa prethodnog koraka 2
  • Stranica za rješavanje problema je ažurirana i abecedna
  • Promijenjeno ime datoteke iz test2wifi.sh u garage.sh - samo više opisa.
  • Ažuriran cron za upotrebu garage.sh
  • Uređeno 1, 20-26 (Kreirajte uslugu pokretanja za korak prije dodatka)

04APR2016

  • Korake 2-11 i 16-20 zamijenio sam svojim standardom za postavljanje Raspberry Pi
  • Ažurirana lista dijelova, korak 1
  • Dodane/spojene fotografije

05APR2016

Pojednostavljena web stranica i slika (koraci 4 i 5)

01MAJ 2016

Dodano rješavanje problema za Seco-larm/malina Pi senzor

01MAJ 2016

Prethodna uređivanja nisu pravilno sačuvana?

11NOV2016

  • Ažurirano na AT&T GigaPower i promijenjen usmjerivač na 5268ac
  • 5268ac ne podržava povratnu petlju, pa poslužitelju Garage Opener nije moguće pristupiti s računara na LAN -u. Da bi MacBook pristupio web serveru za otvaranje garaže, učinite sljedeće:

$ sudo nano /etc /hosts

i dodajte liniju

192.168.1.64 "server-external-domain-name"

Spremi i izađi, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • Ugrađena pravila za prosljeđivanje portova 5268ac, poput HTTPS servera, HTTP servera i web servera, ne rade. Da bi prosljeđivanje portova funkcioniralo:

    • Otvorite pregledač i idite na 192.168.1.254
    • Ulogovati se
    • Odaberite Postavke, Vatrozid, Aplikacije, rupe i DMZ.
    • Odaberite web server za otvaranje garaže
    • Odaberite Korisnički definirano
    • Kliknite na novu korisnički definiranu aplikaciju

      • U naziv profila aplikacije unesite: PortForwarding
      • U Kreirajte definiciju aplikacije dodajte svako od sljedećeg i kliknite Dodaj na popis:

        • TCP od 80 do 80, mapa za port 443
        • TCP od 443 do 443 mapa do porta domaćina 443
        • UDP od 443 do 443, mapa za port 443
        • UDP od 80 do 80, mapa za port 443
    • Kliknite nazad
    • Ponovo odaberite svoj web server
    • Odaberite Korisnički definirano
    • Dodajte PortForwarding
    • Pritisnite Spremi

21JAN2018

  • Ažurirano na Raspberry Pi 3
  • Nekoliko izmjena koraka
  • Ažurirani su neki dijelovi i cijene

Korak 15: Dodatak: Rješavanje problema

Korišteni prostor na disku

Zadnji red prikazuje ukupni iskorišteni prostor na disku. SD kartica ima 8 GB.

$ cd../..

$ sudo du –hx –c

email

Ako imate problema, pokušajte ovo:

$ echo "test" | sendmail -v ♣vaša-gmail-account♣@gmail.com

Ako je e -pošta ispravno postavljena, trebali biste dobiti e -poruku na svoj gmail račun.

Ako dobijete grešku autentifikacije:

Možda ćete morati smanjiti sigurnost računa. Međutim, smanjenje sigurnosti se NE preporučuje. Google će poslati e -poruku s vezom do nižih sigurnosnih postavki.

Možete se prebaciti sa trenutnog čitača e -pošte na www.gmail.com za pristup svom računu (preporučeno) ili promijeniti postavke na https://www.google.com/settings/security/lesssecu… tako da vaš račun više ne postoji zaštićen savremenim sigurnosnim standardima.

Ne preporučujem snižavanje vaših sigurnosnih standarda.

Ako dobijete grešku pri autorizaciji:

Najvjerojatniji uzrok tome je što ste naveli pogrešno korisničko ime ili lozinku za svoj gmail račun u /etc/ssmtp/ssmtp.conf datoteci. Dvaput proverite vrednosti polja AuthUser i AuthPass.

Ako izgubite vezu usred obrade:

Vjerovatno ste naveli pogrešan port za Google smtp negdje u /etc/ssmtp/ssmtp.conf ili u/etc/ssmtp/revaliases.

Provjerite posljednje retke dnevnika. Tu bi trebalo biti nekih relevantnih poruka o grešci:

$ tail /var/log/mail.log

$ tail/var/log/syslog

Garažna vrata se neće otvoriti

Ako je sve radilo i samo je prestalo, pokušajte ponovo pokrenuti. Ako to ne uspije, izvucite kabel za napajanje iz Raspberry Pi, a zatim vratite napajanje. Raspberry Pi bi se trebao ponovno pokrenuti za manje od 2 minute i sve bi trebalo funkcionirati u redu. Ovo je općenito uzrokovano gubitkom napajanja na Residential Gateway.

GPIO

Ako nešto pođe po zlu, najbolji način da vidite što se događa je sljedećom naredbom:

$ gpio readall

Prijavite se na maline pi sa MacBook -a

terminal je pomoćni program za MacBook: disk/aplikacije/pomoćni programi/terminal. Aplikaciju terminala držim na doku.

Na MacBook -u otvorite terminal

$ ssh pi@♣ malina-pi-ip ♣

„Lozinka“

Prijavite se na gateway za stanovanje

Na MacBook -u otvorite pretraživač

URL = ♣ malina-pi-ip ♣

Prijava: ♣ gateway-lozinka ♣

Dnevnici

Ako nešto pođe po zlu, provjerite ima li u tim zapisima grešaka, upozorenja ili drugih problema.

$ cat/var/log/messages

$ cat/var/log/syslog $ cat/var/log/dmesg

MAC imenik

Direktorij na MacBook -u gdje se pohranjuju datoteke web stranica

MAC imenik =/Korisnici/♣ moj macbook ♣/Desktop/kućna sa omogućenim Wi-Fi-jem/otvarač garažnih vrata/Wi-Fi omogućen/web stranica

Lozinka

Lozinka = „malina-pi-lozinka“

Korišteni RAM i CPU

$ top

CTRL-c za izlaz

Matični imenik Raspberry Pi

$ pwd

/home/pi

Raspberry Pi ime hosta

$ hostname

hostname = ♣name hosta ♣

Raspberry Pi IP

♣ malina-pi-ip ♣ = 192.168.1.93

Imenik web stranica Raspberry Pi

/var/www

Seco-larm prestaje raditi

Dana 01. MAJA 2016, Seco-larm je prestao sa radom. Ovo je treći put da senzor prestaje raditi. Da bi se ovo pravilno reklo, fizički pin 15 na Raspberry Pi -u prestao je otkrivati ulaz 3.3V. Probao sam 3.3v fizičke pinove 1 i 17, a oba su i dalje davala 3.3v. Prešao sam sa fizičkog pina 15 na drugi GPIO, fizički pin 16 (GPIO 4) i ponovo je počeo raditi. Dakle, sa Seco-larmom nema ništa loše. Čini se da je problem u Raspberry Pi GPIO.

GPIO 3, fizički pin 15 je mrtav. Ovo je vrlo dobar post o tome kako testirati GPIO pinove.

Prešao sam sa GPIO 3 na GPIO 4 i prema tome promijenio kôd. Nisam siguran zašto je GPIO pin prestao raditi. Evo dva moguća razloga:

  • Senzor Seco-larm imam montiran pa kad se zatvore vrata daje 3.3V. Garažna vrata se češće zatvaraju nego što su otvorena. Možda GPIO pin ne može uzeti manje-više konstantan ulaz od 3.3v.
  • Kvar se poklopio s nestankom struje, možda je došlo do skoka struje.

U-verse Residential Gateway

Imam AT&T U-verse sa Residential Gateway-om, ali svaka usluga bi trebala raditi.

Ako se U-verse Gateway ponovo pokrene ili izgubi napajanje, možda će se morati ponovo pokrenuti Raspberry Pi.

U-verse gateway za stanovanje Public IP = ♣ router's-public-ip ♣

Javni IP pristup stambenog prolaza U-verse može se promijeniti, ali to se događa vrlo rijetko

U-verse Residential Gateway Početna stranica = 192.168.1.254

SSID bežične pristupne tačke rutera U-verse = ♣ ssid ♣

WiFi protok je sporiji nego što se očekivalo

Promijenite usmjerivač na manje korišteni kanal. Prema zadanim postavkama, svi dobavljači kola podešavaju svačiji wifi na kanal 1. Promijenite na kanal koji se manje koristi, na primjer, 11. Pokušajte upotrijebiti neparan broj.

Napomena: Rekao sam par susjeda šta sam učinio da poboljšam wi-fi i sada su svi na 9 ili 11, pa sam se vratio na 1. Uvijek biste trebali koristiti neparan kanal.

Otvorite pregledač.

Za U-verse unesite 192.168.1.254 u okvir za URL.

Kliknite na Bežična veza i odaberite kanal 6 ili 11.

Postoji aplikacija za pametni telefon koja se zove wifi analizator. Jedan od ekrana prikazuje sve obližnje WiFi pristupne tačke koje emituju na određenom kanalu. U mom susjedstvu svi su postavljeni na kanal 1.

Isključite Raspberry Pi iz utičnice, a zatim vratite napajanje

Preporučuje se: