INHOUDSOPGAWE:

Raspberry Pi 3 Garage Door Opener: 15 stappe (met foto's)
Raspberry Pi 3 Garage Door Opener: 15 stappe (met foto's)

Video: Raspberry Pi 3 Garage Door Opener: 15 stappe (met foto's)

Video: Raspberry Pi 3 Garage Door Opener: 15 stappe (met foto's)
Video: 20+ No Carb Foods With No Sugar (80+ Low Carb Foods) Your Ultimate Keto Food Guide 2024, Julie
Anonim
Raspberry Pi 3 Garage Door Opener
Raspberry Pi 3 Garage Door Opener

Ek het hierdie instruksies geskep in 2014. Sedertdien het baie verander. In 2021 het ek die Smart Garage Door Opener hier opgedateer.

Gebruik 'n Raspberry Pi en 'n slimfoon om 'n motorhuisdeur oop te maak, toe te maak en te monitor. Die opening en sluiting van die deur word beveilig deur gebruik te maak van selfondertekende sertifikate wat op die gesin se selfone geïnstalleer is. As die deur van die motorhuis oop is wanneer dit nie behoort nie, stuur dan 'n SMS na 'n selfoon.

Die motorhuisdeur word sedert laat 2014 deurlopend gebruik. Deur die jare het ek probeer om die veranderinge op datum te hou. Daar is 'n bylae wat die veranderinge aan die instruksies beskryf.

Die doelwitte van hierdie projek is om:

  • Maak my eerste instruksies - ek was nie van plan om dit te plaas nie, maar ek het baie versoeke ontvang
  • Maak 'n motorhuisdeur oop met 'n standaard afstandsbediening
  • Maak 'n garagedeur oop met die muurmotordeurdeur
  • Maak 'n motorhuisdeur oop met 'n slimfoon
  • Monitor die status van die motorhuisdeur op afstand via 'n selfoon of skootrekenaar (is dit oop of toe?)
  • Stuur 'n SMS na my selfoon as die deur oop is wanneer dit gesluit moet word
  • Hou die motorhuisdeur veilig (byvoorbeeld, as die krag weg is, moet die deur nie oopgaan nie)
  • Moenie toelaat dat iemand anders op die internet die deur oopmaak nie (tweerigting selfondertekende SSL-sertifikaat)
  • Gebruik WiFi in plaas van 'n bedrade verbinding
  • Gebruik 'n Raspberry Pi 3

Die basis vir hierdie implementering van Garage Door Opener is afgelei van die Instructable: Raspberry Pi Garage Door Opener by quartarian. Oorspronklik het ek 'n model B+ Raspberry Pi gebruik, daarna na 'n Raspberry Pi 2 model B, en nou gebruik dit 'n Raspberry Pi 3.

Ek het 'n MacBook gebruik om met die Raspberry Pi te kommunikeer, maar enige rekenaar kan gebruik word.

Daar is geen dwingende rede om hierdie toestel te bou nie, maar dit was pret. Dit is meer koste -effektief om een te koop. 'N Soortgelyke toestel kan vir ongeveer $ 130 dollar gekoop word.

  • Hef meester 828LM
  • Chamberlain MyQ $ 129
  • GoGo Gate $ 179
  • Vakman $ 100

Notas:

  • Teks ingesluit in grawe, soos hierdie ♣ vervang-hierdie ♣ moet vervang word met 'n werklike waarde
  • Arduino onderstreep blou teks is 'n skakel. In hierdie geval is dit 'n skakel na 'n arduino -weergawe van 'n motordeuropening.
  • Ek het probeer om elke bron wat gebruik word, te krediteer. Ek vra om verskoning vir enige weglatings. Die meeste van hierdie dokument is gebaseer op ander mense se werk.
  • $ dui 'n opdrag aan wat uitgevoer word in 'n terminale venster op die MacBook en word gewoonlik uitgevoer op die Raspberry Pi

Stap 1: Versamel onderdele

Koop of versamel onderdele en gereedskap (pryse in USD).

  • Raspberry Pi 3 Model B Newark Element14 $ 35
  • 5.2V 2.5A USB -kragadapter van Amazon $ 9,99
  • Mikro -USB na USB -kabel 6 voet van Amazon $ 7,99
  • Case van Amazon $ 6,99
  • SanDisk Ultra 16 GB microSDHC Klas 10 met adapter (SDSQUAN-016G-G4A) van Amazon $ 8,99
  • SunFounder 2 -kanaals 5V Relay Shield -module vir Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $ 6,79
  • 3x vroulike-vroulike springdrade. By Fry's gekoop vir $ 4,95.
  • Dinamiese DNS $ 40 per jaar vir 30 name (dyn.com)
  • 1-bende 18 cu. in. Old Work Heavy Wall Switch and Outlet Box, $ 3,12
  • Ultra Pro enkelborsel wit muurbord, $ 7,88
  • SECO-LARM SM 226L, Garage Door Sensor, prys wissel baie, $ 9,99 op Amazon met gratis aflewering
  • 50 voet vaste termostaatdraad, Home Depot of Lowe's, $ 20

My totaal: ~ $ 172,00

Ek het die volgende onderdele, gereedskap en dienste gehad:

  • CAT5 Ethernet -kabel
  • Klein maatdraad, 6 voet lank
  • Phillips kopskroewedraaier
  • Naald tang
  • Boksnyers
  • Juweliers het 'n platte skroewedraaier, wat nodig is om die skroewe op die relais los te maak
  • MacBook ('n rekenaar kan gebruik word)
  • AT&T GigaPower (enige internetdiensverskaffer kan gebruik word)

Stap 2: Stel Raspberry Pi op sonder monitor of sleutelbord

Stel Raspberry Pi op sonder monitor of sleutelbord
Stel Raspberry Pi op sonder monitor of sleutelbord

Alle Raspberry Pi -projekte benodig 'n soort opstelling. Ek gebruik graag dieselfde stel instruksies en het, indien nodig, een plek om die instruksies by te werk.

Stel Raspberry Pi op met behulp van die volgende instruksies:

Stel Raspberry Pi op sonder monitor of sleutelbord

Die instruksies hierbo bevat opsionele stappe in die bylaag. Maak seker dat u die stap doen:

Voeg sertifikate aan die kliëntkant by webbedieners

Raspberry Pi afskakel

$ sudo afsluit -h 0

Sodra dit gesluit is, verwyder dit

  • ethernetkabel
  • Seriële USB -kabel

Dit sal nie meer nodig wees nie. Gebruik wifi, ssh en 'n terminale venster op die Mac Book om opdragte op die Raspberry Pi uit te voer.

Ontkoppel die krag en steek die stroom weer in, en die framboos pi moet herlaai.

Stap 3: Installeer Wiring Pi, Apache en PHP

Installeer Wiring Pi

Maak 'n terminale venster op die Mac Book oop. Teken in op Raspberry Pi, laai, kompileer en installeer Wiring Pi. Met hierdie sagteware kan u die GPIO -penne beheer. Hier is 'n stap-vir-stap gids:

wiringpi.com/download-and-install/

Hier is 'n verkorte weergawe van die instruksies:

$ ssh pi@♣ framboos-pi-ip ♣

wagwoord: ♣ wagwoord ♣ $ sudo apt-get install git-core $ git kloon git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull oorsprong $./build

Voer die gpio -opdrag uit om die installasie na te gaan:

$ gpio -v

gpio weergawe: 2.29 Kopiereg (c) 2012-2015 Gordon Henderson Dit is gratis sagteware met absoluut GEEN GARANTIE. Vir besonderhede, tipe: gpio -waarborg Raspberry Pi -besonderhede: Tipe: Model 2, hersiening: 1.1, geheue: 1024MB, vervaardiger: Sony [OV] Toestelboom is aangeskakel. Hierdie Raspberry Pi ondersteun GPIO-toegang op gebruikersvlak. -> Sien die man-bladsy vir meer besonderhede $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Naam | Modus | V | Fisiek | V | Modus | Naam | 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 | UIT | 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 | Naam | Modus | V | Fisiek | V | Modus | Naam | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+

Bogenoemde opdragte moet u die vertroue gee dat wiringPi goed werk.

Installeer Apache en PHP

Voer die volgende opdragte uit:

$ cd..

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

Om te verifieer dat die webbediener werk, maak 'n blaaier oop en voer die URL in:

♣ framboos-pi-ip ♣

Die standaardwebwerf van Apache reageer met 'Dit werk!'

Stap 4: webwerf

Maak 'n terminale venster op die Mac Book oop. Teken in op Raspberry Pi, verwyder dan die standaard index.html -lêer, verander die regte op die webwerfgids en wysig 'n lêer genaamd index.php.

$ ssh pi@♣ framboos-pi-ip ♣

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

En voer die volgende kode in:

Garage Opener

Tuisautomatisering

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

";} anders {echo"

"; } ?>

Garage Door Opener Handleiding vir motordeurdeure gesluit 1 oop 0
<? php if ($ trigger == 0) {echo "<td colspan = \" 4 / "} anders {echo"

var13 ->

CTRL-o en ENTER om die lêer te skryf, en CTRL-x om die redakteur te verlaat.

Verander toestemmings op die lêer

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

Stap 5: Webwerfbeeld

Webwerfbeeld
Webwerfbeeld
Webwerfbeeld
Webwerfbeeld

Haal 'n hoë-resolusie oop motorhuisdeuropener van die internet af. Verander die prentjie soos u wil met 'n Mac -kwas. In die prent hierbo is 'n hoë resolusie Genie Garage Opener gebruik, 'n framboos pi -logo is bygevoeg en die led is verwyder.

Een beeld is die agtergrond (remote-background.jpg), en die ander is die aktiewe beeld (remote-press.jpg).

Die plan was dat die framboos met die knoppie druk, in plaas van die LED te knip. Ek het die webwerf vereenvoudig.

Kopieer die beelde na die framboos pi:

$ scp *-j.webp

wagwoord: ♣ wagwoord ♣

Die webwerf het 'n enkele drukknop. Om dit te verifieer, maak 'n blaaier oop en voer 'framboos-pi-ip' in. In plaas van die standaard webwerf van Apache, wat sê "Dit werk!", Moet die knoppie verskyn. Druk dit.

Stap 6: Beheer die bediener op afstand

Ek maak 'n dinamiese DNS -naam gebruik om toegang tot die deur van die motordeur van 'n afgeleë plek te verkry. Omdat ek nie daarvan hou om IP -adresse te onthou nie.

Met hierdie funksie voer ek 'dinamiese-gasheernaam'.getmyip.com in die URL-veld van 'n blaaier in. Opmerking: die IP op tuisrouters kan verander sonder kennisgewing, maar dit gebeur selde. Ek het gekies om DynDNS te gebruik. U moet die openbare IP -adres van u router ken.

U-Verse Router IP: ♣ uverse-public-ip ♣

U kan u gasheernaam en DynDNS Pro -rekeningbesonderhede sien. Hier is 'n paar wenke om aan die gang te kom:

  • Skep u dinamiese DNS -gasheernaam (1 van 30):

    • ♣ dinamiese gasheernaam ♣
    • Opdateringsleutel: ♣ dinamiese-ip-opdaterer-sleutel ♣
  • Installeer 'n opdateringskliënt om te verseker dat u gasheernaam altyd na die korrekte IP -adres verwys word.

    • Laai af en installeer op MacBook
    • AT & T U-vers IP's verander selde, dus die opdatering hierbo kan uitgevoer word wanneer dit verander
    • Volg die instruksies:

      • Voeg rekening
      • Voer gebruikersnaam en wagwoord in: ♣ dynamic-ip-gebruikersnaam ♣ ♣ dynamic-ip-password ♣
      • Kies gasheernaam
      • Klik op Configure Selected Hosts
      • Die gasheer moet aktief word
    • Stel u netwerk op om toegang tot u toestel vanaf die internet toe te laat. U kan ons Dyn Wizard gebruik vir algemene instruksies oor hoe u dit moet doen, hulpbronne soos PortForward.com gebruik of die vervaardiger van die toestel kontak vir hulp.

      • AT & T U-vers
      • Port Forwarding for 2-Wire 3801HGV-dit is die AT&T U-Verse-router wat ek het. Sien opdaterings in 'n aanhangsel vir meer inligting oor hoe u na AT&T U-vers 5268ac-router kan stuur.
      • Maak die blaaier oop en gaan na 'framboos-pi-ip'
      • Wagwoord: ♣ wagwoord ♣
      • Instellings
      • Firewall

        • Kies 'framboos-pi-gasheernaam'
        • Bedieners

          • Webbedienerpoort 80
          • HTTPS -bediener - poort 443
        • Voeg by
      • Stoor

Sodra dit gedoen is, werk die webbediener vanaf die internet. Voer ♣ dinamiese-gasheernaam enter in om te verifieer, en u moet die knoppie van die deur van die motordeur sien.

Stap 7: Draai die kring na die Raspberry Pi

Dra die kring na die Raspberry Pi
Dra die kring na die Raspberry Pi

Vir die kode (stap 4 en 6) gebruik ek GPIO -pen 7. Dit is toevallig dat GPIO 7 dieselfde is as wiringPi -pen 7. In die PHP -kode word bedradingspeldnommers gebruik en NIE GPIO -speldnommers nie. U kan die een wat u wil gebruik, maar verander die kode.

Ek het probeer om gedraaide draad te gebruik, maar die aflos hou nie goed op die gedraaide draad nie. Soliede draad is beter.

Met my eerste poging het ek drie aansluitkabels (vrou-tot-man) gemaak.

  • Gebruik drie vroulike tot vroulike springkabels
  • Sny drie stukke soliede draad tot ongeveer 1 duim.

    Strooi 1/4 duim aan albei kante van soliede draad

  • Steek een soliede draad in een vroulike springkabel.

Hier is 'n beter manier om aansluitkabels (vroulik-manlik) te maak:

  • Gebruik slegs soliede draad
  • Sny drie stukke soliede draad van 4 cm
  • Strooi 1/4 duim aan albei kante van soliede draad
  • Gebruik vroulike verbindingspenne

    • Skuif een verbindingspen aan die een kant van soliede draad en krimp

      Vroulike pen moet nie loskom nie, soldeer indien nodig

    • Skuif rekverligting oor vroulike verbindingspen of dekselpen met band van elektrisiën

Dra die relais na die pi soos in die diagram getoon:

  • Koppel die vroulike uiteinde van die kabel aan die Raspberry Pi -pen.
  • Steek soliede draad in Relay.

Stap 8: Skep 'n opstartdiens

Die meeste relais, insluitend die gekoopte, werk soos volg:

  • As die sein AAN is, bly die stroombaan af.
  • As die sein AF is, is die stroombaan aan.

As die Raspberry Pi krag verloor, het die aflos 'n veiligheidsmeganisme wat die stroombaan UIT hou.

Daar kan 'n probleem ontstaan as die Rapberry Pi en die aflos die krag herstel, maar voordat die Raspberry Pi klaar is met die oplaai om die sein aan te skakel wat nodig is om die stroombaan af te hou. U kan soggens wakker word met u motorhuis oop en moontlik 'n paar nuwe vriende!

Die aflos begin egter nie eers voordat die GPIO -penmodus ingestel is met hierdie opdrag: gpio -modus 7 uit. Verder, as die GPIO -pen op AAN (gpio skryf 7 1) is voordat u die GPIO -modus instel, bly die relais af sodra dit geïnisialiseer is.

Gebruik die volgende opstartskrif om hierdie inisialisering by die opstart te laat loop en nie met nuwe vriende wakker te word nie.

$ ssh pi@♣ framboos-pi-ip ♣

$ sudo nano /etc/init.d/garagerelay

Plak dan hierdie skrif:

#! /bin/bash

# /etc/init.d/garagerelay # Voer spesifieke funksies uit wanneer die stelselkas "$ 1" dit in aanvang vra) eggo "Start relais" # Skakel 7 aan wat relais afskakel/usr/local/bin/gpio skryf 7 1 #Begin Gpio/usr/local/bin/gpio af 7 uit;; stop) eggo "Stop gpio";; *) eggo "Gebruik: /etc/init.d/garagerelay {begin | stop}" afrit 1;; esac afrit 0

Om te stoor: CTRL-o, ENTER

Om nano te verlaat, CTRL-x

Maak die lêer uitvoerbaar:

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

Sê nou vir u pi om hierdie script tydens die opstart uit te voer:

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

(Let wel: u kan die waarskuwing "ontbrekende LSB -etikette" veilig ignoreer.)

Maak seker dat die opstartskrip loop

$ sudo herlaai

Maak 'n blaaier oop en klik op die opener. Die aflos moet klik.

Stap 9: Koppel Raspberry Pi aan die motorhuis

Koppel Raspberry Pi aan die motorhuis
Koppel Raspberry Pi aan die motorhuis

As u die Raspberry Pi verplaas, moet u die volgende uitvoer:

$ afsluit -h 0

Miskien wil u die motor se motor afskakel. Die deurklokkie -oopmaker maak u dus nie elektrisiteit nie:). Die eintlike rede is dat die deur elke keer as u die drade kort, op en af gaan.

Draai die muurskroewe los van die deurklokopener, wat die deurklokkie aan die muur heg.

Steek 'n gat deur van die motorhuis agter die deuropening tot binne -in die huis. In Texas behoort die Raspberry Pi nie in die motorhuis te wees nie; die temperatuurvariasie in die motorhuis is buite die funksies van die Raspberry Pi.

Dra die aflosdrade deur die gat (gebruik 'n kapstok).

Draai albei skroewe aan die agterkant van die deurklokkie oop.

Trek albei kante van die aflosdrade af: 1) ongeveer 1/8 duim van die afloskant, en ongeveer ½ duim aan die deurklokkant. Buig die deurklokkie van die draad in 'n halwe lus wat groot genoeg is om om die agterkantskroef te pas.

Koppel een aflosdraad aan elke skroef aan die agterkant van die deurklokkie en draai die skroef vas. Die verbindings is soos in die prent getoon. Aangesien die relais die stroombaan isoleer, maak die rigting nie eers saak watter relais aan watter skroef geheg is nie.

Stap 10: Koppel Raspberry Pi aan SECO-LARM

Koppel Raspberry Pi aan SECO-LARM
Koppel Raspberry Pi aan SECO-LARM
Koppel Raspberry Pi aan SECO-LARM
Koppel Raspberry Pi aan SECO-LARM

Voordat ek die kode voltooi het, was ek en my gesin met vakansie en het ek my blaaier oopgemaak. My blaaier se laaste siening was van die deur van die motorhuis - die bladsy word verfris en die deur van die motorhuis is oopgemaak. 'N Paar dae later bel 'n buurman en vra of die motorhuisdeur oop moet wees? Gelukkig kon ek dit van 500 myl af sluit.

Hierdie snafu het my gedwing om die kode te verander sodat dit nie gebeur nie, en 'n sensor en die toestand van die garagedeur by die webwerf voeg.

Dit is 'n skakel na die oorspronklike instruksie vir die toevoeging van 'n sensor. Gegewe alles wat reeds voltooi is, kan die installering van die sensor egter baie vereenvoudig word en in plaas van python 'n paar reëls kode by index.php voeg.

closed

Die magneet is aan die linkerkant bo-aan die binnekant van die motorhuisdeur vasgemaak, en die sensor is aan die motorhuis se muur vasgemaak. Ek moes dus 'n soliede termostaatdraad van die sensor na die framboos pi lei. Dit het 'n gat van die motorhuis tot by die solder en van die solder in die muur met die motordeuropening (deurklokkie) nodig.

Ek het 'n blou aansluitkas tussen die SECO-LARM-sensor en soliede drade geplaas.

In my huis is daar 'n gaping van 18 cm tussen die plafon van die eerste verdieping en die onderkant van die tweede verdieping. Ek neem aan dit is waar die verwarmings- en verkoelingskanale loop. Ek het 'n boorverlenging lank genoeg nodig gehad om deur die tweede verdieping te gaan en deur die boonste 2x4 (boonste plaat) met die deurklokkie.

Die belangrikste deel is om NIE deur die elektrisiteit te boor vanaf die solder na die gebied waar die drade na die motordeuropening gaan nie. Dit was nie lekker om dit reg te stel nie. Dit was nogal opwindend om die vonke te sien en die ligte te laat uitgaan!

Die sensor benodig twee soliede termostaatdrade of onsigbare draaddrade.

Die Raspberry Pi het verskeie penbeskrywings (BCM, wPi, fisies). Die kode gebruik die pi -nommers vir bedrading. Om alle penne en pen toewysings en penwaardes te sien, voer in:

$ gpio lees alles

Vir 'n gpio -handleiding, voer die volgende in:

$ gpio man

In die oorspronklike instruksies word die fisiese pen 9 gemaal en kan dit met een van die SECO-LARM-aansluitings verbind word. Dit werk egter nie vir my nie. Koppel eerder die leidings aan die fisiese penne 15 en 17

Fisiese pen 15 (wPi pen 3) gaan na 3.3V wanneer die SECO-LARM sensor gesluit is. Fisiese pen 17 is 3.3v. As dit nie werk nie, skakel dan die verbindings op die SECO-LARM.

Heg SECO-LARM aan motorhuisdeur en muur vas. Begin drade en koppel aan Raspberry Pi.

Stap 11: Stuur waarskuwing as die deur oop is wanneer dit gesluit moet word

Stuur 'n sms -boodskap na 'n selfoon as die motorhuisdeur oop is wanneer dit nie behoort nie.

Installeer en konfigureer eenvoudige SMTP.

Ek het AT&T selfoon en gebruik ♣cell-phone-number♣@txt.att.net vir sms-boodskappe. Ek het ook 'n gmail-rekening, en die voorbeeld hieronder gebruik ♣gmail-account♣@gmail.com. Maak die toepaslike veranderinge as u verskillende dienste gebruik.

Vir die $ -opdragte hieronder, maak 'n terminale venster op die MacBook oop en meld u aan by u Raspberry Pi.

Maak seker dat bewaarplekke op datum is:

$ sudo apt-get update

Installeer eenvoudige SSMTP- en poshulpprogramme:

$ sudo apt-get installeer ssmtp

$ sudo apt-get installeer mailutils

Wysig die SSMTP -konfigurasielêer:

$ sudo nano /etc/ssmtp/ssmtp.conf

soos volg:

mailhub = smtp.gmail.com: 587 hostname = ♣ jou-hostname ♣ AuthUser=♣gmail-acc♣♣@gmail.com AuthPass = ♣ gmail-wagwoord ♣ UseSTARTTLS = JA

Wysig die SSMTP -aliaslêer:

$ sudo nano/etc/ssmtp/revaliases

Skep 'n reël vir elke gebruiker wat e -pos kan stuur. Byvoorbeeld:

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

Stel die toestemmings van die SSMTP -konfigurasielêer in:

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

Die toestemmings van die lêer /etc/ssmtp/ssmtp.conf bepaal wie e -pos vanaf die Raspberry Pi kan stuur. Hierdie lêer is standaard die gebruiker se wortel en die groep van die lêer is ook wortel.

Wysig die SSMTP -aliaslêer, wat data bevat oor die e -posrekeninge:

$ sudo nano /etc/ssmtp/ssmtp.conf

Sodra die bogenoemde opstel- en konfigurasieproses voltooi is, toets dit deur 'n e -pos vanaf die opdragreël te stuur.

$ echo "maak die motorhuisdeur toe" | pos "s" Garage Door Open "♣ selfoon- nommer♣@txt.att.net

Skep 'n skrif om te kyk of die motorhuisdeur oop is wanneer dit nie behoort nie, en stuur dan 'n SMS.

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

en voeg die volgende by:

#!/bin/bash

# kyk of motorhuisdeur oop is. # As oop, stuur 'n waarskuwing en skryf aan syslog up = 0; deur = $ (/home/pi/wiringPi/gpio/gpio lees 3) as ["$ deur" -eq "$ up"] dan loggeer ♣ jou -gasheernaam ♣: Garagedeur Open echo "sluit die garagedeur" | pos -s "Garage Door Open" ♣cell-phone-number♣@txt.att.net fi exit 0

Voeg dan 'n crontab by om gedurende die vereiste ure te hardloop:

$ sudo crontab –e

en voeg by:

# Kyk snags elke uur of die motorhuisdeur oop is

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

As alles werk, gaan dan na die volgende stap.

Stap 12: Sit Raspberry Pi in die geheime boek

Sit Raspberry Pi in die geheime boek
Sit Raspberry Pi in die geheime boek
Sit Raspberry Pi in die geheime boek
Sit Raspberry Pi in die geheime boek

Sit die framboos pi in 'n geheime boek. Ek het hierdie by Michael vir ongeveer $ 7 gekry. Ek sny 'n paar gaatjies vir die drade en die netsnoer.

Stap 13: Bylaag: Verwysings

SunFounder 2 -kanaal 5V Relay Shield -module vir Arduino UNO 2560 1280 ARM PIC AVR STM32

  • 5V 2-kanaal Relay-koppelvlakbord, en elkeen benodig 15-20mA
  • Bestuurderstroom Uitgerus met hoogstroom relais, AC250V 10A; DC30V 10A
  • Standaard koppelvlak wat direk deur mikrobeheerder beheer kan word (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logika)
  • Aanduidings -LED's vir relaisuitsetstatus Skakel om die dokument af te laai:

Stap 14: Bylaag: opdaterings

21 FEB2016

  • In die oorspronklike instruksies was daar probleme met outokorreksie, opmaak en duidelikheid van aanwysings.

    • 'N Voorbeeld hiervan is wanneer dubbele aanhalings binne die kode verander word na iets wat soos 'n kursiewe dubbele aanhaling lyk. As u dit egter in 'n script knip en plak, werk dit nie.
    • Die instruksionele redakteur hou daarvan om outokorreksie te doen, so wlan gaan oor na beplanning en outomaties verwyder om outomaties te verwyder. Hierdie veranderinge is moeilik om raak te sien.
    • Sommige van my aanwysings was moontlik nie duidelik genoeg nie.
    • Normaalweg gebruik ek hoekhakies as 'n aanduiding vir iets wat vervang moet word. Die redakteur skakel dit om in html. Ek het dus oorgeskakel na vierkantige hakies, maar dit kan probleme veroorsaak omdat dit soos kode lyk. Dus het ek uiteindelik besluit oor as s as 'n aanduiding vir vervanging met 'n werklike waarde.
  • Met verloop van tyd het ek ook sommige van die skrifte verbeter.
  • Stappe 21-26 geredigeer

03 APR 2016

  • 'N Bylaag gemaak met probleemoplossing, verwysings en opdaterings (stappe 27-29)
  • Het probleemoplossing na bylaag oorgeplaas vanaf vorige stap 2
  • Die probleemoplossingsbladsy opgedateer en alfabeties opgestel
  • Naam van lêer verander van test2wifi.sh na garage.sh - net meer beskrywend.
  • Opgedateer cron om garage.sh te gebruik
  • Geredigeer 1, 20-26 (Skep 'n opstartdiens om voor bylaag te stap)

04 APR2016

  • Stap 2-11 en 16-20 vervang met my standaard: die opstel van 'n Raspberry Pi
  • Opgedateerde onderdele lys, stap 1
  • Foto's bygevoeg/saamgevoeg

05 APR 2016

Vereenvoudigde webwerf en beeld (stap 4 en 5)

01 MEI 2016

Bygevoeg probleemoplossing vir die Seco-larm/framboos Pi-sensor

01 MEI 2016

Vorige wysigings nie behoorlik gestoor nie?

11 NOV 2016

  • Opgedateer na AT&T GigaPower en het die router verander na 5268ac
  • 5268ac ondersteun nie terugloop nie, dus is die Garage Opener -bediener nie toeganklik vanaf rekenaars op die LAN nie. Om 'n MacBook toegang tot die garage -opener -webbediener te verkry, doen die volgende:

$ sudo nano /etc /hosts

en voeg die reël by

192.168.1.64 ♣ bediener-eksterne-domeinnaam ♣

Stoor en verlaat, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • Die ingeboude reëls vir die deurstuur van poort van 5268ac, soos HTTPS-bediener, HTTP-bediener en webbediener werk nie. Om hawe deur te stuur na die werk:

    • Maak 'n blaaier oop en gaan na 192.168.1.254
    • Teken aan
    • Kies Instellings, Firewall, Toepassings, speldegate en DMZ.
    • Kies die motorbediener se webbediener
    • Kies deur die gebruiker gedefinieerde
    • Klik op 'n nuwe gebruikersgedefinieerde toepassing

      • Voer in die toepassingsprofielnaam in: PortForwarding
      • Voeg in die skep van toepassingsdefinisie elk van die volgende by en klik op Voeg by lys:

        • TCP van 80 tot 80, kaart na gasheerpoort 443
        • TCP van 443 tot 443 kaart na die poort 443
        • UDP van 443 tot 443, kaart na gasheerpoort 443
        • UDP van 80 tot 80, kaart na gasheerpoort 443
    • Klik terug
    • Kies u webbediener weer
    • Kies deur die gebruiker gedefinieerde
    • Voeg PortForwarding by
    • Klik op Stoor

21JAN2018

  • Opgedateer na Raspberry Pi 3
  • Verskeie wysigings aan stappe
  • 'N Paar onderdele en pryse opgedateer

Stap 15: Bylaag: probleemoplossing

Skyfspasie gebruik

Laaste reël toon die totale skyfspasie wat gebruik word. SD -kaart het 8 GB.

$ cd../..

$ sudo du –hx –c

e -pos

Probeer dit as u probleme ondervind:

$ echo "toets" | sendmail -v ♣your-gmail-account♣@gmail.com

As die e -pos korrek opgestel is, moet u 'n e -pos in u gmail -rekening kry.

As u 'n verifikasie misluk:

Miskien moet u die sekuriteit op u rekening verlaag. Die verlaging van sekuriteit word egter NIE aanbeveel nie. Google sal 'n e -pos met 'n skakel na die laer sekuriteitsinstelling stuur.

U kan van u huidige e -posleser oorskakel om www.gmail.com te gebruik om toegang tot u rekening te kry (aanbeveel) of u instellings te verander by https://www.google.com/settings/security/lesssecu… sodat u rekening nie meer bestaan nie beskerm deur moderne sekuriteitstandaarde.

Ek beveel nie aan om u veiligheidstandaarde te verlaag nie.

As u 'n magtiging misluk:

Die mees waarskynlike oorsaak hiervan is dat u 'n verkeerde gebruikersnaam of wagwoord vir u gmail -rekening in die /etc/ssmtp/ssmtp.conf -lêer gespesifiseer het. Kontroleer die waardes van die velde AuthUser en AuthPass dubbel.

As u tydens die verwerking die verbinding onderbreek:

Die kans is goed dat u die verkeerde poort vir die Google smtp iewers in /etc/ssmtp/ssmtp.conf of in/etc/ssmtp/revaliases gespesifiseer het.

Gaan die laaste reëls van u logs na. Daar behoort 'n paar relevante foutboodskappe te wees:

$ stert /var/log/mail.log

$ tail/var/log/syslog

Garagedeur kan nie oopgaan nie

As alles werk en dit net stop, probeer dan weer begin. As dit nie werk nie, trek die netsnoer uit die Raspberry Pi en herstel dan die krag. Die Raspberry Pi moet binne minder as 2 minute herlaai en alles moet goed werk. Dit word gewoonlik veroorsaak deur 'n verlies aan krag na die Residential Gateway.

GPIO

As iets verkeerd loop, is die beste manier om te sien wat gebeur met die volgende opdrag:

$ gpio lees alles

Meld aan by framboos pi vanaf MacBook

terminale is 'n MacBook -program: skyf/toepassings/hulpmiddels/terminale. Ek hou die terminale app in die beskuldigdebank.

Open die terminale op MacBook

$ ssh pi@♣ framboos-pi-ip ♣

♣ wagwoord ♣

Meld aan by residensiële poort

Open die blaaier op MacBook

URL = 'framboos-pi-ip'

Teken in: ♣ gateway-wagwoord ♣

Logs

As iets verkeerd loop, kyk na hierdie logboeke vir foute, waarskuwings of ander probleme.

$ cat/var/log/messages

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

MAC -gids

Gids op MacBook waar webwerf lêers gestoor word

MAC-gids =/Gebruikers/♣ my macbook ♣/Desktop/wi-fi-aangeskakel huis/wifi-oopgemaakte garagedeuropener/webwerf

Wagwoord

Wagwoord = ♣ framboos-pi-wagwoord ♣

RAM en SVE gebruik

$ bo

CTRL-c om te verlaat

Raspberry Pi tuisgids

$ pwd

/huis/pi

Framboos Pi -gasheernaam

$ gasheernaam

gasheernaam = ♣ gasheernaam ♣

Framboos Pi IP

♣ framboos-pi-ip ♣ = 192.168.1.93

Raspberry Pi webwerf gids

/var/www

Seco-larm hou op werk

Op 01 MEI 2016 het die Seco-larm opgehou werk. Dit is die derde keer dat die sensor ophou werk. Om dit reg te sê, het fisiese pen 15 op die Raspberry Pi opgehou om die 3.3v -inset op te spoor. Ek het 3.3v fisiese penne 1 en 17 probeer, en albei lewer nog steeds 3.3v uit. Ek het oorgeskakel van fisiese pen 15 na 'n ander GPIO, fisiese pen 16 (GPIO 4) en dit het weer begin werk. Daar is dus niks verkeerd met die Seco-larm nie. Die probleem blyk te wees met die Raspberry Pi GPIO.

GPIO 3, fisiese pen 15 is dood. Dit is 'n baie goeie boodskap oor hoe om GPIO -penne te toets.

Ek het oorgeskakel van GPIO 3 na GPIO 4 en die kode dienooreenkomstig verander. Ek weet nie hoekom die GPIO -pen opgehou het om te werk nie. Hier is twee moontlike redes:

  • Ek het die Seco-larm sensor gemonteer, en as die deur gesluit word, lewer dit 3.3v. Die motorhuisdeur word meer gereeld toegemaak as dit oop is. Miskien kan die GPIO-pen nie 'n min of meer konstante inset van 3.3v neem nie.
  • Die mislukking het saamgeval met 'n kragverlies, miskien was daar 'n kragpiek.

U-vers Residensiële poort

Ek het AT & T U-vers met 'n Residential Gateway, maar enige diens behoort te werk.

As die U-vers Gateway herbegin word of die krag verloor, moet die Raspberry Pi moontlik herlaai word.

U-vers residensiële gateway Openbare IP = ♣ router-public-ip ♣

Die openbare IP van 'n U-vers-residensiële poort kan verander, maar dit gebeur baie selde

U-vers Residential Gateway Home Page = 192.168.1.254

U-vers Router wireless access point's SSID = ♣ ssid ♣

WiFi -deurvoer is stadiger as wat verwag is

Verander router na 'n minder gebruikte kanaal. Alle kringverskaffers stel standaard almal se wifi af op kanaal 1. Skakel oor na 'n minder gebruikte kanaal, soos, 11. Probeer 'n onewe getal gebruik.

Nota: ek het 'n paar bure vertel wat ek gedoen het om die Wi-Fi te verbeter, en nou is almal op 9 of 11, so ek het teruggegaan na 1. U moet altyd 'n vreemde kanaal gebruik.

Maak 'n blaaier oop.

Vir U-vers, voer 192.168.1.254 in die URL-blokkie in.

Klik op die draadlose skakel en kies kanaal 6 of 11.

Daar is 'n app vir 'n slimfoon wat wifi -ontleder genoem word. Een van die skerms wys al die nabygeleë wifi -toegangspunte wat op 'n spesifieke kanaal uitgesaai word. In my omgewing is almal ingestel op kanaal 1.

Ontkoppel Raspberry Pi en herstel dan die krag

Aanbeveel: