Sadržaj:

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

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

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

Ovu instrukciju sam stvorio 2014. Dosta se promijenilo od tada. Godine 2021. ovdje sam ažurirao Otvarač pametnih 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 obiteljskim mobilnim telefonima. Ako su garažna vrata otvorena kada ne bi trebala biti, pošaljite tekstualnu poruku (SMS) na mobitel.

Garažna vrata su u stalnoj upotrebi od kraja 2014. Tijekom godina nastojala sam ažurirati promjene. Postoji dodatak koji opisuje promjene u uputama.

Ciljevi ovog projekta su:

  • Neka moje prve instrukcije budu - nisam planirao ovo objaviti, 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
  • Daljinski pratite stanje garažnih vrata putem mobitela ili prijenosnog računala (jesu li otvorena ili zatvorena?)
  • Pošalji tekstualnu poruku na moj mobitel ako su vrata otvorena kad bi se trebala zatvoriti
  • Neka garažna vrata budu sigurna (npr. Pri nestanku struje, vrata se ne smiju otvoriti)
  • Ne dopustite nikome na internetu da otvori vrata (dvosmjerni samopotpisani SSL certifikat)
  • Koristite WiFi umjesto žičane veze
  • Koristite Raspberry Pi 3

Temelj za ovu implementaciju otvarača garažnih vrata izveden je iz instruktora Instrumenttable: Raspberry Pi otvarača garažnih vrata koji je izradio kvartar. Prvotno sam koristio model B+ Raspberry Pi, zatim 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 koje računalo.

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 dizanje 828LM
  • Chamberlain MyQ 129 USD
  • GoGo Gate 179 USD
  • Obrtnik 100 dolara

Bilješke:

  • 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. Ispričavam se na eventualnim propustima. Većina ovog dokumenta temelji se na radu drugih ljudi.
  • $ označava naredbu koja se izvršava u prozoru terminala na MacBooku i obično se izvršava na Raspberry Pi

Korak 1: Skupite 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 s Amazona 9,99 USD
  • Micro USB na USB kabel 6ft od Amazona 7,99 USD
  • Slučaj iz Amazona 6,99 USD
  • SanDisk Ultra 16 GB microSDHC klase 10 s adapterom (SDSQUAN-016G-G4A) od 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-ženske žice kratkospojnika. Kupljeno u Fry's za 4,95 USD.
  • Dinamički DNS 40 USD godišnje za 30 imena (dyn.com)
  • 1-banda 18 cu. in. Old Work Heavy Wall Switch and Outlet Box, 3,12 USD
  • Bijela zidna ploča s 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:

  • Ethernet kabel CAT5
  • Žica malog kolosijeka, duga 6 stopa
  • Odvijač s Phillips glavom
  • Kliješta za nos s iglama
  • Rezači za kutije
  • Zlatarski odvijač s ravnom glavom, potreban za otpuštanje vijaka na releju
  • MacBook (može se koristiti računalo)
  • AT&T GigaPower (može se koristiti bilo koji davatelj internetskih usluga)

Korak 2: Postavite Raspberry Pi bez monitora ili tipkovnice

Postavljanje Raspberry Pi bez monitora ili tipkovnice
Postavljanje Raspberry Pi bez monitora ili tipkovnice

Svi projekti Raspberry Pi zahtijevaju neku vrstu postavljanja. Volim koristiti isti skup uputa i po potrebi imati jedno mjesto za ažuriranje tih uputa.

Postavite Raspberry Pi pomoću sljedećih uputstava:

Postavljanje Raspberry Pi bez monitora ili tipkovnice

Gore navedene upute uključuju izborne korake u dodatku. Obavezno napravite sljedeći korak:

Dodajte certifikate na strani klijenta web poslužiteljima

Isključivanje Raspberry Pi

$ sudo shutdown -h 0

Nakon isključivanja, uklonite

  • ethernet kabel
  • USB serijski kabel

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

Isključite napajanje i ponovno 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ćuje kontrolu GPIO pinova. Evo vodiča korak po korak:

wiringpi.com/download-and-install/

Evo skraćene verzije uputa:

