Sisällysluettelo:

Raspberry Pi 3 -autotallin ovenavaaja: 15 vaihetta (kuvilla)
Raspberry Pi 3 -autotallin ovenavaaja: 15 vaihetta (kuvilla)

Video: Raspberry Pi 3 -autotallin ovenavaaja: 15 vaihetta (kuvilla)

Video: Raspberry Pi 3 -autotallin ovenavaaja: 15 vaihetta (kuvilla)
Video: Я ОДЕРЖИМЫЙ ДЕМОНАМИ 2024, Marraskuu
Anonim
Raspberry Pi 3 Autotallin ovenavaaja
Raspberry Pi 3 Autotallin ovenavaaja

Luin tämän ohjeen vuonna 2014. Paljon on muuttunut sen jälkeen. Vuonna 2021 päivitin älykkään autotallin ovenavaajan täällä.

Avaa, sulje ja seuraa autotallin ovea Raspberry Pi: n ja älypuhelimen avulla. Oven avaaminen ja sulkeminen varmistetaan perheen matkapuhelimiin asennetuilla itse allekirjoitetuilla varmenteilla. Jos autotallin ovi on auki, kun sen ei pitäisi olla, lähetä tekstiviesti (SMS) matkapuhelimeen.

Autotallin ovi on ollut jatkuvassa käytössä vuoden 2014 lopusta lähtien. Vuosien mittaan olen yrittänyt pitää muutokset ajan tasalla. On liite, jossa kuvataan ohjeiden muutokset.

Tämän projektin tavoitteet ovat:

  • Tee ensimmäinen opettavainen - en aikonut julkaista tätä, mutta olen saanut monia pyyntöjä
  • Avaa autotallin ovi tavallisella kaukosäätimellä
  • Avaa autotallin ovi seinälle asennetulla ovikellon autotallinavaajalla
  • Avaa autotallin ovi älypuhelimella
  • Seuraa autotallin oven tilaa etänä matkapuhelimen tai kannettavan tietokoneen kautta (onko se auki vai kiinni?)
  • Lähetä tekstiviesti matkapuhelimeeni, jos ovi on auki, kun se pitäisi sulkea
  • Pidä autotallin ovi turvassa (esim. Sähkökatkon sattuessa oven ei pitäisi avautua)
  • Älä anna verkon muiden avata ovea (kaksisuuntainen itse allekirjoitettu SSL-varmenne)
  • Käytä WiFi -yhteyttä langallisen yhteyden sijasta
  • Käytä Raspberry Pi 3

Tämän autotallin ovenavaajan toteutuksen perusta on peräisin Quartarianin Instructable: Raspberry Pi -autotallin ovenavaajastä. Käytin alun perin mallia B+ Raspberry Pi, sitten Raspberry Pi 2 -mallia B, ja nyt se käyttää Raspberry Pi 3: ta.

Käytin MacBookia kommunikoidaksesi Raspberry Pi: n kanssa, mutta mitä tahansa tietokonetta voidaan käyttää.

Ei ole pakottavaa syytä rakentaa tätä laitetta, mutta se oli hauskaa. On halvempaa ostaa yksi. Vastaavan laitteen voi ostaa noin 130 dollarilla.

  • Nostolaite 828LM
  • Chamberlain MyQ 129 dollaria
  • GoGo Gate 179 dollaria
  • Käsityöläinen 100 dollaria

Huomautuksia:

  • Teksti, joka on suljettu pataan, kuten tämä ♣ vaihda tämä ♣, tulee korvata todellisella arvolla
  • Arduinon alleviivattu sininen teksti on linkki. Tässä tapauksessa se on linkki autotallin ovenavaajan arduino -versioon.
  • Olen yrittänyt hyvittää kaikki käytetyt lähteet. Pahoitteluni mahdollisista puutteista. Suurin osa tästä asiakirjasta perustuu muiden tekemiin töihin.
  • $ ilmaisee komennon, joka suoritetaan MacBookin pääteikkunassa ja suoritetaan yleensä Raspberry Pi: llä

Vaihe 1: Kerää osat

Osta tai kerää osia ja työkaluja (hinnat USD).

  • Raspberry Pi 3 Malli B Newark Element14 $ 35
  • 5.2V 2.5A USB -virtalähde Amazonilta 9,99 dollaria
  • Micro USB - USB -kaapeli 6ft Amazonilta 7,99 dollaria
  • Kotelo Amazonilta 6,99 dollaria
  • SanDisk Ultra 16 Gt: n microSDHC-luokka 10 ja sovitin (SDSQUAN-016G-G4A) Amazonilta 8,99 dollaria
  • SunFounder 2 -kanavainen 5 V: n relesuojamoduuli Arduinolle UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - 6,79 dollaria
  • 3x naaras-naarasliitin. Ostettu Fry'sistä hintaan 4,95 dollaria.
  • Dynaaminen DNS 40 dollaria vuodessa 30 nimelle (dyn.com)
  • 1-jengi 18 cu. tuumaa vanha työ raskaan seinän kytkin ja pistorasia, 3,12 dollaria
  • Ultra Pro Single Brush Valkoinen seinälevy, 7,88 dollaria
  • SECO-LARM SM 226L, Garage Door Sensor, hinta vaihtelee suuresti, 9,99 dollaria Amazonilla ilmaisella toimituksella
  • 50 jalkaa kiinteää termostaattijohtoa, Home Depot tai Lowe's, ~ 20 dollaria

Yhteensä: ~ 172,00 dollaria

Minulla oli seuraavat osat, työkalut ja palvelut:

  • CAT5 Ethernet -kaapeli
  • Pieni johdin, 6 jalkaa pitkä
  • Phillips -pään ruuvimeisseli
  • Neulan nenäpihdit
  • Laatikkoleikkurit
  • Jalokivikauppiaiden tasainen ruuvimeisseli, tarvitaan löysäämään releen ruuveja
  • MacBook (tietokonetta voidaan käyttää)
  • AT&T GigaPower (mitä tahansa Internet -palveluntarjoajaa voidaan käyttää)

Vaihe 2: Asenna Raspberry Pi ilman näyttöä tai näppäimistöä

Asenna Raspberry Pi ilman näyttöä tai näppäimistöä
Asenna Raspberry Pi ilman näyttöä tai näppäimistöä

Kaikki Raspberry Pi -projektit vaativat jonkinlaista asennusta. Haluan käyttää samoja ohjeita ja tarvittaessa päivittää ne yhteen paikkaan.

Asenna Raspberry Pi käyttämällä seuraavia ohjeita:

Asenna Raspberry Pi ilman näyttöä tai näppäimistöä

Yllä oleva ohje sisältää valinnaisia vaiheita liitteessä. Muista tehdä seuraava vaihe:

Lisää asiakaspuolen varmenteet verkkopalvelimille

Sammuta Raspberry Pi

$ sudo sammutus -h 0

Kun olet sammunut, poista

  • Ethernet kaapeli
  • USB -sarjakaapeli

Näitä ei enää tarvita. Käytä wifi -yhteyttä, ssh: tä ja Mac -kirjan pääteikkunaa komentojen suorittamiseen Raspberry Pi -laitteella.

Irrota virta ja kytke virta takaisin, ja vadelma pi pitäisi käynnistyä uudelleen.

Vaihe 3: Asenna Wiring Pi, Apache ja PHP

Asenna Wiring Pi

Avaa pääteikkuna Mac Bookissa. Kirjaudu Raspberry Pi -palveluun, lataa, käännä ja asenna Wiring Pi. Tämä ohjelmisto mahdollistaa GPIO -nastojen ohjaamisen. Tässä on vaiheittainen opas:

wiringpi.com/download-and-install/

Tässä on tiivistetty versio ohjeista:

$ ssh pi@♣ vadelma-pi-ip ♣

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

Tarkista asennus suorittamalla gpio -komento:

$ gpio -v

gpio-versio: 2.29 Tekijänoikeus (c) 2012-2015 Gordon Henderson Tämä on ilmainen ohjelmisto, joka EHDOTTOMASTI TAKUUTTA. Lisätietoja: gpio -takuu Raspberry Pi Tiedot: Tyyppi: Malli 2, Versio: 1.1, Muisti: 1024 Mt, Valmistaja: Sony [OV] Laitepuu on käytössä. Tämä Raspberry Pi tukee käyttäjätason GPIO-käyttöä. -> Katso man-sivulta lisätietoja $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Nimi | Tila | V | Fyysinen | V | Tila | Nimi | 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 | ULOS | 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 | Nimi | Tila | V | Fyysinen | V | Tila | Nimi | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+

Yllä olevien komentojen pitäisi antaa sinulle jonkin verran luottamusta siihen, että wiringPi toimii OK.

Asenna Apache ja PHP

Suorita seuraavat komennot:

$ cd..

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

Tarkista verkkopalvelimen toiminta avaamalla selain ja kirjoittamalla URL -kenttään:

P vadelma-pi-ip ♣

Apachen oletussivusto vastaa "Se toimii!"

Vaihe 4: Verkkosivusto

Avaa pääteikkuna Mac Bookissa. Kirjaudu Raspberry Pi -palveluun, poista oletusindeksi index.html, muuta käyttöoikeuksia verkkosivustohakemistossa ja muokkaa tiedostoa nimeltä index.php.

$ ssh pi@♣ vadelma-pi-ip ♣

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

Ja kirjoita seuraava koodi:

Autotallin avaaja

Kodin automatisointi

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

";} muu {kaiku"

"; } ?>

Autotallin ovenavaaja Autotallin oven avausopas suljettu 1 auki 0
<? php if ($ trigger == 0) {echo "<td colspan = \" 4 / "} else {echo"

var13 ->

Kirjoita tiedosto painamalla CTRL-o ja ENTER ja poistu editorista painamalla CTRL-x.

Muuta tiedoston käyttöoikeuksia

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

Vaihe 5: Verkkosivuston kuva

Verkkosivuston kuva
Verkkosivuston kuva
Verkkosivuston kuva
Verkkosivuston kuva

Tartu korkean resoluution etäkäyttöiseen autotallin ovenavaajaan verkosta. Muokkaa kuvaa haluamallasi tavalla Mac -siveltimellä. Yllä olevassa kuvassa käytettiin korkean resoluution Genie Garage Openeria, lisättiin vadelmapi -logo ja led poistettiin.

Yksi kuva on tausta (remote-background.jpg) ja toinen on aktiivinen kuva (remote-press.jpg).

Suunnitelmana oli, että napin painalluksella vadelma vilkkuu sen sijaan, että vilkkuu. Yksinkertaistin verkkosivuston.

Kopioi kuvat vadelmapi: lle:

$ scp *-j.webp

salasana: ♣ salasana ♣

Sivustolla on yksi painike. Vahvista avaamalla selain ja kirjoittamalla ♣ vadelma-pi-ip ♣. Painikkeen pitäisi näkyä Apachen oletussivuston sijaan, joka sanoo "Se toimii!" Paina sitä.

Vaihe 6: Hallitse verkkopalvelinta etänä

Jotta autotallin ovenavaajaa olisi helppo käyttää etäsijainnista, käytän dynaamista DNS -nimeä. Koska en pidä IP -osoitteiden muistamisesta.

Tämän ominaisuuden avulla kirjoitan ♣ dynamic-hostname ♣.getmyip.com selaimen URL-kenttään. Huomautus: Kotireitittimien IP -osoite voi muuttua ilman erillistä ilmoitusta, mutta näin tapahtuu harvoin. Päätin käyttää DynDNS: ää. Sinun on tiedettävä reitittimesi julkinen IP -osoite.

U-Verse-reitittimen IP: verse-public-ip

Voit tarkastella isäntänimiä ja DynDNS Pro -tilitietoja. Tässä on muutamia vinkkejä alkuun pääsemiseksi:

  • Luo dynaaminen DNS -isäntänimi (1/30):

    • ♣ dynaaminen isäntänimi ♣
    • Päivitysavain: ♣ dynaaminen-ip-päivitysavain key
  • Asenna päivitysohjelma varmistaaksesi, että isäntänimi osoittaa aina oikeaan IP -osoitteeseen.

    • Lataa ja asenna MacBookiin
    • AT&T: n U-verse-IP-osoitteet muuttuvat harvoin, joten yllä oleva päivitys voidaan suorittaa aina, kun se muuttuu
    • Seuraa ohjeita:

      • Lisää tili
      • Anna käyttäjätunnus ja salasana: ♣ dynaaminen-ip-käyttäjänimi ♣ ♣ dynaaminen-ip-salasana ♣
      • Valitse isäntänimi
      • Napsauta Määritä valitut isännät
      • Isännän tulee olla aktiivinen
    • Määritä verkko sallimaan laitteesi käyttö Internetistä. Voit käyttää ohjattua Dynard -toimintoamme saadaksesi yleisiä ohjeita tämän tekemiseen, käyttämään resursseja, kuten PortForward.com, tai ottamaan yhteyttä laitteen valmistajaan.

      • AT&T U-jae
      • Portin edelleenlähetys 2-johdin 3801HGV: lle-tämä on minulla oleva AT&T U-Verse -reititin. Katso liitteen päivitykset, kuinka AT&T U-verse 5268ac -reitittimen siirtäminen eteenpäin.
      • Avaa selain ja siirry kohtaan p vadelma-pi-ip ♣
      • Salasana: ♣ salasana ♣
      • asetukset
      • Palomuuri

        • Valitse ♣ vadelma-pi-isäntänimi ♣
        • Palvelimet

          • Verkkopalvelimen portti 80
          • HTTPS -palvelin - portti 443
        • Lisätä
      • Tallentaa

Kun tämä on tehty, verkkopalvelin toimii Internetistä. Vahvista syöttämällä ♣ dynaaminen isäntänimi ♣ ja sinun pitäisi nähdä autotallin oven avauspainike.

Vaihe 7: Kytke piiri Raspberry Pi -laitteeseen

Kytke piiri Raspberry Pi: hen
Kytke piiri Raspberry Pi: hen

Annetulle koodille (vaiheet 4 ja 6) käytin GPIO -nastaista 7. On sattumaa, että GPIO 7 on sama kuin wiringPi -nasta 7. PHP -koodissa käytetään johdotuksen Pi -nastaisia numeroita, EI GPIO -nastanumeroita. Voit käyttää mitä tahansa, mutta muista vaihtaa koodi.

Yritin käyttää kierrettyä lankaa, mutta rele ei pidä hyvin kierrettyjä lankoja. Kiinteä lanka on parempi.

Ensimmäisellä yrityksellä loin kolme liitäntäkaapelia (naaras-uros).

  • Käytä kolmea naaras -naarashyppykaapelia
  • Leikkaa kolme kiinteää lankaa noin 1 tuumaan.

    Kuori 1/4in kiinteän langan molemmista päistä

  • Työnnä yksi kiinteä lanka yhteen naarashyppykaapeliin.

Tässä on parempi tapa luoda liitäntäkaapelit (naaras-uros):

  • Käytä vain kiinteää lankaa
  • Leikkaa kolme 4 tuuman paksuista lankaa
  • Kuori 1/4in kiinteän langan molemmista päistä
  • Käytä naarasliittimiä

    • Liu'uta yksi naarasliitäntätappi kiinteän langan ja puristimen toiseen päähän

      Naarasnappi ei saa irrota, juota tarvittaessa

    • Liu'uta vedonpoistaja naarasliitännän tai suojatapin päälle sähköasentajan teipillä

Kytke rele pi: iin kaavion mukaisesti:

  • Liitä kaapelin naaraspää Raspberry Pi -tappiin.
  • Työnnä kiinteä johdin releeseen.

Vaihe 8: Luo käynnistyspalvelu

Useimmat releet, mukaan lukien ostettu, toimivat seuraavasti:

  • Kun signaali on päällä, piiri jää pois päältä.
  • Kun signaali on POIS, piiri on päällä.

Jos Raspberry Pi menettää virran, releessä on turvamekanismi, joka pitää piirin POIS PÄÄLTÄ.

Ongelma voi ilmetä, kun Rapberry Pi ja rele saavat virran takaisin, mutta ennen kuin Raspberry Pi on lopettanut käynnistyksen kytkeäkseen signaalin PÄÄLLE, joka on tarpeen pitää piiri pois päältä. Voit herätä aamulla autotallisi auki ja mahdollisesti muutaman uuden ystävän!

Rele ei kuitenkaan itse alusta, ennen kuin GPIO -pin -tila on asetettu tällä komennolla: gpio -tila 7 ulos. Lisäksi jos GPIO -nasta on PÄÄLLÄ (gpio write 7 1) ennen GPIO -tilan asettamista, rele pysyy pois päältä alustuksen jälkeen.

Jos haluat, että tämä alustus suoritetaan käynnistyksen yhteydessä ja et herää uusiin ystäviin, käytä seuraavaa käynnistysskriptiä.

$ ssh pi@♣ vadelma-pi-ip ♣

$ sudo nano /etc/init.d/garagerelay

Liitä sitten tämä skripti:

#! /bin/bash

# /etc/init.d/garagerelay # Suorita tiettyjä toimintoja, kun järjestelmätapaus "$ 1" pyytää) echo "Rele käynnistys" # Käännä 7, joka pitää releen pois päältä/usr/local/bin/gpio write 7 1 #Käynnistä Gpio/usr/local/bin/gpio mode 7 out;; stop) echo "Stoping gpio";; *) echo "Käyttö: /etc/init.d/garagerelay {start | stop}" exit 1;; esac exit 0

Tallennus: CTRL-o, ENTER

Poistu nanosta painamalla CTRL-x

Tee tiedostosta suoritettava:

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

Kerro nyt pi: lle suorittaaksesi tämän komentosarjan käynnistyksen yhteydessä:

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

(Huomautus: Voit turvallisesti jättää huomiotta "puuttuvat LSB -tunnisteet" -varoituksen.)

Varmista, että käynnistysskripti on käynnissä

$ sudo uudelleenkäynnistys

Avaa selain ja napsauta avaajaa. Releen pitäisi napsahtaa.

Vaihe 9: Kiinnitä Raspberry Pi autotalliin

Kiinnitä Raspberry Pi autotalliin
Kiinnitä Raspberry Pi autotalliin

Kun siirrät Raspberry Pi: tä, muista ajaa:

$ sammutus -h 0

Haluat ehkä sammuttaa autotallin virran. Ovikellon avaaja ei siis saa sähköiskua:). Todellinen syy on se, että joka kerta kun oikosuljet johdot, ovi menee ylös ja alas.

Irrota ovikellotyyppisen avaajan seinäruuvit, jotka kiinnittävät ovikellon seinään.

Työnnä reikä ovikellon avaajan takana olevasta autotallista talon sisälle. Texasissa Raspberry Pi: n ei pitäisi olla autotallissa, autotallin lämpötilan vaihtelu on Raspberry Pi: n käyttömäärien ulkopuolella.

Vedä relejohdot reiän läpi (käytä takin ripustinta).

Löysää molemmat ruuvit ovikellon avaajan takana.

Kuori relejohtojen molemmat päät: 1) noin 1/8 tuumaa relepuolelta ja noin ½ tuumaa ovikellon puolelta. Taivuta langan ovikellopuoli puoliksi silmukkaan, joka on tarpeeksi suuri mahtuaksesi takaruuvin ympärille.

Liitä yksi relejohto kuhunkin ovikellon takana olevaan ruuviin ja kiristä ruuvi. Liitännät ovat kuvan mukaiset. Koska rele eristää piirin, suunnalla ei ole edes väliä mikä rele on kiinnitetty mihin ruuviin.

Vaihe 10: Kiinnitä Raspberry Pi SECO-LARM -laitteeseen

Kiinnitä Raspberry Pi SECO-LARM -laitteeseen
Kiinnitä Raspberry Pi SECO-LARM -laitteeseen
Kiinnitä Raspberry Pi SECO-LARM -laitteeseen
Kiinnitä Raspberry Pi SECO-LARM -laitteeseen

Ennen kuin sain koodin valmiiksi, perheeni ja minä olimme lomalla ja avasin selaimen. Selaimen viimeinen näkymä oli autotallin ovenavaaja - sivu päivitettiin ja autotallin ovi avattiin. Muutamaa päivää myöhemmin naapuri soitti ja kysyi, pitäisikö autotallin oven olla auki? Onneksi pystyin sulkemaan sen 500 mailin päästä.

Tämä snafu pakotti minut muuttamaan koodin, jotta tämä ei tapahtuisi, ja lisäämään anturi ja autotallin oven tila verkkosivustoon.

Tämä on linkki alkuperäiseen anturin lisäämisohjeeseen. Ottaen kuitenkin huomioon kaiken, mikä on jo valmis, anturin asentamista voidaan yksinkertaistaa huomattavasti ja pythonin käytön sijaan lisätä pari riviä koodia index.php -tiedostoon.

closed

Magneetti on kiinnitetty autotallin oven vasempaan sisäpuolelle ja anturi kiinnitetty autotallin seinään. Joten minun piti ajaa kiinteä termostaattilanka anturista takaisin vadelmapi. Tämä vaati reiän autotallista ullakolle ja ullakolta seinään, joka sisälsi autotallin ovenavaajan (ovikellokytkin).

Laitoin sinisen kytkentärasian SECO-LARM-anturin ja kiinteiden johtojen väliin.

Talossani on 18 tuuman rako ensimmäisen kerroksen katon ja toisen kerroksen pohjan välillä. Oletan, että tässä kulkevat lämmitys- ja jäähdytyskanavat. Tarvitsin poranterän jatkeen riittävän pitkäksi mennäkseni toisen kerroksen ja ovikellon sisältävän 2x4 (ylälevyn) läpi.

Tärkein osa on, kun porataan ullakolta alueelle, jossa johdot kulkevat autotallin ovenavaajaan, EI porata sähköä. Tämän korjaaminen ei ollut hauskaa. Kipinöiden näkeminen ja valojen sammuminen oli aika jännittävää!

Anturi vaatii kaksi kiinteää termostaattijohtoa tai näkymätöntä koiran aitalankaa.

Raspberry Pi: llä on useita nastakuvauksia (BCM, wPi, fyysinen). Koodi käyttää johdotuksen pi -numeroita. Jos haluat nähdä kaikki nastat, nastakartat ja nastaarvot, kirjoita:

$ gpio luettavissa

Jos haluat gpio -käyttöoppaan, kirjoita:

$ gpio mies

Alkuperäisissä ohjeissa fyysinen nasta 9 on maadoitettu ja yhdistetty johonkin SECO-LARM-johtoihin. Tämä ei kuitenkaan toimi minulle. Kytke sen sijaan johdot fyysisiin nastoihin 15 ja 17

Fyysinen nasta 15 (wPi-nasta 3) menee 3,3 V: iin, kun SECO-LARM-anturi on suljettu. Fyysinen nasta 17 on 3.3v. Jos se ei toimi, vaihda SECO-LARM-laitteen liitännät.

Kiinnitä SECO-LARM autotallin oveen ja seinään. Vedä johdot ja yhdistä Raspberry Pi.

Vaihe 11: Lähetä hälytys, jos ovi on auki, kun sen pitäisi olla kiinni

Jos autotallin ovi on auki, kun sen ei pitäisi olla, lähetä tekstiviesti matkapuhelimeen.

Asenna ja määritä yksinkertainen SMTP.

Minulla on AT&T-matkapuhelin ja käytän tekstiviesteihin ♣cell-phone-number♣@txt.att.net. Minulla on myös gmail-tili, ja alla oleva esimerkki käyttää ♣gmail-account♣@gmail.com. Jos käytät erilaisia palveluja, tee tarvittavat muutokset.

Saat alla olevat $ -komennot avaamalla MacBookin pääteikkunan ja kirjautumalla Raspberry Pi -laitteeseesi.

Varmista, että arkistot ovat ajan tasalla:

$ sudo apt-get päivitys

Asenna yksinkertaiset SSMTP- ja sähköposti -apuohjelmat:

$ sudo apt-get install ssmtp

$ sudo apt-get install mailutils

Muokkaa SSMTP -määritystiedostoa:

$ sudo nano /etc/ssmtp/ssmtp.conf

seuraavasti:

mailhub = smtp.gmail.com: 587 isäntänimi = ♣ isäntänimesi ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ gmail-salasana ♣ KäytäSTARTTLS = KYLLÄ

Muokkaa SSMTP -aliastiedostoa:

$ sudo nano/etc/ssmtp/revaliases

Luo yksi rivi kullekin käyttäjälle, joka voi lähettää sähköpostiviestejä. Esimerkiksi:

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

Aseta SSMTP -määritystiedoston käyttöoikeudet:

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

Tiedoston /etc/ssmtp/ssmtp.conf käyttöoikeudet määrittävät, kuka voi lähettää sähköpostia Raspberry Pi -laitteesta. Oletuksena tämä tiedosto on käyttäjän root ja tiedoston ryhmä on myös root.

Muokkaa SSMTP -aliastiedostoa, joka sisältää tietoja sähköpostitileistä:

$ sudo nano /etc/ssmtp/ssmtp.conf

Kun yllä oleva asennus- ja määritysprosessi on valmis, testaa se lähettämällä sähköpostia komentoriviltä.

$ echo "sulje autotallin ovi" | mail -s "Garage Door Open" ♣ cell-phone-number♣@txt.att.net

Luo komentosarja tarkistaaksesi, onko autotallin ovi auki, kun sen ei pitäisi olla, ja lähetä sitten tekstiviesti.

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

ja lisää seuraava:

#!/bin/bash

# Tarkista onko autotallin ovi auki. # Jos auki, lähetä hälytys ja kirjoita syslog up = 0; ovi = $ (/home/pi/wiringPi/gpio/gpio lue 3) jos ["$ door" -eq "$ up"] sitten kirjaaja ♣ isäntänimesi ♣: autotallin oven auki kaiku "sulje autotallin ovi" | mail -s "Garage Door Open" ♣ cell-phone-number♣@txt.att.net fi exit 0

Lisää sitten crontab, joka toimii vaadittuina aikoina:

$ sudo crontab –e

ja lisää:

# Tarkista yöllä, onko autotallin ovi auki joka tunti

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

Jos kaikki toimii, siirry seuraavaan vaiheeseen.

Vaihe 12: Laita Raspberry Pi salaiseen kirjaan

Laita Raspberry Pi salaiseen kirjaan
Laita Raspberry Pi salaiseen kirjaan
Laita Raspberry Pi salaiseen kirjaan
Laita Raspberry Pi salaiseen kirjaan

Laita vadelma pi salaiseen kirjaan. Sain tämän Michaelilta noin 7 dollarilla. Leikkasin pieniä reikiä johtoille ja virtajohdolle.

Vaihe 13: Liite: Viitteet

SunFounder 2 -kanavainen 5 V: n relesuojamoduuli Arduinolle UNO 2560 1280 ARM PIC AVR STM32

  • 5V 2-kanavainen releliitäntäkortti, ja jokainen tarvitsee 15-20 mA
  • Ohjainvirta Varustettu suurvirtareleellä, AC250V 10A; DC30V 10A
  • Vakioliitäntä, jota voidaan ohjata suoraan mikro -ohjaimella (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL -logiikka)
  • Relelähdön tilan merkkivalot Linkki asiakirjan lataamiseen:

Vaihe 14: Liite: Päivitykset

21FEB2016

  • Alkuperäisissä ohjeissa oli ongelmia automaattisen korjauksen, muotoilun ja ohjeiden selkeyden kanssa.

    • Esimerkki ongelmasta on, kun koodin sisällä olevat lainausmerkit muutetaan sellaisiksi, jotka näyttävät kursivoidulta lainausmerkiltä. Jos leikkaat ja liität tämän komentosarjaan, se ei kuitenkaan toimi.
    • Ohjattava editori haluaa korjata automaattisesti, joten wlan kääntyy suunnitelman mukaan ja automaattinen poistaminen kääntyy automaattiseen poistamiseen. Näitä muutoksia on vaikea havaita.
    • Jotkut ohjeistani eivät ehkä olleet riittävän selkeitä.
    • Normaalisti käytän kulmasulkuja osoittimena jotain, joka on vaihdettava. Editori muuntaa ne html -muotoon. Joten vaihdoin hakasulkeisiin, mutta nämä voivat aiheuttaa ongelmia, koska ne näyttävät koodilta. Joten päädyin vihdoin ♣: iin indikaattorina korvaamaan todellinen arvo.
  • Ajan myötä olen myös parantanut joitain käsikirjoituksia.
  • Muokatut vaiheet 21-26

03 APR2016

  • Luotu liite vianmäärityksellä, viitteillä ja päivityksillä (vaiheet 27-29)
  • Vianmääritys siirretty liitteeseen edellisestä vaiheesta 2
  • Päivitetty ja aakkosjärjestetty vianmäärityssivu
  • Tiedoston nimi test2wifi.sh vaihdettiin osoitteeseen garage.sh - vain kuvaavampi.
  • Päivitetty cron käyttämään garage.sh
  • Muokattu 1, 20-26 (Luo käynnistyspalvelu ennen liitettä)

04 APR2016

  • Vaiheet 2-11 ja 16-20 korvattiin standardillani Raspberry Pi: n asentamisesta
  • Päivitetty osaluettelo, vaihe 1
  • Kuvia lisätty/yhdistetty

05 APR2016

Yksinkertaistettu verkkosivusto ja kuva (vaiheet 4 ja 5)

01 TOUKOKUU 2016

Lisätty vianmääritys Seco-larm/vadelma Pi -anturille

01 TOUKOKUU 2016

Aiempia muokkauksia ei tallennettu oikein?

11 marraskuu 2016

  • Päivitetty AT&T GigaPoweriin ja vaihtanut reitittimen 5268ac: ksi
  • 5268ac ei tue silmukkaa takaisin, joten Garage Opener -palvelin ei ole käytettävissä lähiverkon tietokoneilta. Jotta MacBook voi käyttää autotallin avaajan verkkopalvelinta, toimi seuraavasti:

$ sudo nano /etc /hosts

ja lisää rivi

192.168.1.64 ♣ palvelimen ulkoisen verkkotunnuksen nimi ♣

Tallenna ja poistu, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • 5268acin sisäänrakennetut portinsiirtosäännöt, kuten HTTPS-palvelin, HTTP-palvelin ja Web-palvelin, eivät toimi. Saadaksesi portin edelleenlähetyksen töihin:

    • Avaa selain ja siirry osoitteeseen 192.168.1.254
    • Kirjaudu sisään
    • Valitse Asetukset, Palomuuri, Sovellukset, pinholes ja DMZ.
    • Valitse autotallin avaajan verkkopalvelin
    • Valitse Käyttäjän määrittämä
    • Napsauta uutta käyttäjän määrittämää sovellusta
      • Kirjoita sovellusprofiilin nimeen: PortForwarding
      • Lisää Luo sovelluksen määritelmä -kohtaan jokainen seuraavista ja napsauta Lisää luetteloon:

        • TCP 80-80, kartta isäntäporttiin 443
        • TCP 443 - 443 kartta isäntäporttiin 443
        • UDP 443-443, kartta isäntäporttiin 443
        • UDP 80-80, kartta isäntäporttiin 443
    • Napsauta takaisin
    • Valitse verkkopalvelimesi uudelleen
    • Valitse Käyttäjän määrittämä
    • Lisää PortForwarding
    • Napsauta Tallenna

21JAN2018

  • Päivitetty Raspberry Pi 3: een
  • Useita muokkauksia vaiheisiin
  • Muutamia osia ja hintoja päivitetty

Vaihe 15: Liite: Vianetsintä

Käytetty levytila

Viimeisellä rivillä näkyy käytetty levytila. SD -kortissa on 8 Gt.

$ cd../..

$ sudo du –hx –c

sähköposti

Jos sinulla on ongelmia, kokeile tätä:

$ echo "testi" | sendmail -v ♣Omat-gmail-tilisi♣@gmail.com

Jos sähköposti on määritetty oikein, sinun pitäisi saada sähköposti gmail -tilillesi.

Jos saat todennusvirheen:

Sinun on ehkä alennettava tilisi suojausta. Turvallisuuden alentamista EI kuitenkaan suositella. Google lähettää sähköpostin, jossa on linkki alempaan suojausasetukseen.

Voit siirtyä nykyisestä sähköpostinlukijasta käyttämään tiliäsi www.gmail.com -sivustolla (suositus) tai muuttaa asetuksiasi osoitteessa https://www.google.com/settings/security/lesssecu…, jotta tilisi ei enää ole suojattu nykyaikaisilla turvallisuusstandardeilla.

En suosittele tietoturvastandardien alentamista.

Jos saat valtuutusvirheen:

Todennäköisin syy tähän on, että olet määrittänyt väärän käyttäjänimen tai salasanan gmail -tilillesi /etc/ssmtp/ssmtp.conf -tiedostossa. Tarkista AuthUser- ja AuthPass -kenttien arvot.

Jos yhteys katkeaa käsittelyn aikana:

Olet todennäköisesti määrittänyt väärän portin Googlen smtp: lle jossain /etc/ssmtp/ssmtp.conf -tiedostossa tai tiedostossa/etc/ssmtp/revaliases.

Tarkista lokiesi viimeiset rivit. Siellä pitäisi olla joitakin asiaankuuluvia virheilmoituksia:

$ tail /var/log/mail.log

$ tail/var/log/syslog

Autotallin ovi ei aukea

Jos kaikki toimi ja se vain pysähtyy, yritä käynnistää uudelleen. Jos tämä ei toimi, vedä virtajohto Raspberry Pi -laitteesta ja palauta sitten virta. Raspberry Pi: n pitäisi käynnistyä uudelleen alle 2 minuutissa ja kaiken pitäisi toimia hyvin. Tämä johtuu yleensä Residential Gatewayn virran katkeamisesta.

GPIO

Jos jokin menee pieleen, paras tapa nähdä, mitä tapahtuu, on seuraava komento:

$ gpio luettavissa

Kirjaudu Raspberry pi: hen MacBookista

pääte on MacBook -apuohjelma: levy/sovellukset/apuohjelmat/pääte. Pidän terminaalisovellusta telakalla.

Avaa MacBookissa pääte

$ ssh pi@♣ vadelma-pi-ip ♣

♣ salasana ♣

Kirjaudu sisään asuntoyhdyskäytävään

Avaa MacBookissa selain

URL = ♣ vadelma-pi-ip ♣

Kirjautuminen: ♣ yhdyskäytävä-salasana ♣

Lokit

Jos jokin menee pieleen, tarkista nämä lokit virheiden, varoitusten tai muiden ongelmien varalta.

$ cat/var/log/messages

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

MAC -hakemisto

MacBookin hakemisto, johon verkkosivustojen tiedostot on tallennettu

MAC-hakemisto =/Käyttäjät/♣ oma MacBook ♣/Työpöytä/Wi-Fi-yhteensopiva koti/wifi-yhteensopiva autotallin ovenavaaja/verkkosivusto

Salasana

Salasana = ♣ vadelma-pi-salasana ♣

Käytetty RAM ja CPU

$ alkuun

Poistu painamalla CTRL-c

Raspberry Pi -kotihakemisto

$ pwd

/koti/pi

Raspberry Pi -isäntänimi

$ hostname

isäntänimi = ♣ isäntänimi ♣

Raspberry Pi IP

♣ vadelma-pi-ip ♣ = 192.168.1.93

Raspberry Pi -sivustohakemisto

/var/www

Seco-larm lakkaa toimimasta

1.5.2016 Seco-larm lakkasi toimimasta. Tämä on kolmas kerta, kun anturi lakkasi toimimasta. Tämän sanomiseksi oikein, Raspberry Pi: n fyysinen nasta 15 lakkasi havaitsemasta 3,3 V: n tuloa. Kokeilin 3.3v fyysisiä nastoja 1 ja 17, ja molemmat tuottivat edelleen 3.3v. Vaihdoin fyysisestä nastasta 15 toiseen GPIO, fyysinen nasta 16 (GPIO 4) ja se alkoi toimia uudelleen. Joten Seco-larmissa ei ole mitään vikaa. Ongelma näyttää olevan Raspberry Pi GPIO: ssa.

GPIO 3, fyysinen nasta 15 on kuollut. Tämä on erittäin hyvä viesti GPIO -nastojen testaamisesta.

Vaihdoin GPIO 3: sta GPIO 4: een ja muutin koodin vastaavasti. En ole varma, miksi GPIO -nasta lakkasi toimimasta. Tässä on kaksi mahdollista syytä:

  • Minulla on Seco-larm-anturi asennettuna, joten kun ovi suljetaan, se antaa 3.3v. Autotallin ovi suljetaan useammin kuin se on auki. Ehkä GPIO-nasta ei voi ottaa enemmän tai vähemmän vakio 3,3 V: n tuloa.
  • Vika tapahtui samanaikaisesti sähkökatkon kanssa, ehkä siinä oli sähköpiikki.

U-jae Residential Gateway

Minulla on AT&T U-jae Residential Gatewayn kanssa, mutta minkä tahansa palvelun pitäisi toimia.

Jos U-verse Gateway käynnistetään uudelleen tai se katkaisee virran, Raspberry Pi on ehkä käynnistettävä uudelleen.

U-jae asuinyhdyskäytävä Julkinen IP = ♣ reitittimen julkinen IP-osoite

U-jakeisen asuinyhdyskäytävän julkinen IP-osoite voi muuttua, mutta se muuttuu hyvin harvoin

U-jae Residential Gateway kotisivu = 192.168.1.254

U-verse-reitittimen langattoman tukiaseman SSID = ♣ ssid ♣

WiFi -yhteys on odotettua hitaampi

Vaihda reititin vähemmän käytettyyn kanavaan. Oletuksena kaikki piirin tarjoajat virittävät kaikkien wifi -yhteyden kanavalle 1. Vaihda vähemmän käytettyyn kanavaan, kuten 11. Yritä käyttää paritonta numeroa.

Huomautus: Kerroin parille naapurille, mitä tein parantaakseni wi-fi: tä, ja nyt kaikki ovat 9 tai 11, joten muutin takaisin kohtaan 1. Käytä aina paritonta kanavaa.

Avaa selain.

Kirjoita U-jae-kohtaan 192.168.1.254 URL-kenttään.

Napsauta Langaton linkki ja valitse kanava 6 tai 11.

Älypuhelimille on sovellus nimeltä wifi -analysaattori. Yksi näytöistä näyttää kaikki lähellä olevat wifi -tukiasemat, jotka lähettävät tiettyä kanavaa. Naapurustossani kaikki on asetettu kanavalle 1.

Irrota Raspberry Pi ja irrota sitten virta

Suositeltava: