Turinys:
- 1 žingsnis: Surinkite dalis
- 2 veiksmas: nustatykite „Raspberry Pi“be monitoriaus ar klaviatūros
- 3 veiksmas: įdiekite „Wiring Pi“, „Apache“ir PHP
- 4 žingsnis: svetainė
- 5 žingsnis: svetainės vaizdas
- 6 veiksmas: nuotoliniu būdu valdykite interneto serverį
- 7 žingsnis: Prijunkite grandinę prie „Raspberry Pi“
- 8 veiksmas: sukurkite paleisties paslaugą
- 9 veiksmas: pritvirtinkite „Raspberry Pi“prie garažo
- 10 veiksmas: pritvirtinkite Raspberry Pi prie SECO-LARM
- 11 veiksmas: siųskite įspėjimą, jei durys atidarytos, kai jos turėtų būti uždarytos
- 12 veiksmas: įdėkite „Raspberry Pi“į slaptą knygą
- 13 žingsnis: Priedas: Nuorodos
- 14 žingsnis: Priedas: Atnaujinimai
- 15 žingsnis: Priedas: Trikčių šalinimas
Video: „Raspberry Pi 3“garažo durų atidarytuvas: 15 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šią instrukciją sukūriau 2014 m. Nuo to laiko daug kas pasikeitė. 2021 metais čia atnaujinau „Smart Garage Door Opener“.
Naudokite „Raspberry Pi“ir išmanųjį telefoną, kad atidarytumėte, uždarytumėte ir stebėtumėte garažo duris. Durų atidarymas ir uždarymas užtikrinamas naudojant savarankiškai pasirašytus sertifikatus, įdiegtus šeimos mobiliuosiuose telefonuose. Jei garažo durys atidarytos, kai to neturėtų būti, tada siųskite tekstinį pranešimą (SMS) į mobilųjį telefoną.
Garažo vartai buvo nuolat naudojami nuo 2014 m. Pabaigos. Bėgant metams stengiausi nuolat atnaujinti pakeitimus. Yra priedas, kuriame aprašomi nurodymų pakeitimai.
Šio projekto tikslai yra šie:
- Padarykite savo pirmąjį pamokomą - neplanavau to paskelbti, bet gavau daug prašymų
- Atidarykite garažo duris naudodami standartinį nuotolinio valdymo pultą
- Atidarykite garažo duris su sieniniu durų skambučio garažo atidarytuvu
- Atidarykite garažo duris naudodami išmanųjį telefoną
- Stebėkite garažo durų būseną nuotoliniu būdu per mobilųjį telefoną ar nešiojamąjį kompiuterį (ar jis atidarytas ar uždarytas?)
- Siųsti tekstinį pranešimą į mano mobilųjį telefoną, jei durys atidarytos, kai jos turėtų būti uždarytos
- Saugokite garažo duris (pvz., Dingus elektrai, durys neturėtų atsidaryti)
- Neleiskite niekam kitam tinkle esančiam asmeniui atidaryti duris (dvipusis SSL sertifikatas)
- Vietoj laidinio ryšio naudokite „WiFi“
- Naudokite „Raspberry Pi 3“
Šio garažo vartų atidarymo pagrindas buvo gautas iš „Instructable: Raspberry Pi“garažo durų atidarytuvo. Iš pradžių aš naudoju modelį B+ Raspberry Pi, tada perėjau prie Raspberry Pi 2 modelio B, o dabar jis naudoja Raspberry Pi 3.
Bendraudamas su „Raspberry Pi“naudojau „MacBook“, tačiau galima naudoti bet kurį kompiuterį.
Nėra įtikinamos priežasties kurti šį įrenginį, bet tai buvo smagu. Tai ekonomiškiau pirkti. Panašų įrenginį galima įsigyti už maždaug 130 USD.
- Kėlimo meistras 828LM
- Chamberlain MyQ 129 USD
- „GoGo Gate“179 USD
- Amatininkas 100 USD
Pastabos:
- Tekstas, įtrauktas į kastuvus, toks kaip „pakeisti-tai“, turėtų būti pakeistas faktine verte
- „Arduino“pabrauktas mėlynas tekstas yra nuoroda. Šiuo atveju tai yra nuoroda į garažo durų atidarytuvo arduino versiją.
- Aš bandžiau įskaityti visus panaudotus šaltinius. Atsiprašau už bet kokius praleidimus. Dauguma šio dokumento yra pagrįsti kitų žmonių darbais.
- $ reiškia komandą, įvykdytą „MacBook“terminalo lange ir paprastai vykdoma naudojant „Raspberry Pi“
1 žingsnis: Surinkite dalis
Pirkite arba surinkite dalis ir įrankius (kainos USD).
- „Raspberry Pi 3“modelio B „Newark“elementas
- 5.2V 2.5A USB maitinimo adapteris iš „Amazon“9,99 USD
- „Micro USB“į USB kabelį 6 pėdų atstumu nuo „Amazon“7,99 USD
- Dėklas iš „Amazon“6,99 USD
- „SanDisk Ultra“16 GB „microSDHC Class 10“su adapteriu (SDSQUAN-016G-G4A) iš „Amazon“8,99 USD
- „SunFounder“2 kanalų 5 V relės skydo modulis „Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi“- 6,79 USD
- 3x moterų-moterų jungiamieji laidai. Pirktas „Fry's“už 4,95 USD.
- Dinaminis DNS 40 USD per metus 30 vardų (dyn.com)
- 1-gauja 18 kub. "Old Work Heavy Wall" jungiklis ir išleidimo dėžutė, 3,12 USD
- „Ultra Pro“vieno šepetėlio balta sieninė plokštė, 7,88 USD
- SECO-LARM SM 226L, garažo durų jutiklis, kaina labai skiriasi, 9,99 USD „Amazon“su nemokamu pristatymu
- 50 pėdų kieto termostato laido, „Home Depot“arba „Lowe“, ~ 20 USD
Mano bendra suma: ~ 172,00 USD
Turėjau šias dalis, įrankius ir paslaugas:
- CAT5 eterneto kabelis
- Mažo skersmens viela, 6 pėdų ilgio
- „Phillips“galvos atsuktuvas
- Adatos nosies replės
- Dėžutės pjaustytuvai
- Juvelyrų plokščiagalvis atsuktuvas, reikalingas atlaisvinti relės varžtus
- „MacBook“(galima naudoti kompiuterį)
- „AT&T GigaPower“(galima naudoti bet kurį interneto paslaugų teikėją)
2 veiksmas: nustatykite „Raspberry Pi“be monitoriaus ar klaviatūros
Visi „Raspberry Pi“projektai reikalauja tam tikros sąrankos. Man patinka naudoti tą patį instrukcijų rinkinį ir, jei reikia, turėti vieną vietą atnaujinti tas instrukcijas.
Nustatykite „Raspberry Pi“naudodami šią instrukciją:
Nustatykite „Raspberry Pi“be monitoriaus ar klaviatūros
Aukščiau paminėtame priede yra pasirenkami veiksmai. Būtinai atlikite šiuos veiksmus:
Pridėkite kliento pusės sertifikatus prie žiniatinklio serverių
Išjunk Raspberry Pi
$ sudo išjungimas -h 0
Išjungę, pašalinkite
- eterneto kabelis
- USB nuoseklusis kabelis
Šių nebereikės. Naudokite „Wi -Fi“, „ssh“ir „Mac Book“terminalo langą, kad paleistumėte komandas „Raspberry Pi“.
Atjunkite maitinimą ir vėl įjunkite maitinimą, o „Raspberry pi“turėtų būti paleistas iš naujo.
3 veiksmas: įdiekite „Wiring Pi“, „Apache“ir PHP
Įdiekite „Wiring Pi“
„Mac Book“atidarykite terminalo langą. Prisijunkite prie „Raspberry Pi“, tada atsisiųskite, sukompiliuokite ir įdiekite „Wiring Pi“. Ši programinė įranga leidžia valdyti GPIO kaiščius. Čia yra žingsnis po žingsnio vadovas:
wiringpi.com/download-and-install/
Čia yra sutrumpinta instrukcijų versija:
$ ssh pi@♣ aviečių-pi-ip ♣
slaptažodis: ♣ slaptažodis ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build
Norėdami patikrinti diegimą, paleiskite komandą gpio:
$ gpio -v
gpio versija: 2.29 Autorių teisės (c) 2012-2015 Gordonas Hendersonas Tai nemokama programinė įranga be jokių garantijų. Išsamesnės informacijos tipas: „gpio“-garantija „Raspberry Pi“Išsami informacija: tipas: 2 modelis, peržiūra: 1.1, atmintis: 1024 MB, gamintojas: „Sony“[OV] Įrenginių medis įgalintas. Šis „Raspberry Pi“palaiko vartotojo lygio GPIO prieigą. -> Daugiau informacijos rasite žmogaus puslapyje $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Pavadinimas | Režimas | V | Fizinis | V | Režimas | Pavadinimas | 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 | Pavadinimas | Režimas | V | Fizinis | V | Režimas | Pavadinimas | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+
Aukščiau pateiktos komandos turėtų suteikti jums tam tikrą pasitikėjimą, kad „wiringPi“veikia gerai.
Įdiekite „Apache“ir PHP
Vykdykite šias komandas:
$ cd..
$ sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5
Norėdami patikrinti, ar žiniatinklio serveris veikia, atidarykite naršyklę ir URL lauke įveskite:
„Aviečių-pi-ip“
Numatytoji „Apache“svetainė atsako „Tai veikia!“
4 žingsnis: svetainė
„Mac Book“atidarykite terminalo langą. Prisijunkite prie „Raspberry Pi“, tada pašalinkite numatytąjį index.html failą, pakeiskite leidimus svetainės kataloge ir redaguokite failą pavadinimu index.php.
$ ssh pi@♣ aviečių-pi-ip ♣
slaptažodis: ♣ slaptažodis ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root/var/www $ sudo nano /var/www/index.php
Ir įveskite šį kodą:
Garažo atidarytuvas
Namų automatika |
---|
Garažo durų atidarytuvas | Garažo durų atidarymo vadovas | uždaryta 1 | atidaryti 0 |
CTRL-o ir ENTER, kad parašytumėte failą, ir CTRL-x, jei norite išeiti iš redaktoriaus.
Pakeiskite failo leidimus
$ sudo chmod 664 /var/www/index.php
5 žingsnis: svetainės vaizdas
Patraukite didelės raiškos nuotolinį garažo durų atidarytuvą iš interneto. Pakeiskite vaizdą taip, kaip norėtumėte, naudodami „Mac“teptuką. Aukščiau esančiame paveikslėlyje buvo naudojamas didelės skiriamosios gebos „Genie Garage Opener“, pridėtas aviečių pi logotipas ir pašalintas šviesos diodas.
Vienas vaizdas yra fonas (remote-background.jpg), o kitas-aktyvus vaizdas (remote-press.jpg).
Planas buvo toks, kad paspaudus mygtuką, užuot mirksėjęs šviesos diodas, mirksi avietė. Supaprastinau svetainę.
Nukopijuokite vaizdus į aviečių pi:
$ scp *-j.webp
slaptažodis: „slaptažodis“
Svetainėje yra vienas mygtukas. Norėdami patikrinti, atidarykite naršyklę ir įveskite ♣ raspberry-pi-ip ♣. Vietoj numatytosios „Apache“svetainės, kurioje sakoma „Tai veikia!“, Turėtų pasirodyti mygtukas. Paspauskite jį.
6 veiksmas: nuotoliniu būdu valdykite interneto serverį
Kad būtų lengva pasiekti garažo durų atidarytuvą iš tolimos vietos, naudoju dinamišką DNS pavadinimą. Nes man nepatinka prisiminti IP adresus.
Naudodamas šią funkciją naršyklės URL laukelyje įvedu ♣ dynamic-hostname ♣.getmyip.com. Pastaba: namų maršrutizatorių IP gali pasikeisti be įspėjimo, tačiau tai atsitinka retai. Aš nusprendžiau naudoti „DynDNS“. Turite žinoti savo maršrutizatoriaus viešąjį IP adresą.
„U-Verse“maršrutizatoriaus IP: „uvers-public-ip“
Galite peržiūrėti pagrindinio kompiuterio pavadinimus ir išsamią „DynDNS Pro“paskyros informaciją. Štai keli patarimai, kaip pradėti:
-
Sukurkite dinaminio DNS pagrindinio kompiuterio pavadinimą (1 iš 30):
- „Dinaminis pagrindinio kompiuterio pavadinimas“
- Atnaujintojo raktas: „Dinaminis-ip-atnaujinimo raktas“
-
Įdiekite naujinimo klientą, kad įsitikintumėte, jog jūsų prieglobos serverio vardas visada nurodomas teisingu IP adresu.
- Atsisiųskite ir įdiekite „MacBook“
- „AT&T U“versijos IP retai keičiasi, todėl aukščiau pateiktą atnaujinimo priemonę galima paleisti, kai ji pasikeičia
-
Vykdykite nurodymus:
- Pridėti paskyrą
- Įveskite vartotojo vardą ir slaptažodį: ♣ dynamic-ip-username ♣ ♣ dynamic-ip-password ♣
- Pasirinkite pagrindinio kompiuterio pavadinimą
- Spustelėkite Konfigūruoti pasirinktus kompiuterius
- Šeimininkas turėtų tapti aktyvus
-
Konfigūruokite savo tinklą, kad jis galėtų pasiekti jūsų įrenginį iš interneto. Galite naudoti mūsų „Dyn Wizard“, kad gautumėte bendrąsias instrukcijas, kaip tai padaryti, naudoti išteklius, tokius kaip „PortForward.com“, arba kreiptis pagalbos į įrenginio gamintoją.
- AT&T eilėraštis
- 2 laidų 3801HGV prievadų peradresavimas-tai mano turimas „AT&T U-Verse“maršrutizatorius. Žiūrėkite priede pateiktus atnaujinimus, kaip perkelti AT&T U-verse 5268ac maršrutizatorių.
- Atidarykite naršyklę ir eikite į „Raspberry-pi-ip“
- Slaptažodis: „slaptažodis“
- Nustatymai
-
Ugniasienė
- Pasirinkite ♣ aviečių-pi-pagrindinio kompiuterio pavadinimas ♣
-
Serveriai
- Žiniatinklio serverio prievadas 80
- HTTPS serveris - 443 prievadas
- Papildyti
- Sutaupyti
Kai tai bus padaryta, žiniatinklio serveris veiks iš interneto. Norėdami patikrinti, įveskite ♣ dynamic-hostname ♣ ir pamatysite garažo vartų atidarymo mygtuką.
7 žingsnis: Prijunkite grandinę prie „Raspberry Pi“
Pateiktam kodui (4 ir 6 veiksmai) naudojau GPIO kaištį 7. Atsitiktinai GPIO 7 yra tas pats kaip wiringPi kaištis 7. PHP kode naudojami laidų Pi kaiščių numeriai, o ne GPIO kaiščių numeriai. Galite naudoti bet kurį norimą, bet būtinai pakeiskite kodą.
Bandžiau naudoti susuktą vielą, tačiau relė blogai laikosi ant susuktos vielos. Kieta viela geriau.
Pirmuoju bandymu sukūriau tris jungiamuosius kabelius (nuo moterų iki vyrų).
- Naudokite tris trumpiklius nuo moterų iki moterų
-
Iškirpkite tris vientisos vielos gabalus iki maždaug 1 colio.
Juostelė 1/4 colio ant abiejų tvirtos vielos galų
- Įkiškite vieną tvirtą laidą į vieną jungiamąjį kabelį.
Čia yra geresnis būdas sukurti jungiamuosius kabelius (nuo moterų iki vyrų):
- Naudokite tik tvirtą laidą
- Iškirpkite tris 4 colių vientisos vielos gabalus
- Juostelė 1/4 colio ant abiejų tvirtos vielos galų
-
Naudokite jungiamuosius kaiščius
-
Pastumkite vieną jungiamąjį kaištį ant vientisos vielos galo ir užspauskite
Patelė neturėtų atsilaisvinti, jei reikia, lituokite
- Pastumkite įtempimą per jungiamąjį kaištį arba dangtelį su elektriko juosta
-
Prijunkite relę prie pi, kaip parodyta diagramoje:
- Prijunkite kabelio galą prie Raspberry Pi kaiščio.
- Įkiškite tvirtą laidą į relę.
8 veiksmas: sukurkite paleisties paslaugą
Dauguma relių, įskaitant įsigytą, veikia taip:
- Kai signalas įjungtas, grandinė lieka išjungta.
- Kai signalas išjungtas, grandinė įjungta.
Jei „Raspberry Pi“praranda galią, relė turi saugos mechanizmą, kuris išjungia grandinę.
Problema gali kilti, kai „Rapberry Pi“ir relė atgauna maitinimą, tačiau dar nepasibaigus „Raspberry Pi“paleidimui įjungti signalą, kurio reikia, kad grandinė nebūtų išjungta. Ryte galite pabusti atidarę garažą ir galbūt keletą naujų draugų!
Tačiau relė iš tikrųjų nepradeda veikti, kol GPIO kaiščio režimas nenustatytas naudojant šią komandą: „gpio mode 7 out“. Be to, jei GPIO kaištis įjungtas (gpio write 7 1) prieš nustatant GPIO režimą, inicijavus relė liks išjungta.
Jei norite, kad šis inicijavimas vyktų įkrovos metu ir nepabustų naujų draugų, naudokite šį paleidimo scenarijų.
$ ssh pi@♣ aviečių-pi-ip ♣
$ sudo nano /etc/init.d/garagerelay
Tada įklijuokite šį scenarijų:
#! /bin/bash
# /etc/init.d/garagerel 1 #Paleiskite „Gpio“/usr/local/bin/gpio režimą 7; stop) aidas "Stoping gpio";; *) echo "Naudojimas: /etc/init.d/garagerelay {start | stop}" išėjimas 1;; esac išėjimas 0
Norėdami išsaugoti: CTRL-o, ENTER
Norėdami išeiti iš „nano“, paspauskite CTRL-x
Padarykite failą vykdomąjį:
$ sudo chmod +x /etc/init.d/garagerelay
Dabar pasakykite savo pi, kad paleistumėte šį scenarijų įkrovos metu:
$ sudo update -rc.d -f garagerelay start 4
(Pastaba: galite saugiai ignoruoti įspėjimą „trūkstamų LSB žymų“.)
Įsitikinkite, kad paleisties scenarijus veikia
$ sudo perkraukite
Atidarykite naršyklę ir spustelėkite atidarytuvą. Relė turėtų spustelėti.
9 veiksmas: pritvirtinkite „Raspberry Pi“prie garažo
Perkeldami „Raspberry Pi“, būtinai paleiskite:
$ išjungimas -h 0
Galbūt norėsite išjungti garažo maitinimą. Taigi, durų skambučio atidarytuvas jūsų neužmuša elektra:). Tikroji priežastis yra ta, kad kiekvieną kartą sutrumpinus laidus, durys pakils aukštyn ir žemyn.
Atsukite varžtus nuo durų skambučio tipo atidarytuvo, kuris pritvirtina durų skambutį prie sienos.
Iš garažo už durų skambučio atidarytuvo padarykite skylę į namo vidų. Teksase „Raspberry Pi“neturėtų būti garaže, o temperatūros svyravimai garaže skiriasi nuo „Raspberry Pi“veikimo specifikacijų.
Praleiskite relės laidus per skylę (naudokite pakabą).
Atsukite abu varžtus, esančius galinėje durų skambučio atidarytuvo pusėje.
Pašalinkite abu relės laidų galus: 1) apie 1/8 colio relės pusės ir apie ½ colio durų skambučio pusėje. Sulenkite vielos durų skambučio pusę į pusę kilpą, pakankamai didelę, kad tilptų aplink galinį varžtą.
Prijunkite vieną relės laidą prie kiekvieno varžto, esančio galinėje durų skambučio pusėje, ir priveržkite varžtą. Sujungimai yra tokie, kaip parodyta paveikslėlyje. Kadangi relė izoliuoja grandinę, kryptis net nesvarbu, kuri relė yra pritvirtinta prie kokio varžto.
10 veiksmas: pritvirtinkite Raspberry Pi prie SECO-LARM
Kol nebaigiau kodo, mes su šeima atostogavome ir aš atidariau naršyklę. Paskutinis mano naršyklės vaizdas buvo garažo vartų atidarytuvas - puslapis atnaujintas ir atidarytos garažo durys. Po kelių dienų paskambino kaimynas ir paklausė, ar garažo durys turi būti atidarytos? Laimei, galėjau jį uždaryti iš 500 mylių.
Šis užkandis privertė mane pakeisti kodą, kad taip neatsitiktų, ir pridėti prie svetainės jutiklį ir garažo durų būseną.
Tai nuoroda į originalią instrukciją, kaip pridėti jutiklį. Tačiau, atsižvelgiant į viską, kas jau baigta, jutiklio įdiegimą galima labai supaprastinti ir vietoj „python“pridėti porą kodo eilučių į index.php.
closedMagnetas pritvirtintas prie kairės, viršutinės garažo vartų vidaus pusės, o jutiklis-prie garažo sienos. Taigi, aš turėjau paleisti tvirtą termostato laidą iš jutiklio atgal į aviečių pi. Tam reikėjo skylės iš garažo į palėpę ir iš palėpės į sieną, kurioje yra garažo durų atidarytuvas (durų skambučio jungiklis).
Įdėjau mėlyną jungiamąją dėžę tarp SECO-LARM jutiklio ir kietų laidų.
Mano namuose yra 18 colių tarpas tarp pirmo aukšto lubų ir antro aukšto apačios. Manau, kad čia yra šildymo ir aušinimo kanalai. Man reikėjo pakankamai ilgo grąžto pratęsimo, kad galėčiau eiti per antrą aukštą ir per viršutinę 2x4 (viršutinę plokštę), kurioje yra durų skambutis.
Svarbiausia yra tai, kad gręžiant iš palėpės į vietą, kur laidai eis prie garažo durų atidarymo, NEGALIMA gręžti elektros. Tai ištaisyti nebuvo smagu. Matyti kibirkštis ir užgesinti šviesas buvo gana jaudinantis!
Jutikliui reikalingi du tvirti termostato laidai arba nematoma šunų tvoros viela.
„Raspberry Pi“turi kelis kaiščių aprašymus (BCM, wPi, fizinis). Kodas naudoja laidų pi kaiščių numerius. Norėdami pamatyti visus kaiščius, kaiščių atvaizdus ir kaiščių vertes, įveskite:
$ gpio skaityti
Norėdami gauti „gpio“vadovą, įveskite:
$ gpio vyras
Pradinėse instrukcijose „Physical Pin 9“yra įžemintas ir prijungiamas prie vieno iš SECO-LARM laidų. Tačiau man tai netinka. Vietoj to prijunkite laidus prie fizinių 15 ir 17 kaiščių
Fizinis kaištis 15 (wPi kaištis 3) pereina prie 3,3 V, kai SECO-LARM jutiklis yra uždarytas. Fizinis kaištis 17 yra 3.3v. Jei tai neveikia, perjunkite „SECO-LARM“jungtis.
Pritvirtinkite SECO-LARM prie garažo durų ir sienos. Paleiskite laidus ir prijunkite prie „Raspberry Pi“.
11 veiksmas: siųskite įspėjimą, jei durys atidarytos, kai jos turėtų būti uždarytos
Jei garažo durys atidarytos, kai to neturėtų būti, tada siųskite tekstinį pranešimą į mobilųjį telefoną.
Įdiekite ir sukonfigūruokite paprastą SMTP.
Turiu mobilųjį AT&T ir tekstiniams pranešimams naudoju ♣cell-phone-number♣@txt.att.net. Aš taip pat turiu „Gmail“paskyrą, o toliau pateiktame pavyzdyje naudojama ♣gmail-account♣@gmail.com. Jei naudojate skirtingas paslaugas, atlikite atitinkamus pakeitimus.
Norėdami gauti toliau nurodytas komandas $, atidarykite „MacBook“terminalo langą ir prisijunkite prie „Raspberry Pi“.
Įsitikinkite, kad saugyklos yra atnaujintos:
$ sudo apt-get atnaujinimas
Įdiekite paprastas SSMTP ir pašto paslaugas:
$ sudo apt-get install ssmtp
$ sudo apt-get install mailutils
Redaguokite SSMTP konfigūracijos failą:
$ sudo nano /etc/ssmtp/ssmtp.conf
taip:
mailhub = smtp.gmail.com: 587 pagrindinio kompiuterio vardas = ♣ jūsų prieglobos serverio vardas ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ gmail-slaptažodis ♣ NaudokiteSTARTTLS = TAIP
Redaguokite SSMTP slapyvardžio failą:
$ sudo nano/etc/ssmtp/revaliases
Sukurkite vieną eilutę kiekvienam vartotojui, kuris galės siųsti el. Pavyzdžiui:
šaknis: ♣gmail-account♣@gmail.com: smtp.gmail.com: 587
Nustatykite SSMTP konfigūracijos failo leidimus:
$ sudo chmod 664 /etc/ssmtp/ssmtp.conf
Failo /etc/ssmtp/ssmtp.conf leidimai nustato, kas galės siųsti el. Laiškus iš „Raspberry Pi“. Pagal numatytuosius nustatymus šis failas priklauso vartotojo root, o failo grupė taip pat yra root.
Redaguokite SSMTP slapyvardžio failą, kuriame yra duomenų apie el. Pašto paskyras:
$ sudo nano /etc/ssmtp/ssmtp.conf
Baigę aukščiau pateiktą sąrankos ir konfigūravimo procesą, išbandykite jį išsiųsdami el. Laišką iš komandinės eilutės.
$ echo "uždaryti garažo duris" | paštu -s "Garažo durys atidarytos" ♣cell-phone-number♣@txt.att.net
Sukurkite scenarijų, kad patikrintumėte, ar garažo durys atidarytos, kai to neturėtų būti, ir tada išsiųskite tekstinį pranešimą.
$ sudo nano /usr/local/bin/garage.sh
ir pridėkite:
#!/bin/bash
# patikrinkite, ar garažo durys atidarytos. # Jei atidarytas, siųsk įspėjimą ir rašyk į syslog up = 0; durys = $ (/home/pi/wiringPi/gpio/gpio skaityti 3) jei ["$ door" -eq "$ up"], tada registratorius ♣ jūsų -šeimininko vardas ♣: Garažo durų atidarymo aidas "uždaryti garažo duris" | paštas -s "Garažo durys atidarytos" ♣cell-phone-number♣@txt.att.net fi exit 0
Tada pridėkite „crontab“, kad jis veiktų reikiamomis valandomis:
$ sudo crontab –e
ir pridėkite:
# Naktį kas valandą patikrinkite, ar garažo durys atidarytos
0 22-23/1 * * * sudo /usr/local/bin/garage.sh 0 0-5/1 * * * sudo /usr/local/bin/garage.sh
Jei viskas veikia, pereikite prie kito žingsnio.
12 veiksmas: įdėkite „Raspberry Pi“į slaptą knygą
Įdėkite aviečių pi į slaptą knygą. Aš tai gavau Michael'e už maždaug 7 USD. Iškirpiau mažas skyles laidams ir maitinimo laidui.
13 žingsnis: Priedas: Nuorodos
„SunFounder“2 kanalų 5 V relės skydo modulis, skirtas „Arduino UNO 2560“1280 ARM PIC AVR STM32
- 5V 2 kanalų relės sąsajos plokštė, ir kiekvienai iš jų reikia 15-20 mA
- Vairuotojo srovė Įrengta didelės srovės relė, AC250V 10A; DC30V 10A
- Standartinė sąsaja, kurią galima tiesiogiai valdyti mikrovaldikliu („Arduino“, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logika)
- Indikacijos šviesos diodai, rodantys relės išvesties būseną Nuoroda, skirta atsisiųsti dokumentą:
14 žingsnis: Priedas: Atnaujinimai
21FEB2016
-
Pradinėse instrukcijose buvo problemų dėl automatinio taisymo, formatavimo ir nurodymų aiškumo.
- Pavyzdinė problema yra ta, kad dvigubos kabutės kode pakeičiamos į tai, kas atrodo kaip kursyvas. Tačiau, jei iškirpsite ir įklijuosite jį į scenarijų, jis neveiks.
- Pamokomas redaktorius mėgsta taisyti automatiškai, todėl Wlanas ima planuoti, o automatinis pašalinimas - automatiškai pašalinti. Šiuos pokyčius sunku pastebėti.
- Kai kurios mano kryptys gali būti nepakankamai aiškios.
- Paprastai aš naudoju kampinius laikiklius kaip indikatorių tam, ką reikia pakeisti. Redaktorius konvertuoja juos į html. Taigi, perėjau prie skliaustelių, tačiau jie gali sukelti problemų, nes jie atrodo kaip kodas. Taigi, aš pagaliau pasirinkau ♣ s kaip indikatorių pakeisti faktine verte.
- Laikui bėgant taip pat patobulinau kai kuriuos scenarijus.
- Redaguotas 21–26 veiksmai
2016 m
- Sukūrė priedą su trikčių šalinimu, nuorodomis ir atnaujinimais (27–29 veiksmai)
- Trikčių šalinimas perkeltas į priedą iš ankstesnio 2 veiksmo
- Atnaujintas ir pašalintas abėcėlės tvarka trikčių šalinimo puslapis
- Failo pavadinimas pakeistas iš test2wifi.sh į garage.sh - tik labiau apibūdinantis.
- Atnaujintas „cron“, kad būtų naudojamas „garage.sh“
- Redaguota 1, 20–26 (Sukurkite paleisties paslaugą, kurią reikia atlikti prieš priedą)
2016 m. Balandžio 04 d
- 2–11 ir 16–20 žingsnius pakeičiau mano standartu, kaip nustatyti „Raspberry Pi“
- Atnaujintas dalių sąrašas, 1 veiksmas
- Pridėtos/sujungtos nuotraukos
2016 05 05
Supaprastinta svetainė ir vaizdas (4 ir 5 veiksmai)
2016 M. GEGUŽĖS
Pridėtas „Seco-larm/aviečių Pi“jutiklio trikčių šalinimas
2016 M. GEGUŽĖS
Ankstesni pakeitimai nebuvo tinkamai išsaugoti?
2016 m. Lapkričio 11 d
- Atnaujinta į „AT&T GigaPower“ir pakeistas maršrutizatorius į 5268ac
- „5268ac“nepalaiko kilpos atgal, todėl „Garage Opener“serveris nepasiekiamas iš LAN tinkle esančių kompiuterių. Kad „MacBook“galėtų pasiekti garažo atidarytuvo žiniatinklio serverį, atlikite šiuos veiksmus:
$ sudo nano /etc /hosts
ir pridėkite eilutę
192.168.1.64 (serverio išorinio domeno vardas)
Išsaugoti ir išeiti, CTRL-o, CTRL-x
$ sudo killall -HUP mDNSResponder
-
„5268ac“integruotos prievadų peradresavimo taisyklės, pvz., HTTPS serveris, HTTP serveris ir žiniatinklio serveris, neveikia. Norėdami priversti uosto peradresavimą dirbti:
- Atidarykite naršyklę ir eikite į 192.168.1.254
- Prisijungti
- Pasirinkite Nustatymai, Ugniasienė, Programos, skylės ir DMZ.
- Pasirinkite garažo atidarytuvo žiniatinklio serverį
- Pasirinkite Vartotojo apibrėžta
-
Spustelėkite naują vartotojo apibrėžtą programą
- Programos profilio pavadinime įveskite: PortForwarding
-
Skiltyje „Sukurti programos apibrėžimą“pridėkite kiekvieną iš šių elementų ir spustelėkite Pridėti prie sąrašo:
- TCP nuo 80 iki 80, žemėlapis iki pagrindinio prievado 443
- TCP nuo 443 iki 443 žemėlapis iki pagrindinio 443 prievado
- UDP nuo 443 iki 443, žemėlapis iki pagrindinio 443 prievado
- UDP nuo 80 iki 80, žemėlapis iki pagrindinio prievado 443
- Spustelėkite atgal
- Iš naujo pasirinkite savo žiniatinklio serverį
- Pasirinkite Vartotojo apibrėžta
- Pridėti „PortForwarding“
- Spustelėkite Išsaugoti
2018 sausio 21 d
- Atnaujinta į Raspberry Pi 3
- Keletas žingsnių pakeitimų
- Atnaujintos kai kurios dalys ir kainos
15 žingsnis: Priedas: Trikčių šalinimas
Išnaudota vieta diske
Paskutinėje eilutėje rodoma visa naudojama disko vieta. SD kortelė turi 8 GB.
$ cd../..
$ sudo du –hx –c
paštą
Jei turite problemų, pabandykite tai padaryti:
$ echo "testas" | sendmail -v ♣your-gmail-account♣@gmail.com
Jei el. Paštas nustatytas teisingai, el. Laišką turėtumėte gauti savo „Gmail“paskyroje.
Jei jums nepavyksta autentifikuoti:
Gali tekti sumažinti paskyros saugumą. Tačiau nerekomenduojama sumažinti saugumo. „Google“atsiųs el. Laišką su nuoroda į mažesnio saugumo nustatymą.
Galite pereiti iš dabartinio el. Pašto skaitytuvo į svetainę www.gmail.com, kad pasiektumėte savo paskyrą (rekomenduojama), arba pakeisti nustatymus adresu https://www.google.com/settings/security/lesssecu…, kad jūsų paskyra nebebūtų naudojama. apsaugotas šiuolaikiniais saugumo standartais.
Nerekomenduoju mažinti saugumo standartų.
Jei įvyksta autorizacijos klaida:
Labiausiai tikėtina priežastis yra ta, kad faile /etc/ssmtp/ssmtp.conf nurodėte neteisingą „Gmail“paskyros vartotojo vardą ar slaptažodį. Dar kartą patikrinkite laukų „AuthUser“ir „AuthPass“reikšmes.
Jei ryšys nutrūksta apdorojimo metu:
Tikėtina, kad kažkur /etc/ssmtp/ssmtp.conf arba/etc/ssmtp/revaliases nurodėte netinkamą „Google“smtp prievadą.
Patikrinkite paskutines savo žurnalų eilutes. Ten turėtų būti keletas svarbių klaidų pranešimų:
$ tail /var/log/mail.log
$ tail/var/log/syslog
Garažo durys neatsidaro
Jei viskas veikė ir tiesiog sustojo, pabandykite iš naujo paleisti. Jei tai nepadeda, ištraukite maitinimo laidą iš „Raspberry Pi“ir vėl atjunkite maitinimą. „Raspberry Pi“turėtų perkrauti mažiau nei per 2 minutes ir viskas turėtų veikti gerai. Paprastai tai atsitinka dėl elektros energijos praradimo gyvenamuosiuose vartuose.
GPIO
Jei kas nors negerai, geriausias būdas pamatyti, kas vyksta, yra naudojant šią komandą:
$ gpio skaityti
Prisijunkite prie „Raspberry pi“iš „MacBook“
terminalas yra „MacBook“programa: diskas/programos/komunalinės paslaugos/terminalas. Terminalo programą laikau doke.
„MacBook“atidarykite terminalą
$ ssh pi@♣ aviečių-pi-ip ♣
„Slaptažodis“
Prisijunkite prie gyvenamojo tinklo šliuzo
„MacBook“atidarykite naršyklę
URL = ♣ aviečių-pi-ip ♣
Prisijungimas: „vartai-slaptažodis“
Rąstai
Jei kažkas negerai, patikrinkite, ar šiuose žurnaluose nėra klaidų, įspėjimų ar kitų problemų.
$ cat/var/log/messages
$ cat/var/log/syslog $ cat/var/log/dmesg
MAC katalogas
„MacBook“katalogas, kuriame saugomi svetainės failai
MAC katalogas =/Vartotojai/♣ mano „MacBook“♣/Darbalaukis/„Wi-Fi“įgalintas namas/„Wi-Fi“įgalintas garažo durų atidarytuvas/svetainė
Slaptažodis
Slaptažodis = p aviečių-pi-slaptažodis ♣
Naudota RAM ir procesorius
$ viršuje
CTRL-c, kad išeitumėte
„Raspberry Pi“namų katalogas
$ pwd
/home/pi
Raspberry Pi pagrindinio kompiuterio pavadinimas
$ hostname
pagrindinio kompiuterio vardas = ♣ pagrindinio kompiuterio vardas ♣
Raspberry Pi IP
♣ aviečių-pi-ip ♣ = 192.168.1.93
Raspberry Pi svetainių katalogas
/var/www
Seco-lerva nustoja veikti
2016 m. Gegužės 1 d. „Seco-larm“nustojo veikti. Tai trečias kartas, kai jutiklis nustojo veikti. Norėdami tai pasakyti teisingai, fizinis „Raspberry Pi“kaištis 15 nustojo aptikti 3,3 V įvestį. Aš bandžiau 3.3v fizinius 1 ir 17 kaiščius, ir abu vis tiek išvedė 3.3v. Aš perėjau iš fizinio kaiščio 15 į kitą GPIO, fizinį kaištį 16 (GPIO 4) ir jis vėl pradėjo veikti. Taigi, „Seco-larm“nėra nieko blogo. Atrodo, kad problema susijusi su „Raspberry Pi GPIO“.
GPIO 3, fizinis kaištis 15 negyvas. Tai labai geras pranešimas apie tai, kaip išbandyti GPIO kaiščius.
Aš perėjau iš GPIO 3 į GPIO 4 ir atitinkamai pakeičiau kodą. Nesu tikras, kodėl GPIO kaištis nustojo veikti. Štai dvi galimos priežastys:
- Aš turiu sumontuotą „Seco-larm“jutiklį, todėl uždarius duris jis išveda 3.3v. Garažo durys uždaromos dažniau nei atidarytos. Galbūt GPIO kaištis negali priimti daugiau ar mažiau pastovios 3,3 V įvesties.
- Gedimas sutapo su galios praradimu, galbūt buvo elektros energijos šuolis.
U-eilės gyvenamieji vartai
Turiu „AT&T U-verse“su „Residential Gateway“, tačiau bet kuri paslauga turėtų veikti.
Jei „U-verse Gateway“bus paleistas iš naujo arba praras maitinimą, gali tekti iš naujo paleisti „Raspberry Pi“.
U-verse gyvenamųjų namų vartai Public IP = ♣ router's-public-ip ♣
„U-verse“gyvenamųjų vartų viešasis IP gali keistis, tačiau tai daro labai retai
„U-verse Residential Gateway“pagrindinis puslapis = 192.168.1.254
„U-verse Router“belaidžio prieigos taško SSID = ♣ ssid ♣
„WiFi“pralaidumas yra lėtesnis nei tikėtasi
Pakeiskite maršrutizatorių į mažiau naudojamą kanalą. Pagal numatytuosius nustatymus visi tinklo tiekėjai suderina kiekvieno „Wi -Fi“prie 1 kanalo. Pakeiskite į mažiau naudojamą kanalą, pvz., 11. Pabandykite naudoti nelyginį skaičių.
Pastaba: porai kaimynų pasakiau, ką padariau, kad pagerinčiau „Wi-Fi“, ir dabar visi veikia 9 ar 11, todėl grįžau prie 1. Visada turėtumėte naudoti nelyginį kanalą.
Atidarykite naršyklę.
„U-verse“URL laukelyje įveskite 192.168.1.254.
Spustelėkite belaidžio ryšio nuorodą ir pasirinkite 6 arba 11 kanalą.
Yra išmaniojo telefono programa, vadinama „wifi“analizatoriumi. Viename iš ekranų rodomi visi netoliese esantys „Wi -Fi“prieigos taškai, transliuojami tam tikru kanalu. Mano kaimynystėje visi yra nusistatę 1 kanalą.
Atjunkite „Raspberry Pi“ir atjunkite maitinimą
Rekomenduojamas:
„Pasidaryk pats“išmaniųjų garažo durų atidarytuvas ir namų asistento integracija: 5 žingsniai
„Pasidaryk pats“išmaniųjų garažo durų atidarytuvas ir namų asistento integracija: naudodamiesi šiuo „pasidaryk pats“projektu, protingai paverskite įprastas garažo duris. Aš jums parodysiu, kaip jį sukurti ir valdyti naudojant „Home Assistant“(per MQTT) ir galėsiu nuotoliniu būdu atidaryti ir uždaryti garažo duris. Naudosiu ESP8266 plokštę, pavadintą „Wemos“
Pigus išmanusis garažo durų atidarytuvas: 6 žingsniai (su nuotraukomis)
Pigūs „Smart Garage“durų atidarytuvai: „CreditI“beveik nukopijavau „Savjee“diegimą, tačiau vietoj „Shelly“naudojau „Sonoff Basic“. Peržiūrėkite jo svetainę ir „YouTube“kanalą! Https: //www.savjee.be/2020/06/make-garage-door-ope…https: //www.youtube.com/c/Savjee/AssumptionsYou h
Garažo durų atidarytuvas su atsiliepimais naudojant „Esp8266“kaip žiniatinklio serverį .: 6 žingsniai
Garažo durų atidarytuvas, naudodamas „Esp8266“kaip žiniatinklio serverį: Sveiki, aš jums parodysiu, kaip padaryti paprastą būdą padaryti garažo durų atidarytuvą.-ESP8266 yra užkoduotas kaip žiniatinklio serveris, durys gali būti atidarytos visur pasaulyje atsiliepimai, jūs žinosite, ar durys yra atidarytos arba uždarytos realiu laiku-paprasta, tik vienas spartusis klavišas
„Raspberry Pi“garažo durų atidarytuvas: 5 žingsniai
„Raspberry Pi“garažo durų atidarytuvas: mūsų penkiolikos metų klaviatūra, leidžianti atidaryti garažo duris, lėtai miršta, su keliais mygtukais, kurie vos užregistruojami, todėl paaugliams (ar šunų augintojams) sunku patekti į namus, kai jie pamiršta Raktas. Vietoj pakartojimo
Garažo durų atidarytuvas naudojant „Raspberry Pi“: 5 žingsniai (su nuotraukomis)
Garažo vartų atidarymas naudojant „Raspberry Pi“: valdykite garažo variklį iš išmaniojo telefono ar bet kurio įrenginio, galinčio naršyti tinklalapį (su AJAX!). Projektas buvo pradėtas, nes savo garaže turėjau tik vieną nuotolinio valdymo pultą. Kaip buvo smagu nusipirkti antrą? Nepakankamai. Mano tikslas buvo sugebėti kontroliuoti ir stebėti