Satura rādītājs:

Raspberry Pi 3 garāžas durvju atvērējs: 15 soļi (ar attēliem)
Raspberry Pi 3 garāžas durvju atvērējs: 15 soļi (ar attēliem)

Video: Raspberry Pi 3 garāžas durvju atvērējs: 15 soļi (ar attēliem)

Video: Raspberry Pi 3 garāžas durvju atvērējs: 15 soļi (ar attēliem)
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №32 2024, Jūlijs
Anonim
Raspberry Pi 3 garāžas durvju atvērējs
Raspberry Pi 3 garāžas durvju atvērējs

Es izveidoju šo pamācību 2014. gadā. Kopš tā laika daudz kas ir mainījies. 2021. gadā šeit atjaunināju viedās garāžas durvju atvērēju.

Izmantojiet Raspberry Pi un viedtālruni, lai atvērtu, aizvērtu un uzraudzītu garāžas durvis. Durvju atvēršana un aizvēršana tiek nodrošināta, izmantojot pašparakstītus sertifikātus, kas instalēti ģimenes mobilajos tālruņos. Ja garāžas durvis ir atvērtas, kad tam nevajadzētu būt, nosūtiet īsziņu (SMS) uz mobilo tālruni.

Garāžas durvis ir nepārtraukti izmantotas kopš 2014. gada beigām. Gadu gaitā esmu centies atjaunināt izmaiņas. Ir pielikums, kurā aprakstītas pamācības izmaiņas.

Šī projekta mērķi ir:

  • Padariet savu pirmo pamācāmo - es neplānoju to publicēt, bet esmu saņēmis daudz pieprasījumu
  • Atveriet garāžas durvis ar standarta tālvadības pulti
  • Atveriet garāžas durvis ar pie sienas piestiprinātu durvju zvana garāžas atvērēju
  • Atveriet garāžas durvis, izmantojot viedtālruni
  • Uzraugiet garāžas durvju statusu attālināti, izmantojot mobilo tālruni vai klēpjdatoru (vai tās ir atvērtas vai aizvērtas?)
  • Nosūtiet īsziņu uz manu mobilo tālruni, ja durvis ir atvērtas, kad tās ir jāaizver
  • Glabājiet garāžas durvis drošas (piemēram, ja strāvas zudums ir, durvis nedrīkst atvērties)
  • Neļaujiet nevienam citam tīklā atvērt durvis (divvirzienu pašparakstīts SSL sertifikāts)
  • Vadu savienojuma vietā izmantojiet WiFi
  • Izmantojiet Raspberry Pi 3

Šīs garāžas durvju atvēršanas ieviešanas pamats tika iegūts no Instructable: Raspberry Pi garāžas durvju atvērēja. Sākotnēji es izmantoju modeli B+ Raspberry Pi, pēc tam pārcēlos uz Raspberry Pi 2 modeli B, un tagad tas izmanto Raspberry Pi 3.

Es izmantoju MacBook, lai sazinātos ar Raspberry Pi, taču var izmantot jebkuru datoru.

Nav pārliecinoša iemesla veidot šo ierīci, bet tas bija jautri. Ir izdevīgāk to iegādāties. Līdzīgu ierīci var iegādāties par aptuveni 130 USD.

  • Pacelšanas meistars 828LM
  • Chamberlain MyQ 129 ASV dolāri
  • GoGo vārti 179 ASV dolāri
  • Amatnieks 100 ASV dolāri

Piezīmes:

  • Teksts, kas ievietots lāpstās, piemēram, šis “aizstāt-šis”, jāaizstāj ar faktisko vērtību
  • Arduino pasvītrots zils teksts ir saite. Šajā gadījumā tā ir saite uz garāžas durvju atvērēja arduino versiju.
  • Esmu mēģinājis ieskaitīt katru izmantoto avotu. Atvainojos par izlaidumu. Lielākā daļa šī dokumenta ir balstīta uz citu cilvēku darbu.
  • $ norāda komandu, kas izpildīta MacBook termināļa logā un parasti tiek izpildīta Raspberry Pi

1. darbība: apkopojiet detaļas

Pērciet vai savāciet detaļas un instrumentus (cenas USD).

  • Raspberry Pi 3 modelis B Newark elements 14 $ 35
  • 5.2V 2.5A USB strāvas adapteris no Amazon 9,99 ASV dolāri
  • Mikro USB uz USB kabeli 6 pēdas no Amazon 7,99 ASV dolāri
  • Korpuss no Amazon 6,99 USD
  • SanDisk Ultra 16 GB microSDHC 10. klase ar adapteri (SDSQUAN-016G-G4A) no Amazon $ 8,99
  • SunFounder 2 kanālu 5V releja vairoga modulis Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - 6,79 ASV dolāri
  • 3x sieviešu un sieviešu džemperu vadi. Pirkts Fry's par 4,95 USD.
  • Dinamiskais DNS 40 USD gadā 30 vārdiem (dyn.com)
  • 1-banda 18 kub. collas Old Work Heavy Wall Switch un Outlet Box, 3,12 ASV dolāri
  • Ultra Pro viena suka balta sienas plāksne, 7,88 ASV dolāri
  • SECO-LARM SM 226L, garāžas durvju sensors, cena ļoti atšķiras, 9,99 ASV dolāri Amazon ar bezmaksas piegādi
  • 50 pēdu cietā termostata stieples, Home Depot vai Lowe's, ~ 20 USD

Mana kopējā summa: ~ 172,00 USD

Man bija šādas detaļas, rīki un pakalpojumi:

  • CAT5 Ethernet kabelis
  • Maza izmēra vads, 6 pēdas garš
  • Phillips galvas skrūvgriezis
  • Adatu deguna knaibles
  • Kastes griezēji
  • Juvelieru plakangalvas skrūvgriezis, nepieciešams atskrūvēt releja skrūves
  • MacBook (var izmantot datoru)
  • AT&T GigaPower (var izmantot jebkuru interneta pakalpojumu sniedzēju)

2. darbība: iestatiet Raspberry Pi bez monitora vai tastatūras

Iestatiet Raspberry Pi bez monitora vai tastatūras
Iestatiet Raspberry Pi bez monitora vai tastatūras

Visiem Raspberry Pi projektiem ir nepieciešama noteikta veida iestatīšana. Man patīk izmantot to pašu instrukciju kopu, un, ja nepieciešams, ir viena vieta, kur šīs instrukcijas atjaunināt.

Iestatiet Raspberry Pi, izmantojot tālāk norādītās instrukcijas.

Iestatiet Raspberry Pi bez monitora vai tastatūras

Iepriekš minētie norādījumi papildinājumā ietver izvēles darbības. Noteikti veiciet šo darbību:

Pievienojiet klienta puses sertifikātus tīmekļa serveriem

Izslēdziet Raspberry Pi

$ sudo izslēgšana -h 0

Pēc izslēgšanas noņemiet

  • Ethernet kabelis
  • USB seriālais kabelis

Tie vairs nebūs vajadzīgi. Izmantojiet wifi, ssh un termināļa logu Mac Book, lai palaistu komandas Raspberry Pi.

Atvienojiet strāvu un atkal pievienojiet strāvu, un aveņu pi vajadzētu atsāknēt.

3. darbība: instalējiet Wiring Pi, Apache un PHP

Instalējiet Wiring Pi

Atveriet Mac Book termināļa logu. Piesakieties Raspberry Pi, pēc tam lejupielādējiet, apkopojiet un instalējiet Wiring Pi. Šī programmatūra ļauj kontrolēt GPIO tapas. Šeit ir soli pa solim sniegts ceļvedis:

wiringpi.com/download-and-install/

Šeit ir saīsināta instrukciju versija:

$ ssh pi@♣ aveņu-pi-ip ♣

parole: ♣ parole ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build

Palaidiet komandu gpio, lai pārbaudītu instalāciju:

$ gpio -v

gpio versija: 2.29 Autortiesības (c) 2012-2015 Gordons Hendersons Šī ir bezmaksas programmatūra, kurai PILNĪGI NAV GARANTIJAS. Sīkākai informācijai par tipu: gpio -garantija Raspberry Pi Sīkāka informācija: Tips: 2. modelis, Pārskatīšana: 1.1, Atmiņa: 1024 MB, Izgatavotājs: Sony [OV] Ierīču koks ir iespējots. Šis Raspberry Pi atbalsta lietotāja līmeņa GPIO piekļuvi. -> Sīkāku informāciju skatiet man-page $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Nosaukums | Režīms | V | Fiziskā | V | Režīms | Nosaukums | 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 | ĀRĀ | 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 | Nosaukums | Režīms | V | Fiziskā | V | Režīms | Nosaukums | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+

Iepriekš minētajām komandām vajadzētu dot zināmu pārliecību, ka wiringPi darbojas labi.

Instalējiet Apache un PHP

Palaidiet šādas komandas:

$ cd..

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

Lai pārbaudītu tīmekļa servera darbību, atveriet pārlūkprogrammu un URL lodziņā ievadiet:

"Aveņu-pi-ip"

Apache noklusējuma vietne atbild ar "Tas darbojas!"

4. solis: vietne

Atveriet Mac Book termināļa logu. Piesakieties Raspberry Pi, pēc tam noņemiet noklusējuma failu index.html, mainiet atļaujas vietnes direktorijā un rediģējiet failu ar nosaukumu index.php.

$ ssh pi@♣ aveņu-pi-ip ♣

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

Un ievadiet šādu kodu:

Garāžas atvērējs

Mājas automatizācija

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

";} cits {atbalss"

"; } ?>

Garāžas durvju atvērējs Garāžas durvju atvēršanas rokasgrāmata slēgts 1 atvērt 0
<? php if ($ trigger == 0) {echo "<td colspan = \" 4 / "} else {echo"

var13 ->

CTRL-o un ENTER, lai rakstītu failu, un CTRL-x, lai izietu no redaktora.

Mainīt faila atļaujas

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

5. darbība: vietnes attēls

Vietnes attēls
Vietnes attēls
Vietnes attēls
Vietnes attēls

Paņemiet no tīmekļa augstas izšķirtspējas tālvadības garāžas durvju atvērēju. Mainiet attēlu, kā vēlaties, izmantojot Mac otu. Iepriekš redzamajā attēlā tika izmantots augstas izšķirtspējas džinsu garāžas atvērējs, tika pievienots aveņu pi logotips un noņemts LED.

Viens attēls ir fons (remote-background.jpg), bet otrs ir aktīvais attēls (remote-press.jpg).

Plāns bija tāds, ka, nospiežot pogu, tā vietā, lai mirgotu gaismas diode, aveņu mirgot. Vienkāršoju vietni.

Kopējiet attēlus aveņu pi:

$ scp *-j.webp

parole: ♣ parole ♣

Tīmekļa vietnei ir viena poga. Lai pārbaudītu, atveriet pārlūkprogrammu un ievadiet ♣ aveņu-pi-ip ♣. Apache noklusējuma vietnes vietā, kurā teikts "Tas darbojas!", Pogai vajadzētu parādīties. Nospiediet to.

6. darbība: attālināti kontrolējiet tīmekļa serveri

Lai atvieglotu piekļuvi garāžas durvju atvērējam no attāluma, es izmantoju dinamisku DNS nosaukumu. Jo man nepatīk atcerēties IP adreses.

Izmantojot šo funkciju, pārlūkprogrammas URL laukā ievadu ♣ dynamic-hostname ♣.getmyip.com. Piezīme. IP mājas maršrutētājos var mainīties bez iepriekšēja brīdinājuma, taču tas notiek reti. Es izvēlējos izmantot DynDNS. Jums būs jāzina maršrutētāja publiskā IP adrese.

U-Verse Router IP: Uvers-public-ip

Jūs varat apskatīt savus resursdatora nosaukumus un DynDNS Pro konta informāciju. Šeit ir daži padomi, kā sākt:

  • Izveidojiet savu dinamiskā DNS resursdatora nosaukumu (1 no 30):

    • ♣ dinamiskais saimniekdatora nosaukums ♣
    • Atjauninātāja atslēga: ♣ dinamiskā ip-atjauninātāja atslēga ♣
  • Instalējiet atjaunināšanas klientu, lai nodrošinātu, ka jūsu saimniekdatora nosaukums vienmēr tiek norādīts uz pareizo IP adresi.

    • Lejupielādējiet un instalējiet MacBook
    • AT&T U verses IP reti mainās, tāpēc iepriekš minēto atjauninātāju var palaist ikreiz, kad tas mainās
    • Izpildiet norādījumus:

      • Pievienot kontu
      • Ievadiet lietotājvārdu un paroli: ♣ dynamic-ip-username ♣ ♣ dynamic-ip-password ♣
      • Izvēlieties saimniekdatora nosaukumu
      • Noklikšķiniet uz Konfigurēt atlasītos saimniekdatorus
      • Saimniekam jākļūst aktīvam
    • Konfigurējiet tīklu, lai tas ļautu piekļūt jūsu ierīcei no interneta. Varat izmantot mūsu Dyn vedni, lai iegūtu dažus vispārīgus norādījumus, kā to izdarīt, izmantot tādus resursus kā PortForward.com vai sazināties ar ierīces ražotāju.

      • AT&T U-dzejolis
      • Portu pāradresācija 2 vadu 3801HGV-tas ir mans AT&T U-Verse maršrutētājs. Skatiet atjauninājumus pielikumā, lai uzzinātu, kā pārsūtīt uz AT&T U-verse 5268ac maršrutētāju.
      • Atveriet pārlūkprogrammu un dodieties uz ♣ aveņu-pi-ip ♣
      • Parole: ♣ parole ♣
      • Iestatījumi
      • Ugunsmūris

        • Izvēlieties ♣ aveņu-pi-saimniekdatora nosaukums ♣
        • Serveri

          • Tīmekļa servera ports 80
          • HTTPS serveris - 443. ports
        • Pievienot
      • Saglabāt

Kad tas ir izdarīts, tīmekļa serveris strādās no interneta. Lai pārbaudītu, ievadiet ♣ dynamic-hostname ♣, un jums vajadzētu redzēt garāžas durvju atvēršanas pogu.

7. solis: savienojiet ķēdi ar Raspberry Pi

Pievienojiet ķēdi Raspberry Pi
Pievienojiet ķēdi Raspberry Pi

Sniegtajam kodam (4. un 6. darbība) es izmantoju GPIO pin 7. Tā ir nejaušība, ka GPIO 7 ir tas pats, kas wiringPi pin 7. PHP kodā tiek izmantoti elektroinstalācijas Pi tapas, nevis GPIO pin numuri. Jūs varat izmantot jebkuru, kuru vēlaties, taču noteikti nomainiet kodu.

Es mēģināju izmantot savītu stiepli, bet relejs slikti turas pie savītas stieples. Labāka ir cieta stieple.

Pirmajā mēģinājumā es izveidoju trīs savienojošos kabeļus (no sievietes līdz vīrietim).

  • Izmantojiet trīs džemperus no sievietēm līdz sievietēm
  • Izgrieziet trīs cietās stieples gabalus līdz apmēram 1 collai.

    Noņemiet 1/4 collas abos cietā stieples galos

  • Ievietojiet vienu cietu vadu vienā sieviešu džemperī.

Šeit ir labāks veids, kā izveidot savienojošos kabeļus (no sievietes līdz vīrietim):

  • Izmantojiet tikai cietu vadu
  • Izgrieziet trīs 4 collu cietas stieples gabalus
  • Noņemiet 1/4 collas cietā stieples abos galos
  • Izmantojiet sieviešu savienojošās tapas

    • Iebīdiet vienu savienojošo tapu vienā cietā stieples galā un gofrējiet

      Sieviešu tapa nedrīkst atbrīvoties, ja nepieciešams, pielodējiet

    • Ar elektriķa lenti pārbīdiet sasprindzinājuma sliedi pāri savienojošajai tapai vai vāka tapai

Pievienojiet releju pie pi, kā parādīts diagrammā:

  • Savienojiet kabeļa galu ar Raspberry Pi tapu.
  • Ievietojiet relejā cieto vadu.

8. darbība: izveidojiet startēšanas pakalpojumu

Lielākā daļa releju, ieskaitot iegādāto, darbojas šādi:

  • Kad signāls ir ieslēgts, ķēde paliek izslēgta.
  • Kad signāls ir izslēgts, ķēde ir ieslēgta.

Ja Raspberry Pi zaudē enerģiju, relejam ir drošības mehānisms, kas izslēdz ķēdi.

Problēma var rasties, kad tiek atjaunota Rapberry Pi un releja jauda, bet pirms Raspberry Pi ir pabeidzis sāknēšanu, lai ieslēgtu signālu, kas ir nepieciešams, lai ķēde tiktu izslēgta. Jūs varētu pamosties no rīta ar atvērtu garāžu un, iespējams, dažiem jauniem draugiem!

Tomēr relejs faktiski netiek inicializēts, kamēr GPIO pin režīms nav iestatīts, izmantojot šo komandu: gpio mode 7 out. Turklāt, ja pirms GPIO režīma iestatīšanas GPIO spraudnis ir ieslēgts (gpio write 7 1), relejs paliks izslēgts.

Lai šī inicializācija darbotos sāknēšanas laikā un nepamostos no jauniem draugiem, izmantojiet šādu starta skriptu.

$ ssh pi@♣ aveņu-pi-ip ♣

$ sudo nano /etc/init.d/garagerelay

Pēc tam ielīmējiet šo skriptu:

#! /bin/bash

$ 1 #Start Gpio/usr/local/bin/gpio mode 7 out;; stop) echo "Stopping gpio";; *) echo "Lietošana: /etc/init.d/garagerelay {start | stop}" izeja 1;; esac izeja 0

Lai saglabātu: CTRL-o, ENTER

Lai izietu no nano, nospiediet taustiņu kombināciju CTRL-x

Padariet failu izpildāmu:

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

Tagad pasakiet savam pi, lai palaistu šo skriptu sāknēšanas laikā:

$ sudo update -rc.d -f garagerelay start 4

(Piezīme. Jūs varat droši ignorēt brīdinājumu "trūkstošie LSB tagi".)

Pārliecinieties, vai startēšanas skripts darbojas

$ sudo atsāknēšana

Atveriet pārlūkprogrammu un noklikšķiniet uz atvērēja. Relejam vajadzētu noklikšķināt.

9. darbība. Piestipriniet Raspberry Pi garāžai

Piestipriniet Raspberry Pi garāžai
Piestipriniet Raspberry Pi garāžai

Pārvietojot Raspberry Pi, noteikti palaidiet:

$ slēgšana -h 0

Iespējams, vēlēsities izslēgt garāžas barošanu. Tātad, durvju zvana atvērējs nerada elektriskās strāvas triecienu:). Patiesais iemesls ir tas, ka katru reizi, kad saīsināt vadus, durvis iet uz augšu un uz leju.

Atskrūvējiet sienas skrūves no durvju zvana tipa atvērēja, kas piestiprina durvju zvanu pie sienas.

Ieduriet caurumu no garāžas aiz durvju zvana atvērēja līdz mājas iekšpusē. Teksasā Raspberry Pi nedrīkst atrasties garāžā, garāžas temperatūras atšķirības ir ārpus Raspberry Pi darbības specifikācijām.

Izlaidiet releja vadus caur caurumu (izmantojiet mēteļa pakaramo).

Atskrūvējiet abas skrūves durvju zvana atvērēja aizmugurē.

Noņemiet abus releja vadu galus: 1) apmēram 1/8 collas no releja puses un apmēram ½ collas durvju zvana pusē. Salieciet stieples durvju zvana pusi puscilpā, kas ir pietiekami liela, lai ietilptu ap aizmugurējo skrūvi.

Pievienojiet vienu releja vadu katrai skrūvei durvju zvana aizmugurē un pievelciet skrūvi. Savienojumi ir tādi, kā parādīts attēlā. Tā kā relejs izolē ķēdi, virzienam pat nav nozīmes, kurš relejs ir piestiprināts pie kādas skrūves.

10. darbība: pievienojiet Raspberry Pi SECO-LARM

Piestipriniet Raspberry Pi pie SECO-LARM
Piestipriniet Raspberry Pi pie SECO-LARM
Piestipriniet Raspberry Pi pie SECO-LARM
Piestipriniet Raspberry Pi pie SECO-LARM

Pirms es pabeidzu kodu, mēs ar ģimeni bijām atvaļinājumā, un es atvēru pārlūkprogrammu. Mans pārlūkprogrammas pēdējais skats bija uz garāžas durvju atvērēju - lapa tika atsvaidzināta un garāžas durvis tika atvērtas. Pēc dažām dienām piezvanīja kaimiņš un jautāja, vai garāžas durvīm jābūt atvērtām? Par laimi, es to varēju aizvērt no 500 jūdžu attāluma.

Šis snafu piespieda mani mainīt kodu, lai tas nenotiktu, un pievienot vietnei sensoru un garāžas durvju stāvokli.

Šī ir saite uz oriģinālo instrukciju, kā pievienot sensoru. Tomēr, ņemot vērā visu, kas jau ir pabeigts, sensora uzstādīšanu var ievērojami vienkāršot, un tā vietā, lai izmantotu python, pievienojiet pāris koda rindiņas indeksam.php.

closed

Magnēts ir piestiprināts pie garāžas durvju kreisās, augšējās iekštelpu puses, un sensors ir piestiprināts pie garāžas sienas. Tātad, man vajadzēja vadīt termostata vadu no sensora atpakaļ uz aveņu pi. Tam bija nepieciešams caurums no garāžas bēniņos un no bēniņiem sienā, kurā atradās garāžas durvju atvērējs (durvju zvana slēdzis).

Es ievietoju zilu sadales kārbu starp SECO-LARM sensoru un cietajiem vadiem.

Manā mājā starp pirmā stāva griestiem un otrā stāva dibenu ir 18 collu plaisa. Es pieņemu, ka šeit darbojas apkures un dzesēšanas kanāli. Man vajadzēja pietiekami ilgu urbja pagarinājumu, lai izietu caur otro stāvu un caur augšējo 2x4 (augšējā plāksne), kurā ir durvju zvans.

Vissvarīgākā daļa ir tad, kad urbjot no bēniņiem zonā, kur vadi vedīs uz garāžas durvju atvērēju, ir NE urbt caur elektrību. To labot nebija jautri. Redzēt dzirksteles un nodzēst gaismas bija diezgan aizraujoši!

Sensoram nepieciešami divi cietie termostata vadi vai neredzams suņu žoga vads.

Raspberry Pi ir vairāki tapas apraksti (BCM, wPi, fiziski). Kods izmanto elektroinstalācijas pi pin numurus. Lai redzētu visas tapas, tapu kartējumus un tapu vērtības, ievadiet:

$ gpio lasāms

Lai iegūtu gpio rokasgrāmatu, ievadiet:

$ gpio cilvēks

Oriģinālajos norādījumos fiziskā tapa 9 ir sasmalcināta un savienota ar vienu no SECO-LARM vadiem. Tomēr tas man neder. Tā vietā savienojiet vadus ar fiziskajām tapām 15 un 17

Fiziskā tapa 15 (wPi tapa 3) iet uz 3.3V, kad SECO-LARM sensors ir aizvērts. Fiziskā tapa 17 ir 3.3v. Ja tas nedarbojas, pārslēdziet SECO-LARM savienojumus.

Piestipriniet SECO-LARM pie garāžas durvīm un sienas. Izvadiet vadus un izveidojiet savienojumu ar Raspberry Pi.

11. darbība: nosūtiet brīdinājumu, ja durvis ir atvērtas, kad tās ir jāaizver

Ja garāžas durvis ir atvērtas, kad tam nevajadzētu būt, nosūtiet īsziņu uz mobilo tālruni.

Instalējiet un konfigurējiet vienkāršu SMTP.

Man ir mobilais tālrunis AT&T, un īsziņām izmantoju ♣cell-phone-number♣@txt.att.net. Man ir arī gmail konts, un zemāk esošajā piemērā tiek izmantota ♣gmail-account♣@gmail.com. Ja izmantojat dažādus pakalpojumus, veiciet atbilstošās izmaiņas.

Lai iegūtu tālāk norādītās komandas $, atveriet MacBook termināļa logu un piesakieties savā Raspberry Pi.

Pārliecinieties, vai krātuves ir atjauninātas:

$ sudo apt-get atjauninājums

Instalējiet vienkāršus SSMTP un pasta utilītus:

$ sudo apt-get install ssmtp

$ sudo apt-get install mailutils

Rediģējiet SSMTP konfigurācijas failu:

$ sudo nano /etc/ssmtp/ssmtp.conf

sekojoši:

mailhub = smtp.gmail.com: 587 resursdatora nosaukums = ♣ jūsu saimniekdatora nosaukums ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ gmail-password ♣ UseSTARTTLS = YES

Rediģējiet SSMTP aizstājvārdu failu:

$ sudo nano/etc/ssmtp/revaliases

Izveidojiet vienu rindu katram lietotājam, kas varēs nosūtīt e -pastus. Piemēram:

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

Iestatiet SSMTP konfigurācijas faila atļaujas:

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

Faila /etc/ssmtp/ssmtp.conf atļaujas nosaka, kurš varēs sūtīt e -pastus no Raspberry Pi. Pēc noklusējuma šis fails pieder lietotāja saknei, un faila grupa ir arī root.

Rediģējiet SSMTP aizstājvārdu failu, kurā ir dati par e -pasta kontiem:

$ sudo nano /etc/ssmtp/ssmtp.conf

Kad iepriekš minētais iestatīšanas un konfigurēšanas process ir pabeigts, pārbaudiet to, nosūtot e -pastu no komandrindas.

$ echo "aizvērt garāžas durvis" | pasts -s "Garāžas durvis atvērtas" ♣cell-phone-number♣@txt.att.net

Izveidojiet skriptu, lai pārbaudītu, vai garāžas durvis ir atvērtas, kad tam nevajadzētu būt, un pēc tam nosūtiet īsziņu.

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

un pievieno šādu:

#!/bin/bash

# pārbaudiet, vai garāžas durvis ir atvērtas. # Ja atvērts, sūtiet brīdinājumu un rakstiet uz syslog up = 0; durvis = $ (/home/pi/wiringPi/gpio/gpio lasīt 3), ja ["$ door" -eq "$ up"], tad mežizstrādātājs ♣ jūsu saimniekdatora nosaukums ♣: Garāžas durvis Atvērtas atbalss "aizvērt garāžas durvis" | pasts -s "Garāžas durvis atvērtas" ♣cell-phone-number♣@txt.att.net fi izeja 0

Pēc tam pievienojiet crontab, lai darbotos vajadzīgajās stundās:

$ sudo crontab –e

un pievienojiet:

# Naktī katru stundu pārbaudiet, vai garāžas durvis ir atvērtas

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

Ja viss darbojas, pārejiet pie nākamās darbības.

12. solis: ievietojiet Raspberry Pi slepenā grāmatā

Ievietojiet Raspberry Pi slepenā grāmatā
Ievietojiet Raspberry Pi slepenā grāmatā
Ievietojiet Raspberry Pi slepenā grāmatā
Ievietojiet Raspberry Pi slepenā grāmatā

Ielieciet aveņu pi slepenā grāmatā. Es to dabūju Michaelā par aptuveni 7 USD. Es izgriezu dažus mazus caurumus vadiem un strāvas vadam.

13. solis: Pielikums: Atsauces

SunFounder 2 kanālu 5V releja vairoga modulis Arduino UNO 2560 1280 ARM PIC AVR STM32

  • 5V 2 kanālu releja interfeisa plate, un katrai no tām ir nepieciešami 15-20 mA
  • Vadītāja strāva Aprīkots ar lielas strāvas releju, AC250V 10A; DC30V 10A
  • Standarta saskarne, kuru var kontrolēt tieši ar mikrokontrolleri (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL loģika)
  • Indikācijas gaismas diodes releja izvades statusam Saite dokumenta lejupielādei:

14. darbība. Pielikums: Atjauninājumi

21FEB2016

  • Sākotnējos norādījumos bija problēmas ar automātisku labošanu, formatējumu un norāžu skaidrību.

    • Problēmas piemērs ir tad, ja dubultās pēdiņas kodā tiek mainītas uz kaut ko tādu, kas izskatās kā slīprakstā izlikta pēdiņa. Tomēr, ja to izgriezat un ielīmējat skriptā, tas nedarbosies.
    • Norādītajam redaktoram patīk automātiski labot, tāpēc Wlan pagriežas pēc plāna, un autoremove pārvēršas par automātisko noņemšanu. Šīs izmaiņas ir grūti pamanāmas.
    • Daži mani norādījumi, iespējams, nebija pietiekami skaidri.
    • Parasti es izmantoju leņķa kronšteinus kā indikatoru tam, kas jāmaina. Redaktors tos pārvērš html. Tātad, es pārgāju uz kvadrātiekavām, taču tās var radīt problēmas, jo tās izskatās kā kods. Tātad, es beidzot nolēmu ♣ s kā indikatoru aizstāšanai ar faktisko vērtību.
  • Laika gaitā esmu arī uzlabojis dažus skriptus.
  • Rediģēts 21.-26. Darbība

03APR2016

  • Izveidots pielikums ar problēmu novēršanu, atsaucēm un atjauninājumiem (27.-29. Darbība)
  • Problēmu novēršana ir pārvietota uz pielikumu no iepriekšējās 2. darbības
  • Problēmu novēršanas lapa ir atjaunināta un sakārtota alfabēta secībā
  • Mainīts faila nosaukums no test2wifi.sh uz garage.sh - tikai vairāk aprakstošs.
  • Atjaunināts cron, lai izmantotu garage.sh
  • Rediģēts 1, 20-26 (Izveidojiet palaišanas pakalpojumu, kas jāveic pirms pielikuma)

04APR2016

  • 2.-11. Un 16.-20. Solis tika aizstāts ar manu standartu par Raspberry Pi iestatīšanu
  • Atjaunināts detaļu saraksts, 1. darbība
  • Pievienoti/apvienoti fotoattēli

05APR2016

Vienkāršota vietne un attēls (4. un 5. darbība)

2016. gada 1. maijs

Pievienota Seco-larm/aveņu Pi sensora problēmu novēršana

2016. gada 1. maijs

Iepriekšējie labojumi nav pareizi saglabāti?

11NOV2016

  • Atjaunināts uz AT&T GigaPower un nomainīts maršrutētājs uz 5268ac
  • 5268ac neatbalsta cilpu atpakaļ, tāpēc Garage Opener serveris nav pieejams no LAN datoriem. Lai MacBook piekļūtu garāžas atvērēja tīmekļa serverim, rīkojieties šādi:

$ sudo nano /etc /hosts

un pievienojiet rindu

192.168.1.64 (servera ārējā domēna nosaukums)

Saglabāt un iziet, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • 5268ac iebūvētie portu pāradresācijas noteikumi, piemēram, HTTPS serveris, HTTP serveris un Web serveris, nedarbojas. Lai sāktu ostas pāradresāciju, veiciet tālāk norādītās darbības.

    • Atveriet pārlūkprogrammu un dodieties uz vietni 192.168.1.254
    • Pieslēgties
    • Atlasiet Iestatījumi, Ugunsmūris, Lietojumprogrammas, caurumi un DMZ.
    • Izvēlieties garāžas atvērēja tīmekļa serveri
    • Atlasiet Lietotāja definēts
    • Noklikšķiniet uz jaunas lietotāja definētas lietojumprogrammas

      • Programmas profila nosaukumā ievadiet: PortForwarding
      • Sadaļā Izveidot lietojumprogrammas definīciju pievienojiet katru no šiem elementiem un noklikšķiniet uz Pievienot sarakstam:

        • TCP no 80 līdz 80, karte līdz resursdatoram 443
        • TCP no 443 līdz 443 kartē līdz resursdatoram 443
        • UDP no 443 līdz 443, karte uz resursdatoru 443
        • UDP no 80 līdz 80, karte līdz resursdatoram 443
    • Noklikšķiniet atpakaļ
    • Atkārtoti atlasiet savu tīmekļa serveri
    • Atlasiet Lietotāja definēts
    • Pievienot PortForwarding
    • Noklikšķiniet uz Saglabāt

21JAN2018

  • Atjaunināts uz Raspberry Pi 3
  • Vairāki soļu labojumi
  • Atjauninātas dažas detaļas un cenas

15. solis: Pielikums: Traucējummeklēšana

Izmantotā diska vieta

Pēdējā rinda parāda kopējo izmantoto diska vietu. SD kartei ir 8 GB.

$ cd../..

$ sudo du –hx –c

e -pastu

Ja rodas problēmas, izmēģiniet šo:

$ echo "tests" | sendmail -v ♣jūsu-gmail-konts♣@gmail.com

Ja e -pasts ir pareizi iestatīts, jums vajadzētu saņemt e -pastu savā Gmail kontā.

Ja rodas autentifikācijas kļūme:

Iespējams, jums būs jāsamazina sava konta drošība. Tomēr drošības pazemināšana NAV ieteicama. Google nosūtīs e -pastu ar saiti uz zemāku drošības iestatījumu.

Jūs varat pārslēgties no sava pašreizējā e -pasta lasītāja, lai izmantotu vietni www.gmail.com, lai piekļūtu savam kontam (ieteicams), vai mainīt iestatījumus vietnē https://www.google.com/settings/security/lesssecu…, lai jūsu konts vairs netiktu izmantots. aizsargāti ar mūsdienu drošības standartiem.

Es neiesaku pazemināt jūsu drošības standartus.

Ja rodas autorizācijas kļūme:

Visticamākais iemesls tam ir tas, ka failā /etc/ssmtp/ssmtp.conf esat norādījis nepareizu lietotājvārdu vai paroli savam Gmail kontam. Vēlreiz pārbaudiet lauku AuthUser un AuthPass vērtības.

Ja apstrādes laikā tiek zaudēts savienojums:

Iespējams, esat norādījis nepareizu portu Google smtp kaut kur /etc/ssmtp/ssmtp.conf vai mapē/etc/ssmtp/revaliases.

Pārbaudiet žurnālu pēdējās rindas. Tur vajadzētu būt dažiem atbilstošiem kļūdu ziņojumiem:

$ tail /var/log/mail.log

$ tail/var/log/syslog

Garāžas durvis netiks atvērtas

Ja viss darbojās un tas vienkārši apstājas, mēģiniet restartēt. Ja tas nedarbojas, izvelciet strāvas vadu no Raspberry Pi un pēc tam atjaunojiet strāvu. Raspberry Pi vajadzētu atsāknēt mazāk nekā 2 minūtēs, un visam vajadzētu darboties labi. To parasti izraisa jaudas zudums dzīvojamo vārtejai.

GPIO

Ja kaut kas noiet greizi, tad labākais veids, kā redzēt, kas notiek, ir ar šādu komandu:

$ gpio lasāms

Piesakieties vietnē aveņu pi no MacBook

terminālis ir MacBook utilīta: disks/lietojumprogrammas/utilītas/terminālis. Es turu termināļa lietotni piestātnē.

MacBook datorā atveriet termināli

$ ssh pi@♣ aveņu-pi-ip ♣

"Parole"

Piesakieties dzīvojamo vārtejā

Operētājsistēmā MacBook atveriet pārlūkprogrammu

URL = ♣ aveņu-pi-ip ♣

Pieteikšanās: ♣ vārteja-parole ♣

Žurnāli

Ja kaut kas noiet greizi, pārbaudiet, vai šajos žurnālos nav kļūdu, brīdinājumu vai citu problēmu.

$ cat/var/log/messages

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

MAC direktorijs

MacBook direktorijs, kurā tiek glabāti vietņu faili

MAC direktorijs =/Lietotāji/♣ mans MacBook ♣/Darbvirsma/Wi-Fi iespējota māja/wifi iespējots garāžas durvju atvērējs/vietne

Parole

Parole = ♣ aveņu-pi-parole ♣

Izmantotā RAM un CPU

$ augšā

CTRL-c, lai izietu

Raspberry Pi mājas direktorijs

$ pwd

/mājas/pi

Raspberry Pi saimniekdatora nosaukums

$ hostname

saimniekdatora nosaukums = ♣ saimniekdatora nosaukums ♣

Raspberry Pi IP

♣ aveņu-pi-ip ♣ = 192.168.1.93

Raspberry Pi vietņu katalogs

/var/www

Seco-larm pārstāj darboties

2016. gada 1. maijā Seco-larm pārtrauca darbu. Šī ir trešā reize, kad sensors pārstāj darboties. Lai to pareizi pateiktu, Raspberry Pi fiziskā tapa 15 pārtrauca noteikt 3,3 V ieeju. Es mēģināju 3.3v fiziskās tapas 1 un 17, un abas joprojām izvadīja 3.3v. Es pārslēdzu no fiziskās tapas 15 uz citu GPIO, fizisko tapu 16 (GPIO 4), un tas atkal sāka darboties. Tātad, Seco-larm nav nekas nepareizs. Šķiet, ka problēma ir saistīta ar Raspberry Pi GPIO.

GPIO 3, fiziskā tapa 15 ir mirusi. Šis ir ļoti labs raksts par to, kā pārbaudīt GPIO tapas.

Es pārslēdzos no GPIO 3 uz GPIO 4 un attiecīgi mainīju kodu. Es neesmu pārliecināts, kāpēc GPIO tapa pārstāja darboties. Šeit ir divi iespējamie iemesli:

  • Man ir uzstādīts Seco-larm sensors, tāpēc, aizverot durvis, tas izvada 3.3v. Garāžas durvis tiek aizvērtas biežāk nekā tās ir atvērtas. Iespējams, GPIO tapa nevar uzņemt vairāk vai mazāk nemainīgu 3.3v ievadi.
  • Neveiksme sakrita ar strāvas zudumu, iespējams, bija strāvas pīķis.

U-dzejas dzīvojamo vārteja

Man ir AT&T U-verse ar dzīvojamo vārteju, taču jebkuram pakalpojumam vajadzētu darboties.

Ja U-verses vārteja tiek restartēta vai tā zaudē enerģiju, iespējams, būs jārestartē Raspberry Pi.

U-verse dzīvojamā vārteja Public IP = ♣ router's-public-ip ♣

U-dzejas dzīvojamo vārteju publiskais IP var mainīties, taču tas notiek ļoti reti

U-verses dzīvojamo vārtejas mājas lapa = 192.168.1.254

U-verse Router bezvadu piekļuves punkta SSID = ♣ ssid ♣

WiFi caurlaidspēja ir lēnāka nekā gaidīts

Nomainiet maršrutētāju uz mazāk lietotu kanālu. Pēc noklusējuma visi ķēdes nodrošinātāji ikviena Wi -Fi pieskaņo 1. kanālam. Pārslēdzieties uz mazāk lietotu kanālu, piemēram, 11. Mēģiniet izmantot nepāra numuru.

Piezīme. Es teicu pāris kaimiņiem, ko es darīju, lai uzlabotu Wi-Fi, un tagad visi ir 9 vai 11, tāpēc es atgriezos pie 1. Jums vienmēr vajadzētu izmantot nepāra kanālu.

Atveriet pārlūkprogrammu.

U-versei URL lodziņā ievadiet 192.168.1.254.

Noklikšķiniet uz bezvadu saites un izvēlieties 6. vai 11. kanālu.

Ir viedtālruņa lietotne, ko sauc par wifi analizatoru. Viens no displejiem parāda visus tuvumā esošos wifi piekļuves punktus, kas tiek pārraidīti noteiktā kanālā. Manā apkārtnē visi ir iestatīti uz 1. kanālu.

Atvienojiet Raspberry Pi un pēc tam atjaunojiet strāvu

Ieteicams: