Kazalo:
- Korak: Zberite dele
- Korak: Namestite Raspberry Pi brez monitorja ali tipkovnice
- 3. korak: Namestite Wiring Pi, Apache in PHP
- 4. korak: Spletno mesto
- 5. korak: Podoba spletnega mesta
- 6. korak: Daljinski nadzor spletnega strežnika
- 7. korak: Povežite vezje z Raspberry Pi
- 8. korak: Ustvarite zagonsko storitev
- 9. korak: Pritrdite Raspberry Pi v garažo
- 10. korak: pritrdite Raspberry Pi na SECO-LARM
- 11. korak: Pošljite opozorilo, če so vrata odprta, ko jih je treba zapreti
- Korak: Postavite Raspberry Pi v skrivno knjigo
- 13. korak: Dodatek: Reference
- 14. korak: Dodatek: Posodobitve
- 15. korak: Dodatek: Odpravljanje težav
Video: Odpirač za garažna vrata Raspberry Pi 3: 15 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:06
To navodilo sem ustvaril leta 2014. Od takrat se je veliko spremenilo. Leta 2021 sem tukaj posodobil odpirač pametnih garažnih vrat.
Za odpiranje, zapiranje in spremljanje garažnih vrat uporabite Raspberry Pi in pametni telefon. Odpiranje in zapiranje vrat je zaščiteno s samopodpisanimi potrdili, nameščenimi na mobilnih telefonih družine. Če so garažna vrata odprta, ko ne bi smela, pošljite besedilno sporočilo (SMS) na mobilni telefon.
Garažna vrata so v stalni uporabi od konca leta 2014. Skozi leta sem poskušala posodobiti spremembe. Obstaja dodatek, ki opisuje spremembe navodil.
Cilji tega projekta so:
- Naj bo moj prvi pouk - tega nisem nameraval objaviti, vendar sem prejel veliko prošenj
- Odprite garažna vrata s standardnim daljinskim upravljalnikom
- Odprite garažna vrata s stenskim odpiračem za vrata
- Odprite garažna vrata s pametnim telefonom
- Na daljavo spremljajte stanje garažnih vrat prek mobilnega telefona ali prenosnega računalnika (ali so odprta ali zaprta?)
- Pošlji besedilno sporočilo na moj mobilni telefon, če so vrata odprta, ko jih je treba zapreti
- Zagotovite, da so garažna vrata varna (npr. Ob izpadu električne energije se vrata ne smejo odpreti)
- Ne dovolite, da bi kdo drug na internetu odprl vrata (dvosmerno samopodpisano potrdilo SSL)
- Namesto žične povezave uporabite WiFi
- Uporabite Raspberry Pi 3
Osnova za to izvedbo odpirača garažnih vrat je bila pridobljena iz instruktorja: Raspberry Pi za odpiranje garažnih vrat, ki ga je izdelal kvartar. Sprva sem uporabil model B+ Raspberry Pi, nato sem prešel na Raspberry Pi 2 model B, zdaj pa uporablja Raspberry Pi 3.
Za komunikacijo z Raspberry Pi sem uporabil MacBook, vendar je mogoče uporabiti kateri koli računalnik.
Za izdelavo te naprave ni prepričljivega razloga, vendar je bilo zabavno. Nakup je cenejši. Podobno napravo lahko kupite za približno 130 USD.
- Dvižni mojster 828LM
- Chamberlain MyQ 129 dolarjev
- GoGo Gate 179 dolarjev
- Obrtnik 100 dolarjev
Opombe:
- Besedno besedilo, kot je ta ♣ zamenjaj-to ♣, je treba nadomestiti z dejansko vrednostjo
- Arduino podčrtano modro besedilo je povezava. V tem primeru je to povezava do arduino različice odpirača garažnih vrat.
- Poskušal sem kreditirati vse uporabljene vire. Se opravičujem za morebitne pomanjkljivosti. Večina tega dokumenta temelji na delu drugih ljudi.
- $ označuje ukaz, ki se izvede v terminalskem oknu MacBook in se običajno izvaja na Raspberry Pi
Korak: Zberite dele
Kupite ali zberite dele in orodja (cene v USD).
- Raspberry Pi 3 Model B Newark Element14 35 USD
- 5.2V 2.5A USB napajalnik od Amazona 9,99 USD
- Kabel Micro USB v USB 6ft pri Amazonu 7,99 USD
- Etui iz Amazona 6,99 USD
- SanDisk Ultra 16 GB microSDHC razred 10 z adapterjem (SDSQUAN-016G-G4A) od Amazona 8,99 USD
- SunFounder 2 -kanalni 5V relejni ščitni modul za Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - 6,79 USD
- 3x Žensko-ženska skakalna žica. Kupljeno pri Fry's za 4,95 USD.
- Dinamični DNS 40 USD na leto za 30 imen (dyn.com)
- 1-tolpa 18 cu. v. Old Work Heavy Wall Switch and Outlet Box, 3,12 USD
- Bela stenska plošča Ultra Pro z eno krtačo, 7,88 USD
- SECO-LARM SM 226L, senzor garažnih vrat, cena se zelo razlikuje, 9,99 USD na Amazon z brezplačno dostavo
- 50ft trdne žice termostata, Home Depot ali Lowe's, ~ 20 USD
Moje skupaj: ~ 172,00 USD
Imel sem naslednje dele, orodja in storitve:
- Ethernetni kabel CAT5
- Žica majhnega profila, dolga 6 čevljev
- Križni izvijač z glavo
- Klešče za nos
- Rezalniki za škatle
- Izvijač s plosko glavo za draguljarje, potreben za odvijanje vijakov na releju
- MacBook (lahko uporabite računalnik)
- AT&T GigaPower (lahko uporabite katerega koli ponudnika internetnih storitev)
Korak: Namestite Raspberry Pi brez monitorja ali tipkovnice
Vsi projekti Raspberry Pi zahtevajo določeno vrsto nastavitve. Rad uporabljam isti nabor navodil in po potrebi imam eno mesto za posodobitev teh navodil.
Nastavite Raspberry Pi z naslednjimi navodili:
Nastavite Raspberry Pi brez monitorja ali tipkovnice
Zgornje navodilo vključuje neobvezne korake v dodatku. Naredite naslednji korak:
Spletnim strežnikom dodajte potrdila na strani odjemalca
Zaustavitev Raspberry Pi
$ sudo shutdown -h 0
Po zaustavitvi odstranite
- ethernetni kabel
- Serijski kabel USB
Te ne bodo več potrebne. Uporabite wifi, ssh in terminalsko okno v Mac Book za izvajanje ukazov na Raspberry Pi.
Odklopite napajanje in ga znova vklopite, malina pi pa se mora znova zagnati.
3. korak: Namestite Wiring Pi, Apache in PHP
Namestite Wiring Pi
Odprite terminalsko okno v knjigi Mac Book. Prijavite se v Raspberry Pi, nato prenesite, prevedite in namestite Wiring Pi. Ta programska oprema omogoča nadzor zatičev GPIO. Tukaj je vodnik po korakih:
wiringpi.com/download-and-install/
Tu je zgoščena različica navodil:
$ ssh pi@♣ malina-pi-ip ♣
geslo: ♣ geslo ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd ožičenjePi $ git pull origin $./build
Zaženite ukaz gpio, da preverite namestitev:
$ gpio -v
gpio različica: 2.29 Avtorska pravica (c) 2012-2015 Gordon Henderson To je brezplačna programska oprema z ABSOLUTNO BREZ GARANCIJE. Za podrobnosti vnesite: gpio -garancija Podrobnosti o Raspberry Pi: Tip: Model 2, Revizija: 1.1, Pomnilnik: 1024 MB, Izdelovalec: Sony [OV] Drevo naprav je omogočeno. Ta Raspberry Pi podpira dostop GPIO na ravni uporabnika. -> Za več podrobnosti si oglejte stran s podatki $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Ime | Način | V | Fizično | V | Način | 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 | Način | V | Fizično | V | Način | Ime | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+
Zgornji ukazi bi morali dati nekaj zaupanja, da wiringPi deluje v redu.
Namestite Apache in PHP
Zaženite naslednje ukaze:
$ cd..
$ sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5
Če želite preveriti delovanje spletnega strežnika, odprite brskalnik in v polje URL vnesite:
♣ malina-pi-ip ♣
Privzeto spletno mesto Apache se odzove z "Deluje!"
4. korak: Spletno mesto
Odprite terminalsko okno v knjigi Mac. Prijavite se v Raspberry Pi, nato odstranite privzeto datoteko index.html, spremenite dovoljenja v imeniku spletnega mesta in uredite datoteko, imenovano index.php.
$ ssh pi@♣ malina-pi-ip ♣
geslo: ♣ geslo ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root/var/www $ sudo nano /var/www/index.php
In vnesite naslednjo kodo:
Garažni odpirač
Domača avtomatizacija |
---|
Odpirač za garažna vrata | Priročnik za odpiranje garažnih vrat | zaprto 1 | odpri 0 |
CTRL-o in ENTER za zapis datoteke in CTRL-x za izhod iz urejevalnika.
Spremenite dovoljenja za datoteko
$ sudo chmod 664 /var/www/index.php
5. korak: Podoba spletnega mesta
Z spleta vzemite daljinsko odpiranje garažnih vrat z visoko ločljivostjo. Prilagodite sliko tako, kot želite, s čopičem Mac. Na zgornji sliki je bil uporabljen odpirač za garažo Genie z visoko ločljivostjo, dodan je logotip maline pi in led je bil odstranjen.
Ena slika je ozadje (remote-background.jpg), druga pa aktivna slika (remote-press.jpg).
Načrt je bil, da bo ob pritisku na gumb namesto utripanja LED -ja malina utripala. Poenostavil sem spletno stran.
Kopirajte slike v malinovo pi:
$ scp *-j.webp
geslo: ♣ geslo ♣
Spletna stran ima en sam gumb. Za preverjanje odprite brskalnik in vnesite ♣ raspberry-pi-ip ♣. Namesto privzetega spletnega mesta Apache, na katerem piše "Deluje!", Bi se moral prikazati gumb. Pritisnite.
6. korak: Daljinski nadzor spletnega strežnika
Za lažji dostop do odpirača garažnih vrat z oddaljene lokacije uporabljam dinamično ime DNS. Ker se ne maram spominjati naslovov IP.
S to funkcijo v polje »URL« brskalnika vnesem »ime dinamičnega gostitelja«.getmyip.com. Opomba: IP na domačih usmerjevalnikih se lahko spremeni brez obvestila, vendar se to zgodi redko. Odločil sem se za uporabo DynDNS. Morali boste poznati javni naslov IP usmerjevalnika.
IP usmerjevalnika U-Verse: ♣ uverse-public-ip ♣
Ogledate si lahko imena svojih gostiteljev in podatke o računu DynDNS Pro. Tukaj je nekaj nasvetov za začetek:
-
Ustvarite ime gostitelja Dynamic DNS (1 od 30):
- "Dinamično ime gostitelja"
- Ključ za posodabljanje: ♣ ključ za dinamično ip-posodabljanje ♣
-
Namestite odjemalca za posodobitve, da zagotovite, da je ime gostitelja vedno usmerjeno na pravilen naslov IP.
- Prenesite in namestite na MacBook
- AT&T U-verse IP-ji se redko spreminjajo, zato je zgornji program za posodobitev mogoče zagnati, kadar koli se spremeni
-
Sledite navodilom:
- Dodaj račun
- Vnesite uporabniško ime in geslo: ♣ dynamic-ip-username ♣ ♣ dynamic-ip-password ♣
- Izberite ime gostitelja
- Kliknite Konfiguriraj izbrane gostitelje
- Gostitelj bi moral postati aktiven
-
Konfigurirajte svoje omrežje tako, da dovoljuje dostop do vaše naprave iz interneta. Če želite nekaj splošnih navodil, kako to narediti, uporabite našega čarovnika Dyn, uporabite sredstva, kot je PortForward.com, ali se za pomoč obrnite na proizvajalca naprave.
- AT&T U-verz
- Posredovanje vrat za 2-žični 3801HGV-to je usmerjevalnik AT&T U-Verse, ki ga imam. Glejte Posodobitve v dodatku za informacije o prenašanju na usmerjevalniku AT&T U-verse 5268ac.
- Odprite brskalnik in pojdite na ♣ raspberry-pi-ip ♣
- Geslo: ♣ geslo ♣
- Nastavitve
-
Požarni zid
- Izberite ♣ ime maline-pi-gostitelja ♣
-
Strežniki
- Vrata za spletni strežnik 80
- Strežnik HTTPS - vrata 443
- Dodaj
- Shrani
Ko bo to storjeno, bo spletni strežnik deloval iz interneta. Če želite preveriti, vnesite »dinamično ime gostitelja« in prikazal se bo gumb za odpiranje garažnih vrat.
7. korak: Povežite vezje z Raspberry Pi
Za priloženo kodo (korak 4 in 6) sem uporabil pin GPIO 7. Naključje je, da je GPIO 7 enak ožičenju pin Pin 7. V kodi PHP se uporabljajo ožičenje Pi pin številke in NE številke pin GPIO. Uporabite lahko katero koli, vendar spremenite kodo.
Poskušal sem uporabiti zvito žico, vendar se rele ne drži dobro na zviti žici. Boljša je trdna žica.
V prvem poskusu sem ustvaril tri povezovalne kable (ženski-moški).
- Uporabite tri mostične kable ženski do ženski
-
Odrežite tri kose trdne žice na približno 1 palca.
Odstranite 1/4 palca na obeh koncih trdne žice
- V en ženski mostični kabel vstavite eno trdno žico.
Tu je boljši način za ustvarjanje povezovalnih kablov (ženski-moški):
- Uporabljajte samo trdno žico
- Odrežite tri 4 -palčne kose trdne žice
- Odstranite 1/4 palca na obeh koncih trdne žice
-
Uporabite ženske priključne zatiče
-
Potisnite en ženski povezovalni zatič na enem koncu trdne žice in ga stisnite
Ženski zatič se ne sme popustiti, po potrebi ga spajkajte
- Z električnim trakom potisnite razbremenitev napetosti po ženskem priključnem zatiču ali pokrovčku
-
Priključite rele na pi, kot je prikazano na diagramu:
- Priključite ženski konec kabla na pin Raspberry Pi.
- V rele vstavite trdno žico.
8. korak: Ustvarite zagonsko storitev
Večina relejev, vključno s kupljenim, deluje tako:
- Ko je signal ON, vezje ostane izklopljeno.
- Ko je signal izklopljen, je vezje vklopljeno.
Če Raspberry Pi izgubi moč, ima rele varnostni mehanizem, ki ohranja vezje OFF.
Težava bi se lahko pojavila, ko se Rapberry Pi in rele ponovno vzpostavi napajanje, vendar preden se Raspberry Pi konča s zagonom, vklopi signal, ki je potreben za izklop vezja. Zjutraj bi se lahko zbudili z odprto garažo in potencialno nekaj novimi prijatelji!
Vendar se rele dejansko ne inicializira, dokler ni nastavljen način pin GPIO s tem ukazom: gpio mode 7 out. Poleg tega, če je GPIO pin na ON (gpio write 7 1), preden nastavite način GPIO, bo rele po inicializaciji ostal izklopljen.
Če želite, da se ta inicializacija izvaja ob zagonu in se ne zbudi med novimi prijatelji, uporabite naslednji zagonski skript.
$ ssh pi@♣ malina-pi-ip ♣
$ sudo nano /etc/init.d/garagerelay
Nato prilepite ta skript:
#! /bin/bash
# /etc/init.d/garagerelay # Izvedite posebne funkcije, ko to zahteva sistemski primer "$ 1" na začetku) odmev "Starting Relay" # Vklopite 7, ki ohranja rele izklopljen/usr/local/bin/gpio write 7 1 #Začni način Gpio/usr/local/bin/gpio 7 ven; stop) echo "Ustavljanje gpio";; *) odmev "Usage: /etc/init.d/garagerelay {start | stop}" exit 1;; esac izhod 0
Če želite shraniti: CTRL-o, ENTER
Za izhod iz nano, CTRL-x
Naj bo datoteka izvedljiva:
$ sudo chmod +x /etc/init.d/garagerelay
Zdaj povejte svojemu pi, naj pri zagonu zažene ta skript:
$ sudo update -rc.d -f garažni rele rele start 4
(Opomba: Opozorilo »manjkajoče oznake LSB« lahko varno prezrete.)
Prepričajte se, da se zagonski skript izvaja
$ sudo ponovni zagon
Odprite brskalnik in kliknite na odpirač. Rele mora klikniti.
9. korak: Pritrdite Raspberry Pi v garažo
Ko premikate Raspberry Pi, zaženite:
$ shutdown -h 0
Morda boste želeli izklopiti napajanje garaže. Torej, odpirač za vrata vas ne udari z elektriko:). Pravi razlog je, da vsakič, ko skrajšate žice, vrata gredo gor in dol.
Odvijte stenske vijake odpirača za vrata, ki pritrdi zvonec na steno.
V garaži za odpiralnikom vrat v notranjost hiše naredite luknjo. V Teksasu Raspberry Pi ne bi smel biti v garaži, temperaturna nihanja v garaži so zunaj delovnih specifikacij Raspberry Pi.
Prenesite žice releja skozi luknjo (uporabite obešalnik).
Odvijte oba vijaka na zadnji strani odpirača za vrata.
Odstranite oba konca relejnih žic: 1) približno 1/8 "palca na strani releja in približno ½" palca na strani zvonca. Stran žice pri vratih upognite v pol zanko, ki je dovolj velika, da se prilega okoli zadnjega vijaka.
Priključite eno relejsko žico na vsak vijak na zadnji strani zvonca in privijte vijak. Povezave so prikazane na sliki. Ker rele ločuje vezje, smer niti ni pomembna, kateri rele je pritrjen na kateri vijak.
10. korak: pritrdite Raspberry Pi na SECO-LARM
Preden sem dokončal kodo, sva bila z družino na počitnicah in odprla sem brskalnik. Zadnji pogled mojega brskalnika je bil odpiranje garažnih vrat - stran je bila osvežena in garažna vrata so se odprla. Nekaj dni kasneje je klical sosed in vprašal, ali naj bodo garažna vrata odprta? Na srečo bi ga lahko zaprl s 500 milj stran.
Ta snafu me je prisilil, da spremenim kodo, da se to ne bi zgodilo, in na spletno mesto dodam senzor in stanje garažnih vrat.
To je povezava do izvirnega navodila za dodajanje senzorja. Glede na vse, kar je že zaključeno, lahko namestitev senzorja močno poenostavimo in namesto pythona v index.php dodamo nekaj vrstic kode.
closedMagnet je pritrjen na levo, zgornjo notranjo stran garažnih vrat, senzor pa je pritrjen na steno garaže. Zato sem moral napeljati trdno žico termostata od senzorja nazaj do maline pi. To je zahtevalo luknjo iz garaže na podstrešje in s podstrešja v steno, ki vsebuje odpirač garažnih vrat (stikalo za zvonec).
Med senzor SECO-LARM in trdne žice sem vstavil modro razdelilno omarico.
V moji hiši je 18 cm palice med stropom prvega nadstropja in dnom drugega nadstropja. Predvidevam, da tu potekajo ogrevalni in hladilni kanali. Potreboval sem podaljšek svedra, ki je dovolj dolg, da sem šel skozi drugo nadstropje in skozi zgornji 2x4 (zgornja plošča), ki vsebuje zvonec na vratih.
Najpomembnejši del je, da pri vrtanju s podstrešja na območje, kjer bodo vodile žice do odpirača garažnih vrat, NE vrtajte skozi elektriko. Popravljanje tega ni bilo zabavno. Videti iskre in ugasniti luči je bilo precej navdušujoče!
Senzor potrebuje dve trdni žici termostata ali nevidno žico za ograjo psov.
Raspberry Pi ima več opisov pinov (BCM, wPi, fizični). Koda uporablja številke pin pin ožičenja. Če si želite ogledati vse zatiče, preslikave pin in vrednosti pin, vnesite:
$ gpio readall
Za priročnik gpio vnesite:
$ gpio mož
V izvirnih navodilih je fizični zatič 9 ozemljen in povezan z enim od vodov SECO-LARM. Vendar mi to ne gre. Namesto tega priključite kable na fizične zatiče 15 in 17
Fizični pin 15 (wPi pin 3) preide na 3,3 V, ko je senzor SECO-LARM zaprt. Fizični pin 17 je 3.3v. Če ne deluje, preklopite povezave na SECO-LARM.
SECO-LARM pritrdite na garažna vrata in steno. Zaženite žice in se povežite z Raspberry Pi.
11. korak: Pošljite opozorilo, če so vrata odprta, ko jih je treba zapreti
Če so garažna vrata odprta, ko ne bi smela, pošljite besedilno sporočilo na mobilni telefon.
Namestite in konfigurirajte preprost SMTP.
Imam AT&T mobilno in za besedilna sporočila uporabljam ♣cell-phone-number♣@txt.att.net. Imam tudi račun za gmail, spodnji primer pa uporablja ♣gmail-account♣@gmail.com. Če uporabljate različne storitve, naredite ustrezne spremembe.
Za spodnje ukaze $ odprite terminalsko okno na MacBooku in se prijavite v svoj Raspberry Pi.
Poskrbite, da bodo skladišča posodobljena:
$ sudo apt-get posodobitev
Namestite preproste pripomočke SSMTP in pošto:
$ sudo apt-get install ssmtp
$ sudo apt-get namestite mailutils
Uredite konfiguracijsko datoteko SSMTP:
$ sudo nano /etc/ssmtp/ssmtp.conf
kot sledi:
mailhub = smtp.gmail.com: 587 ime gostitelja = ♣ ime vašega gostitelja ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ geslo-gmail ♣ UseSTARTTLS = DA
Uredite datoteko vzdevkov SSMTP:
$ sudo nano/etc/ssmtp/revaliases
Ustvarite eno vrstico za vsakega uporabnika, ki bo lahko pošiljal e -pošto. Na primer:
root: ♣gmail-account♣@gmail.com: smtp.gmail.com: 587
Nastavite dovoljenja konfiguracijske datoteke SSMTP:
$ sudo chmod 664 /etc/ssmtp/ssmtp.conf
Dovoljenja za datoteko /etc/ssmtp/ssmtp.conf določajo, kdo bo lahko pošiljal e -poštna sporočila iz Raspberry Pi. Ta datoteka je privzeto v lasti uporabniškega korena in tudi skupina datoteke je root.
Uredite datoteko vzdevkov SSMTP, ki vsebuje podatke o e -poštnih računih:
$ sudo nano /etc/ssmtp/ssmtp.conf
Ko je zgornji postopek nastavitve in konfiguracije končan, ga preizkusite tako, da pošljete e -poštno sporočilo iz ukazne vrstice.
$ echo "zaprite garažna vrata" | poštni -s "Garažna vrata odprta" ♣celična-telefonska-številka♣@txt.att.net
Ustvarite skript, da preverite, ali so garažna vrata odprta, ko ne bi smela, in nato pošljite besedilno sporočilo.
$ sudo nano /usr/local/bin/garage.sh
in dodaj naslednje:
#!/bin/bash
# preverite, ali so garažna vrata odprta. # Če je odprto, pošljite opozorilo in pišite v syslog up = 0; vrata = $ (/home/pi/wiringPi/gpio/gpio preberite 3) če ["$ door" -eq "$ up"] potem zapisovalnik ♣ your -hostname ♣: Garage Door Open echo "zaprite garažna vrata" | mail -s "Garažna vrata odprta" ♣celična-telefon-@♣txt.att.net fi izhod 0
Nato dodajte crontab za zagon v zahtevanih urah:
$ sudo crontab –e
in dodaj:
# Ponoči vsako uro preverjajte, ali so garažna vrata odprta
0 22-23/1 * * * sudo /usr/local/bin/garage.sh 0 0-5/1 * * * sudo /usr/local/bin/garage.sh
Če vse deluje, pojdite na naslednji korak.
Korak: Postavite Raspberry Pi v skrivno knjigo
Malinovo pi daj v skrivno knjigo. To sem dobil pri Michaelu za približno 7 dolarjev. Izrezal sem nekaj majhnih lukenj za žice in napajalni kabel.
13. korak: Dodatek: Reference
SunFounder 2 -kanalni 5V relejni ščitni modul za Arduino UNO 2560 1280 ARM PIC AVR STM32
- 5V 2-kanalna relejna vmesniška plošča in vsaka potrebuje 15-20mA
- Gonilni tok Opremljen z visokotokovnim relejem, AC250V 10A; DC30V 10A
- Standardni vmesnik, ki ga je mogoče neposredno upravljati z mikrokrmilnikom (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logika)
- LED indikacije za stanje izhoda releja Povezava za prenos dokumenta:
14. korak: Dodatek: Posodobitve
21. FEB2016
-
V prvotnih navodilih je prišlo do težav s samodejnim popravljanjem, oblikovanjem in jasnostjo navodil.
- Primer težave je, ko se dvojni narekovaji v kodi spremenijo v nekaj, kar je videti kot poševno narejeno. Če pa to izrežete in prilepite v skript, ne bo delovalo.
- Urejevalnik, ki ga je mogoče poučiti, rad samodejno popravlja, zato se wlan obrne na načrt, samodejno odstranjevanje pa se samodejno odstrani. Te spremembe je težko opaziti.
- Nekatera moja navodila morda niso bila dovolj jasna.
- Običajno kotne oklepaje uporabljam kot indikator za nekaj, kar je treba zamenjati. Urejevalnik jih pretvori v html. Tako sem prešel na oglate oklepaje, vendar lahko to povzroči težave, ker izgledajo kot koda. Tako sem se končno odločil za ♣ kot indikator za zamenjavo z dejansko vrednostjo.
- Sčasoma sem nekatere skripte tudi izboljšal.
- Urejeno 21-26
03APR2016
- Ustvaril dodatek z odpravljanjem težav, referencami in posodobitvami (koraki 27-29)
- Odpravljanje težav je bilo premaknjeno v Dodatek iz prejšnjega koraka 2
- Stran za odpravljanje težav je bila posodobljena in abecedna
- Ime datoteke je spremenjeno iz test2wifi.sh v garage.sh - samo bolj opisno.
- Posodobljen cron za uporabo garage.sh
- Urejeno 1, 20-26 (Ustvarite zagonsko storitev, da stopite pred dodatek)
04APR2016
- Korake 2-11 in 16-20 sem zamenjal z mojim standardom nastavitve Raspberry Pi
- Posodobljen seznam delov, 1. korak
- Dodane/združene fotografije
05APR2016
Poenostavljeno spletno mesto in slika (koraka 4 in 5)
01. MAJ 2016
Dodano odpravljanje težav za senzor Seco-larm/malina Pi
01. MAJ 2016
Predhodne spremembe niso bile pravilno shranjene?
11NOV2016
- Posodobljeno na AT&T GigaPower in usmerjevalnik spremenjen v 5268ac
- 5268ac ne podpira povratne zanke, zato strežnik Garage Opener ni dostopen iz računalnikov v LAN -u. Če želite MacBook dostopati do spletnega strežnika za odpiranje garaž, naredite naslednje:
$ sudo nano /etc /hosts
in dodaj vrstico
192.168.1.64 "ime strežnika-zunanje-domene"
Shrani in zapri, CTRL-o, CTRL-x
$ sudo killall -HUP mDNSResponder
-
Vgrajena pravila za posredovanje vrat 5268ac, na primer strežnik HTTPS, strežnik HTTP in spletni strežnik, ne delujejo. Če želite posredovanje vrat delovati:
- Odprite brskalnik in pojdite na 192.168.1.254
- Vpiši se
- Izberite Nastavitve, Požarni zid, Aplikacije, luknjice in DMZ.
- Izberite spletni strežnik za odpiranje garaž
- Izberite Uporabniško določeno
-
Kliknite novo uporabniško določeno aplikacijo
- V Ime profila aplikacije vnesite: PortForwarding
-
V Ustvarjanje definicije aplikacije dodajte vsako od naslednjih možnosti in kliknite Dodaj na seznam:
- TCP od 80 do 80, zemljevid do vrat gostitelja 443
- TCP od 443 do 443 zemljevid do gostiteljskih vrat 443
- UDP od 443 do 443, zemljevid do vrat gostitelja 443
- UDP od 80 do 80, zemljevid do gostiteljskih vrat 443
- Kliknite nazaj
- Znova izberite svoj spletni strežnik
- Izberite Uporabniško določeno
- Dodajte PortForwarding
- Kliknite Shrani
21. JAN2018
- Posodobljeno na Raspberry Pi 3
- Več sprememb korakov
- Posodobljeni nekateri deli in cene
15. korak: Dodatek: Odpravljanje težav
Uporabljen prostor na disku
Zadnja vrstica prikazuje skupno porabo prostora na disku. SD kartica ima 8 GB.
$ cd../..
$ sudo du –hx –c
E-naslov
Če imate težave, poskusite to:
$ echo "test" | sendmail -v ♣vaš-gmail-račun♣@gmail.com
Če je e -pošta pravilno nastavljena, morate v svoj gmail račun prejeti e -pošto.
Če pride do napake pri preverjanju pristnosti:
Morda boste morali zmanjšati varnost svojega računa. Zmanjšanje varnosti pa NI priporočljivo. Google bo poslal e -poštno sporočilo s povezavo do nižje varnostne nastavitve.
Iz trenutnega bralnika e -pošte lahko preklopite na www.gmail.com za dostop do računa (priporočeno) ali spremenite nastavitve na naslovu https://www.google.com/settings/security/lesssecu…, tako da vaš račun ne bo več zaščiteni s sodobnimi varnostnimi standardi.
Ne priporočam zniževanja vaših varnostnih standardov.
Če pride do napake pri avtorizaciji:
Najverjetnejši vzrok za to je, da ste v datoteki /etc/ssmtp/ssmtp.conf podali napačno uporabniško ime ali geslo za svoj račun gmail. Dvakrat preverite vrednosti polj AuthUser in AuthPass.
Če med obdelavo izgubite povezavo:
Verjetno ste določili napačna vrata za Googlov smtp nekje v /etc/ssmtp/ssmtp.conf ali v/etc/ssmtp/revaliases.
Preverite zadnje vrstice dnevnikov. Tam bi moralo biti nekaj ustreznih sporočil o napakah:
$ tail /var/log/mail.log
$ tail/var/log/syslog
Garažna vrata se ne odprejo
Če je vse delovalo in se je ustavilo, poskusite znova zagnati. Če to ne deluje, izvlecite napajalni kabel iz Raspberry Pi in nato obnovite napajanje. Raspberry Pi bi se moral znova zagnati v manj kot 2 minutah in vse bi moralo delovati v redu. Običajno je to posledica izgube električne energije na stanovanjskem prehodu.
GPIO
Če gre kaj narobe, je najboljši način, da vidite, kaj se dogaja, z naslednjim ukazom:
$ gpio readall
Prijavite se v malinovo pi iz MacBook -a
terminal je pripomoček MacBook: disk/aplikacije/pripomočki/terminal. Aplikacijo terminala hranim na pomolu.
Na MacBook -u odprite terminal
$ ssh pi@♣ malina-pi-ip ♣
♣ geslo ♣
Prijavite se v stanovanjski prehod
V MacBooku odprite brskalnik
URL = ♣ malina-pi-ip ♣
Prijava: ♣ geslo za prehod ♣
Dnevniki
Če gre kaj narobe, v teh dnevnikih preverite napake, opozorila ali druge težave.
$ cat/var/log/messages
$ cat/var/log/syslog $ cat/var/log/dmesg
Imenik MAC
Imenik na MacBooku, kjer so shranjene datoteke spletnih mest
Imenik MAC =/Uporabniki/♣ moj macbook ♣/Namizje/Domača stran z možnostjo wi-fi/Odpirač garažnih vrat z wifi/Spletna stran
Geslo
Geslo = ♣ malina-pi-geslo ♣
Uporabljeni RAM in CPU
$ top
CTRL-c za izhod
Domači imenik Raspberry Pi
$ pwd
/home/pi
Ime gostitelja Raspberry Pi
$ ime gostitelja
ime gostitelja = ♣ ime gostitelja ♣
Raspberry Pi IP
♣ malina-pi-ip ♣ = 192.168.1.93
Imenik spletnih mest Raspberry Pi
/var/www
Seco-larm preneha delovati
1. MAJA 2016 je Seco-larm prenehal delovati. Senzor je že tretjič prenehal delovati. Če želite to pravilno povedati, je fizični pin 15 na Raspberry Pi prenehal zaznavati vhod 3.3V. Poskusil sem fizične zatiče 1 in 17 3.3v, oba pa sta še vedno oddajala 3.3v. Prešel sem s fizičnega pin 15 na drug GPIO, fizični pin 16 (GPIO 4) in spet je začel delovati. Torej s Seco-larmom ni nič narobe. Zdi se, da je težava v Raspberry Pi GPIO.
GPIO 3, fizični pin 15 je mrtev. To je zelo dobra objava o tem, kako preizkusiti zatiče GPIO.
Iz GPIO 3 sem prešel na GPIO 4 in ustrezno spremenil kodo. Nisem prepričan, zakaj je GPIO pin prenehal delovati. Tu sta možna dva razloga:
- Senzor Seco-larm imam nameščen, tako da ko so vrata zaprta, oddaja napetost 3,3 V. Garažna vrata se pogosteje zapirajo, kot so odprta. Morda pin GPIO ne more sprejeti bolj ali manj konstantnega vhoda 3.3v.
- Napaka je sovpadala z izpadom električne energije, morda je prišlo do povečanja moči.
U-verse Residential Gateway
Imam AT&T U-verse z Residential Gateway, vendar bi morala delovati vsaka storitev.
Če se U-verse Gateway znova zažene ali izgubi moč, bo morda treba znova zagnati Raspberry Pi.
U-verse stanovanjski prehod Public IP = ♣ router's-public-ip ♣
Javni IP stanovanjskega prehoda U-verse se lahko spremeni, vendar se to zgodi zelo redko
Domača stran U-verse Residential Gateway = 192.168.1.254
SSID brezžične dostopne točke usmerjevalnika U-verse = ♣ ssid ♣
Prenos WiFi je počasnejši od pričakovanega
Spremenite usmerjevalnik na manj uporabljan kanal. Privzeto vsi ponudniki tokokrogov prilagodijo wifi vsakogar na kanal 1. Preklopite na manj uporabljan kanal, na primer na 11. Poskusite uporabiti liho število.
Opomba: Nekaj sosedov sem povedal, kaj sem naredil za izboljšanje wi-fi-ja in zdaj so vsi na 9 ali 11, zato sem se vrnil na 1. Vedno morate uporabiti lih kanal.
Odprite brskalnik.
Za U-verse v polje URL vnesite 192.168.1.254.
Kliknite Brezžična povezava in izberite kanal 6 ali 11.
Obstaja aplikacija za pametni telefon, imenovana wifi analyser. Eden od zaslonov prikazuje vse bližnje dostopne točke wifi, ki oddajajo na določenem kanalu. V moji okolici so vsi nastavljeni na 1. kanal.
Odklopite Raspberry Pi in nato obnovite napajanje
Priporočena:
Vdor v vaša garažna vrata: 5 korakov
Hack Your Garage Door: Kdo si ni sanjal, da bi šel domov samo s telefonsko aplikacijo ali da bi lahko poslušal in ponovno kopiral podatkovne tramvaje? Vesel sem, da lahko z vami delim, kaj sem spoznal in kako sem nadaljeval. Ta projekt sem začel, ko sem drugič pozabil ključe.
Garažna vrata z nadzorom Alexa z Arduino Esp8266: 6 korakov
Garažna vrata z nadzorom Alexa z Arduinom Esp8266: Ideja za ta projekt se mi je porodila iz starega projekta, na katerem sem delal pred časom. Priključil sem preprosto stikalno vezje, ki bi prižgalo LED, ko bi na garažna vrata pritisnili gumb. Ta metoda se je izkazala za nezanesljivo in ni tako uporabna
Nevidni daljinski upravljalnik za garažna vrata: 7 korakov (s slikami)
Nevidni daljinski upravljalnik za garažna vrata: Nekoč smo avto pustili parkiran pred garažo in tat je razbil okno, da bi prišel do daljinskega upravljalnika garažnih vrat. Nato so odprli garažo in ukradli nekaj koles. Zato sem se odločil, da daljinec skrijem tako, da ga vgradim v avtomobilski pepelnik. Deluje do
Brezžična različica Ali so moja garažna vrata odprta ali zaprta?: 7 korakov
Brezžična različica … Ali so moja garažna vrata odprta ali zaprta?: Želeli smo preprost, poceni in zanesljiv sistem označevanja, ki nam je pokazal, ali so naša garažna vrata odprta ali zaprta. Obstaja veliko " Ali so moja garažna vrata odprta " projekti. Večina teh projektov je trdno povezana. V mojem primeru zagnano
Glasovno upravljane luči za skuterje in garažna vrata: 6 korakov
Glasovne luči za skuterje in garažna vrata: Pozdravljeni! Pred kratkim sem kupil električni skuter, vendar ni imel zadnje luči niti vgrajenega odpirača garažnih vrat … IZNENAD !! (ノ ゚ 0 ゚) ノ ~ Zato sem se odločil, da namesto da bi jih kupil, naredim lastne daljinske in zadnje luči za garažna vrata