$ 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 naredbu gpio da biste provjerili instalaciju:

$ gpio -v

gpio verzija: 2.29 Autorsko pravo (c) 2012-2015 Gordon Henderson Ovo je besplatni softver s APSOLUTNO BEZ JAMSTVA. Za detalje upišite: gpio -jamstvo 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 razini korisnika. -> Više pojedinosti potražite na man stranici $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Ime | Način rada | V | Fizički | V | Način rada | 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 | IZLAZI | 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 | Način rada | V | Fizički | V | Način rada | Ime | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+

Gore navedene naredbe trebale bi vam dati 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 funkcionira li web poslužitelj, otvorite preglednik i u okvir URL unesite:

♣ malina-pi-ip ♣

Zadana web stranica Apachea odgovara "Radi!"

Korak 4: Web stranica

Otvorite prozor terminala na Mac Book -u. Prijavite se na Raspberry Pi, a zatim uklonite zadanu datoteku index.html, promijenite dopuštenja 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 kôd:

Otvarač garaže

Kućna automatizacija

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

";} else {echo"

"; } ?>

Otvarač garažnih vrata Upute 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 dopuštenja za datoteku

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

Korak 5: Slika web stranice

Slika web stranice
Slika web stranice
Slika web stranice
Slika web stranice

Zgrabite daljinski otvarač za garažna vrata visoke razlučivosti s weba. Izmijenite sliku kako želite pomoću Mac četke. Na gornjoj slici upotrijebljen je Genie Garage Opener visoke rezolucije, dodan je malinov pi logo, a LED dioda uklonjena.

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

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

Kopirajte slike u malinovo pi:

$ scp *-j.webp

lozinka: ♣ lozinka ♣

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

Korak 6: Daljinsko upravljanje web poslužiteljem

Kako bih olakšao pristup otvaraču garažnih vrata s udaljenog mjesta, koristim dinamički DNS naziv. Jer ne volim pamćenje IP adresa.

Ovom značajkom u polje URL URL preglednika unosim ♣naziv dinamičkog hosta ♣.getmyip.com. Napomena: IP na kućnim usmjerivačima može se promijeniti bez prethodne 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 svoje nazive domaćina i pojedinosti o DynDNS Pro računu. Evo nekoliko savjeta za početak:

  • Izradite svoj Dynamic DNS naziv hosta (1 od 30):

    • "Dinamičko ime hosta"
    • Ključ za ažuriranje: ♣ ključ za dinamičko ažuriranje ip-ažuriranja ♣
  • 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 rijetko se 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: ♣ dynamic-ip-username ♣ ♣ dynamic-ip-password ♣
      • Odaberite naziv hosta
      • Kliknite Konfiguriraj odabrane hostove
      • Domaćin bi trebao postati aktivan
    • Konfigurirajte svoju mrežu da dopušta pristup vašem uređaju s Interneta. Možete koristiti naš Dyn čarobnjak za neke opće upute o tome 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 naprijed na usmjerivaču AT&T U-verse 5268ac.
      • Otvorite preglednik i idite na ♣ raspberry-pi-ip ♣
      • Lozinka: ♣ lozinka ♣
      • Postavke
      • Vatrozid

        • Odaberite ♣ raspberry-pi-hostname ♣
        • Poslužitelji

          • Ulaz za web poslužitelj 80
          • HTTPS poslužitelj - port 443
        • Dodati
      • Uštedjeti

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

Korak 7: Spojite 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).

  • Upotrijebite tri ženska spojna kabela
  • 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 kratkospojni kabel.

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 spojne igle

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

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

    • Klizite rasterećenje preko ženskog spojnog zatiča ili pokrovnog zatika s električnom trakom

Spojite relej na pi kako je prikazano na dijagramu:

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

Korak 8: Stvorite uslugu pokretanja

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

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

Ako Raspberry Pi izgubi snagu, relej ima sigurnosni mehanizam koji drži krug 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 zatraži kućište sustava "$ 1" na početku) odjek "Startni relej" # Uključite 7 koji zadržava relej isključen/usr/local/bin/gpio write 7 1 #Pokrenite način rada Gpio/usr/local/bin/gpio 7 van;; stop) echo "Zaustavljanje gpio -a";; *) echo "Usage: /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: Sigurno možete zanemariti upozorenje "nedostaju LSB oznake".)

Provjerite je li pokrenuta skripta za pokretanje

$ sudo ponovno podizanje sustava

Otvorite preglednik 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 s 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, varijacija temperature u garaži je izvan operativnih specifikacija Raspberry Pi.

Provucite žice releja kroz rupu (upotrijebite 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. Priključci su prikazani na slici. Budući da relej izolira krug, smjer nije ni bitan koji je relej pričvršćen na koji vijak.

Korak 10: 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
Pričvrstite Raspberry Pi na SECO-LARM

Prije nego što sam dovršio kôd, moja obitelj i ja bili smo na odmoru i otvorio sam preglednik. Posljednji pogled mog preglednika bio je na otvaranje garažnih vrata - stranica se osvježila i garažna vrata su se otvorila. Nekoliko dana kasnije susjeda je nazvala i pitala bi li garažna vrata trebala biti 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 na web stranicu dodao senzor i stanje garažnih vrata.

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

closed

Magnet je pričvršćen na lijevu, gornju unutarnju 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 senzora SECO-LARM i čvrstih žica.

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

Najvažniji dio je kada se bušenjem s tavana u područje gdje će žice voditi do otvarača garažnih vrata NE BORI kroz električnu energiju. Popraviti ovo nije bilo zabavno. Vidjeti iskre i ugasiti svjetla bilo je prilično uzbudljivo!

Senzor zahtijeva dvije čvrste žice termostata ili nevidljivu žicu 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 pin i vrijednosti pin -ova, unesite:

$ gpio čitanje

Za priručnik za gpio unesite:

$ gpio čovjek

U izvornim 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 kabele 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, prebacite veze na SECO-LARM.

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

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

Ako su garažna vrata otvorena kad ne bi trebala biti, pošaljite tekstualnu poruku na mobitel.

Instalirajte i konfigurirajte jednostavan SMTP.

Imam AT&T mobitel i koristim ♣cell-phone-number♣@txt.att.net za tekstualne poruke. Također imam gmail račun, a donji primjer koristi ♣gmail-account♣@gmail.com. Ako koristite različite usluge, napravite odgovarajuće izmjene.

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 ažuriranje

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

kako slijedi:

mailhub = smtp.gmail.com: 587 hostname = ♣ your-hostname ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ gmail-password ♣ UseSTARTTLS = DA

Uredite datoteku pseudonima SSMTP:

$ sudo nano/etc/ssmtp/revaliases

Izradite jedan redak za svakog korisnika koji će moći slati e -poštu. Na primjer:

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

Postavite dopuštenja konfiguracijske datoteke SSMTP:

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

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

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 naredbenog retka.

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

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

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

i dodati 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 ♣ your -hostname ♣: Garage Door Open echo "zatvori garažna vrata" | mail -s "Otvorena garažna vrata" ♣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 rupice 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 sučelja, a za svaku je potrebno 15-20mA
  • Struja pogona Opremljen relejem velike struje, AC250V 10A; DC30V 10A
  • Standardno sučelje koje se može izravno kontrolirati mikrokontrolerom (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logika)
  • LED indikacije za status relejnog izlaza Veza za preuzimanje dokumenta:

Korak 14: Dodatak: Ažuriranja

21FEB2016

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

    • 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 je promjene 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. Dakle, prešao sam na uglate zagrade, ali to može uzrokovati probleme jer izgledaju kao kod. Dakle, konačno sam se odlučio za ♣ kao pokazatelj zamjene stvarnom vrijednošću.
  • S vremenom sam poboljšao i neke skripte.
  • Uređeni koraci 21-26

03. travnja 2016

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

04. travnja 2016

  • Korake 2-11 i 16-20 zamijenio sam standardom postavljanja Raspberry Pi
  • Ažuriran popis dijelova, korak 1
  • Dodane/spojene fotografije

05. travnja 2016

Pojednostavljena web stranica i slika (koraci 4 i 5)

01SIBANJA 2016

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

01SIBANJA 2016

Prethodna uređivanja nisu pravilno spremljena?

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čunala na LAN -u. Da bi MacBook pristupio web poslužitelju otvarača garaža učinite sljedeće:

$ sudo nano /etc /hosts

i dodajte redak

192.168.1.64 "poslužitelj-vanjsko-ime-domene"

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

$ sudo killall -HUP mDNSResponder

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

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

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

        • TCP od 80 do 80, karta do porta domaćina 443
        • TCP od 443 do 443 mapa za port 443 hosta
        • UDP od 443 do 443, karta do porta domaćina 443
        • UDP od 80 do 80, karta do porta domaćina 443
    • Kliknite natrag
    • Ponovno odaberite svoj web poslužitelj
    • Odaberite Korisnički definirano
    • Dodajte PortForwarding
    • Pritisnite Spremi

21. JAN2018

  • 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 redak prikazuje ukupni iskorišteni prostor na disku. SD kartica ima 8 GB.

$ cd../..

$ sudo du –hx –c

e -mail

Ako imate problema, pokušajte ovo:

$ echo "test" | sendmail -v ♣vaš-gmail-račun♣@gmail.com

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

Ako dobijete pogrešku autentifikacije:

Možda ćete morati smanjiti sigurnost računa. Međutim, snižavanje sigurnosti se NE preporučuje. Google će poslati e -poruku s vezom na nižu sigurnosnu postavku.

Možete se prebaciti s 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 nije zaštićen suvremenim sigurnosnim standardima.

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

Ako dobijete pogrešku autorizacije:

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 provjerite vrijednosti polja AuthUser i AuthPass.

Ako izgubite vezu usred obrade:

Vjerojatno 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 trebale biti neke relevantne poruke o pogreš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 ponovno 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. To 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 čitanje

Prijavite se na maline pi s MacBook -a

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

Na MacBook -u otvorite terminal

$ ssh pi@♣ malina-pi-ip ♣

"Lozinka"

Prijavite se na stambeni pristupnik

Na MacBook -u otvorite preglednik

URL = ♣ malina-pi-ip ♣

Prijava: ♣ gateway-lozinka ♣

Dnevnici

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

$ cat/var/log/messages

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

MAC imenik

Imenik na MacBooku u kojem su pohranjene datoteke web stranica

MAC imenik =/Korisnici/♣ moj macbook ♣/Radna površina/Wi-Fi omogućen dom/Wi-Fi otvarač garažnih vrata/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

Naziv hosta Raspberry Pi

$ 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. SVIBNJA 2016, Seco-larm je prestao raditi. Ovo je treći put da senzor prestaje raditi. Da bismo to ispravno rekli, fizički pin 15 na Raspberry Pi -u prestao je detektirati ulaz 3.3V. Pokušao sam s 3,3v fizičkim pinovima 1 i 17, a oba su i dalje davala 3.3v. Prešao sam s fizičkog pina 15 na drugi GPIO, fizički pin 16 (GPIO 4) i opet je počeo raditi. Dakle, nema ništa loše u Seco-larmu. Č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 s 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 bi usluga trebala funkcionirati.

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

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

Javni IP pristup stambenog pristupnika 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 točke usmjerivača U-verse = ♣ ssid ♣

WiFi protok sporiji je od očekivanog

Promijenite usmjerivač na manje korišteni kanal. Prema zadanim postavkama, svi davatelji sklopova podešavaju svačiji wifi na kanal 1. Promijenite na manje korišteni kanal, na primjer, 11. Pokušajte upotrijebiti neparan broj.

Napomena: Rekao sam par susjeda što sam učinio kako bih poboljšao wi-fi, a sada su svi na 9 ili 11, pa sam se vratio na 1. Uvijek biste trebali koristiti neparan kanal.

Otvorite preglednik.

Za U-verse unesite 192.168.1.254 u okvir za URL.

Pritisnite bežičnu vezu i odaberite kanal 6 ili 11.

Postoji aplikacija za pametni telefon koja se zove wifi analizator. Jedan od zaslona prikazuje sve obližnje WiFi pristupne točke koje emitiraju 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čeni: