Taula de continguts:

Obridor de porta de garatge Raspberry Pi 3: 15 passos (amb imatges)
Obridor de porta de garatge Raspberry Pi 3: 15 passos (amb imatges)

Vídeo: Obridor de porta de garatge Raspberry Pi 3: 15 passos (amb imatges)

Vídeo: Obridor de porta de garatge Raspberry Pi 3: 15 passos (amb imatges)
Vídeo: Вздулся аккумулятор 2024, Desembre
Anonim
Obridor de porta de garatge Raspberry Pi 3
Obridor de porta de garatge Raspberry Pi 3

Vaig crear aquesta instrucció el 2014. Des de llavors, han canviat molt. El 2021, vaig actualitzar l’obridor de portes de garatge intel·ligent aquí.

Utilitzeu un Raspberry Pi i un telèfon intel·ligent per obrir, tancar i controlar una porta del garatge. L’obertura i el tancament de la porta es garanteixen mitjançant certificats autofirmats instal·lats als telèfons mòbils de la família. Si la porta del garatge està oberta quan no hauria d’estar, envieu un missatge de text (SMS) a un telèfon mòbil.

La porta del garatge fa un ús continuat des de finals del 2014. Amb els anys he intentat mantenir els canvis actualitzats. Hi ha un apèndix que descriu els canvis a la instrucció.

Els objectius d’aquest projecte són:

  • Feu que sigui el primer instructiu: no tenia previst publicar-ho, però he rebut moltes sol·licituds
  • Obriu una porta del garatge amb un comandament a distància estàndard
  • Obriu una porta de garatge amb l’obridor de timbre muntat a la paret
  • Obriu una porta del garatge amb un telèfon intel·ligent
  • Superviseu l’estat de la porta del garatge de manera remota mitjançant un telèfon mòbil o un ordinador portàtil (està obert o tancat?)
  • Envieu un missatge de text al meu telèfon mòbil si la porta està oberta quan s’hauria de tancar
  • Mantingueu la porta del garatge segura (per exemple, en cas de pèrdua d’alimentació, la porta no s’hauria d’obrir)
  • No permeteu que ningú més a la xarxa obri la porta (certificat SSL bidireccional autofirmat)
  • Utilitzeu WiFi en lloc d’una connexió per cable
  • Utilitzeu un Raspberry Pi 3

La base d’aquesta implementació de l’obridor de portes de garatge es va derivar de l’instructible: obridor de portes de garatge Raspberry Pi del quartari. Originalment, feia servir un model B + Raspberry Pi, que després em vaig mudar a un Raspberry Pi 2 model B i ara fa servir un Raspberry Pi 3.

Vaig utilitzar un MacBook per comunicar-me amb el Raspberry Pi, però es pot utilitzar qualsevol ordinador.

No hi ha cap raó convincent per construir aquest dispositiu, però va ser divertit. Comprar-ne un és més rendible. Es pot comprar un dispositiu similar per uns 130 USD.

  • Lift master 828LM
  • Chamberlain MyQ 129 dòlars
  • GoGo Gate: 179 dòlars
  • Artesà 100 dòlars

Notes:

  • El text inclòs en pics, com aquest ♣ replace-this ♣, s'ha de substituir per un valor real
  • El text blau subratllat Arduino és un enllaç. En aquest cas, es tracta d’un enllaç a una versió arduino d’un obridor de portes de garatge.
  • He intentat acreditar totes les fonts utilitzades. Disculpeu les omissions. La major part d’aquest document es basa en el treball d’altres persones.
  • $ indica una ordre executada en una finestra de terminal al MacBook i que normalment s’executa al Raspberry Pi

Pas 1: reuniu parts

Comprar o reunir peces i eines (preus en USD).

  • Raspberry Pi 3 Model B Newark Element14 $ 35
  • Adaptador d'alimentació USB de 5,2 V 2,5 A d'Amazon 9,99 dòlars
  • Cable micro USB a USB de 6 peus des d’Amazon 7,99 dòlars
  • Funda d'Amazon 6,99 dòlars
  • SanDisk Ultra 16 GB microSDHC Classe 10 amb adaptador (SDSQUAN-016G-G4A) des d’Amazon 8,99 dòlars
  • Mòdul d’escut de relé 5 canals SunFounder de 2 canals per Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - 6,79 $
  • 3x cables de pont femení-femení. Comprat a Fry’s per 4,95 dòlars.
  • DNS dinàmic de 40 dòlars anuals per a 30 noms (dyn.com)
  • 1 colla de 18 cu. in. Interruptor i caixa de sortida de paret pesada Old Work, 3,12 dòlars
  • Placa de paret blanca Ultra Pro amb pinzell senzill, 7,88 dòlars
  • SECO-LARM SM 226L, sensor de porta de garatge, el preu varia molt, 9,99 dòlars a Amazon amb enviament gratuït
  • 50 peus de cable de termòstat sòlid, Home Depot o Lowe's, ~ 20 dòlars

El meu total: ~ 172,00 $

Tenia les següents parts, eines i serveis:

  • Cable Ethernet CAT5
  • Filferro de calibre petit, de 6 peus de llarg
  • Tornavís Phillips
  • Alicates d'agulla
  • Talladors de caixes
  • Tornavisos de punta plana de joieria, necessaris per afluixar els cargols del relé
  • MacBook (es pot utilitzar un PC)
  • AT&T GigaPower (es pot utilitzar qualsevol proveïdor de serveis d'Internet)

Pas 2: configureu Raspberry Pi sense monitor ni teclat

Configuració de Raspberry Pi sense monitor ni teclat
Configuració de Raspberry Pi sense monitor ni teclat

Tots els projectes de Raspberry Pi requereixen algun tipus de configuració. M'agrada utilitzar el mateix conjunt d'instruccions i, quan calgui, tinc un lloc per actualitzar-les.

Configureu Raspberry Pi mitjançant el següent mètode instructiu:

Configureu Raspberry Pi sense monitor ni teclat

La instrucció anterior inclou passos opcionals a l'apèndix. Assegureu-vos de fer el pas:

Afegiu certificats del costat del client als servidors web

Apagar Raspberry Pi

$ sudo shutdown -h 0

Un cop apagat, elimineu-lo

  • cable ethernet
  • Cable sèrie USB

Aquestes ja no seran necessàries. Utilitzeu wifi, ssh i una finestra de terminal al Mac Book per executar ordres al Raspberry Pi.

Desconnecteu l’alimentació i torneu a endollar-la i el raspberry pi s’hauria de reiniciar.

Pas 3: instal·leu Wiring Pi, Apache i PHP

Instal·leu el cablejat Pi

Obriu una finestra de terminal al Mac Book. Inicieu la sessió a Raspberry Pi i, a continuació, descarregueu, compileu i instal·leu Wiring Pi. Aquest programari permet controlar els pins GPIO. Aquí teniu una guia pas a pas:

wiringpi.com/download-and-install/

Aquí teniu una versió resumida de les instruccions:

$ ssh pi @ ♣ raspberry-pi-ip ♣

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

Executeu l'ordre gpio per comprovar la instal·lació:

$ gpio -v

versió de gpio: 2.29 Copyright (c) 2012-2015 Gordon Henderson Aquest és un programari lliure que no té absolutament cap garantia. Per obtenir informació detallada, escriviu: gpio -warranty Raspberry Pi Detalls: Tipus: Model 2, Revisió: 1.1, Memòria: 1024 MB, Creador: Sony [OV] L'arbre del dispositiu està habilitat. Aquest Raspberry Pi admet l'accés GPIO a nivell d'usuari. -> Consulteu la pàgina de manual per obtenir més informació $ gpio readall + ----- + ----- + --------- + ------ + --- + --- Pi 2 --- + --- + ------ + --------- + ----- + ----- + | BCM | wPi | Nom | Mode | V | Físic | V | Mode | Nom | wPi | BCM | + ----- + ----- + --------- + ------ + --- + ---- ++ ---- + --- + - ----- + --------- + ----- + ----- + | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | EN | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | EN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | Fora | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | EN | 0 | 11 || 12 | 0 | EN | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | EN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | EN | 0 | 15 || 16 | 1 | EN | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | EN | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | EN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | EN | 0 | 21 || 22 | 0 | EN | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | EN | 0 | 23 || 24 | 1 | EN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | EN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | EN | 1 | 27 || 28 | 1 | EN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | EN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | EN | 1 | 31 || 32 | 0 | EN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | EN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | EN | 0 | 35 || 36 | 0 | EN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | EN | 0 | 37 || 38 | 0 | EN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | EN | GPIO.29 | 29 | 21 | + ----- + ----- + --------- + ------ + --- + ---- ++ ---- + --- + - ----- + --------- + ----- + ----- + | BCM | wPi | Nom | Mode | V | Físic | V | Mode | Nom | wPi | BCM | + ----- + ----- + --------- + ------ + --- + --- Pi 2 --- + --- + --- --- + --------- + ----- + ----- +

Les ordres anteriors us donaran certa confiança que wiringPi funciona correctament.

Instal·leu Apache i PHP

Executeu les ordres següents:

$ cd..

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

Per verificar que el servidor web funciona, obriu un navegador i al quadre URL introduïu:

♣ raspberry-pi-ip ♣

El lloc web predeterminat d'Apache respon amb "Funciona".

Pas 4: lloc web

Obriu una finestra de terminal al Mac Book. Inicieu la sessió a Raspberry Pi i, a continuació, traieu el fitxer index.html per defecte, canvieu els permisos del directori del lloc web i editeu un fitxer anomenat index.php.

$ ssh pi @ ♣ raspberry-pi-ip ♣

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

I introduïu el codi següent:

Obridor de garatge

Domòtica

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

";} else {echo"

"; } ?>

Obridor de portes de garatge Manual d'obertura de portes de garatge tancat 1 obre 0
<? php if ($ trigger == 0) {echo "<td colspan = \" 4 / "} else {echo"

var13 ->

CTRL-o i ENTER per escriure el fitxer i CTRL-x per sortir de l'editor.

Canvieu els permisos del fitxer

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

Pas 5: imatge del lloc web

Imatge del lloc web
Imatge del lloc web
Imatge del lloc web
Imatge del lloc web

Agafeu un obridor de portes de garatge remot en alta resolució del web. Modifiqueu la imatge com vulgueu amb el pinzell Mac. A la imatge superior, es va utilitzar un obridor de garatge Genie d'alta resolució, es va afegir un logotip de raspberry pi i es va eliminar el led.

Una imatge és el fons (remote-background.jpg) i l’altra és la imatge activa (remote-press.jpg).

El pla era que en prémer el botó, en lloc de parpellejar el led, el gerd parpellegés. He simplificat el lloc web.

Copieu les imatges al raspberry pi:

$ scp *-j.webp

contrasenya: ♣ contrasenya ♣

El lloc web té un sol polsador. Per verificar, obriu un navegador i introduïu ♣ raspberry-pi-ip ♣. En lloc del lloc web predeterminat d'Apache, que diu "Funciona", hauria d'aparèixer el botó. Premeu-lo.

Pas 6: control remot del servidor web

Per facilitar l'accés a l'obertura de portes de garatge des d'una ubicació remota, faig servir un nom DNS dinàmic. Perquè no m’agrada recordar les adreces IP.

Amb aquesta funció, introdueixo ♣ dynamic-hostname ♣.getmyip.com al camp URL d’un navegador. Nota: La IP dels routers domèstics pot canviar sense previ avís, però poques vegades això passa. Vaig triar utilitzar DynDNS. Haureu de conèixer l'adreça IP pública del vostre enrutador.

IP del router de versos en U: vers ip-públic versiu

Podeu veure els vostres noms d’amfitrió i els detalls del compte DynDNS Pro. Aquests són alguns consells per començar:

  • Creeu el vostre nom d'amfitrió DNS dinàmic (1 de 30):

    • ♣ nom-amfitrió dinàmic ♣
    • Clau d'actualització: ♣ key-ip-updater-dynamic ♣
  • Instal·leu un client d'actualització per assegurar-vos que el vostre nom d'amfitrió sempre apunti a l'adreça IP correcta.

    • Baixeu-lo i instal·leu-lo al MacBook
    • Les adreces IP U-verse d’AT&T poques vegades canvien, de manera que l’actualitzador anterior es pot executar sempre que canviï
    • Seguiu les instruccions:

      • Afegir compte
      • Introduïu el nom d'usuari i la contrasenya: ♣ dynamic-ip-username ♣ ♣ dynamic-ip-password ♣
      • Seleccioneu el nom de l'amfitrió
      • Feu clic a Configura els amfitrions seleccionats
      • L’amfitrió hauria d’estar actiu
    • Configureu la vostra xarxa per permetre l'accés al vostre dispositiu des d'Internet. Podeu utilitzar el nostre assistent Dyn per obtenir instruccions generals sobre com fer-ho, utilitzar recursos com PortForward.com o contactar amb el fabricant del dispositiu per obtenir ajuda.

      • AT-T U-vers
      • Reenviament de ports per a 2 fils 3801HGV: aquest és el router AT-T U-Verse que tinc. Consulteu Actualitzacions en un apèndix per saber com reenviar el port al router AT-T U-verse 5268ac.
      • Obriu el navegador i aneu a ♣ raspberry-pi-ip ♣
      • Contrasenya: ♣ contrasenya ♣
      • Configuració
      • Tallafoc

        • Trieu ♣ raspberry-pi-hostname ♣
        • Servidors

          • Port 80 del servidor web
          • Servidor HTTPS: port 443
        • Afegeix
      • Desa

Un cop fet això, el servidor web funcionarà des d'Internet. Per verificar, introduïu ♣ nom-amfitrió dinàmic ♣ i hauríeu de veure el botó d'obertura de la porta del garatge.

Pas 7: connecteu el circuit al Raspberry Pi

Connecteu el circuit al Raspberry Pi
Connecteu el circuit al Raspberry Pi

Per al codi proporcionat (passos 4 i 6), he utilitzat el pin 7. GPIO. És coincidència que GPIO 7 és el mateix que el pin 7. wiringPi. Al codi PHP s’utilitzen els números de pin Pi de cablejat i NO els números de pin GPIO. Podeu utilitzar el que vulgueu, però assegureu-vos de canviar el codi.

Vaig provar d'utilitzar filferro retorçat, però el relé no s'adapta bé al filferro trenat. El filferro sòlid és millor.

En el meu primer intent, vaig crear tres cables de connexió (femella a mascle).

  • Utilitzeu tres cables de pont femella a femella
  • Talleu tres trossos de filferro sòlid a aproximadament 1 polzada.

    Tireu 1/4 de polz als dos extrems de filferro sòlid

  • Introduïu un cable sòlid en un cable de pont femella.

A continuació, es mostra una manera millor de crear cables de connexió (femella a mascle):

  • Utilitzeu només filferro sòlid
  • Talleu tres trossos de filferro sòlid de 4 polzades
  • Tireu 1/4 de polz als dos extrems de filferro sòlid
  • Utilitzeu passadors de connexió femella
    • Feu lliscar un passador de connexió femella per un extrem del filferro massís i encreuar-lo

      El passador femella no s'ha de desprendre, soldar si cal

    • Feu lliscar el relleu de tensió sobre el passador de connexió femení o el passador de tapa amb cinta d’electricista

Connecteu el relé al pi tal com es mostra al diagrama:

  • Connecteu l'extrem femella del cable al pin Raspberry Pi.
  • Inseriu filferro sòlid al relé.

Pas 8: creeu un servei d'inici

La majoria dels relés, inclòs el comprat, funcionen així:

  • Quan el senyal està activat, el circuit queda apagat.
  • Quan el senyal està DESACTIVAT, el circuit està encès.

Si el Raspberry Pi perd energia, el relé té un mecanisme de seguretat que manté el circuit APAGAT.

Es podria produir un problema quan el Rapberry Pi i el relé es restauren, però abans que el Raspberry Pi hagi acabat d’arrencar per activar el senyal que és necessari per mantenir el circuit apagat. Podeu despertar-vos al matí amb el garatge obert i potencialment uns quants amics nous!

Tot i això, el relé no s’inicialitza fins que el mode pin GPIO s’estableix mitjançant aquesta ordre: mode gpio 7 fora. A més, si el pin GPIO està activat (gpio write 7 1) abans d’establir el mode GPIO, el relé es mantindrà apagat un cop inicialitzat.

Per fer que aquesta inicialització s’executi a l’arrencada i no es desperti amb nous amics, utilitzeu el següent script d’inici.

$ ssh pi @ ♣ raspberry-pi-ip ♣

$ sudo nano /etc/init.d/garagerelay

A continuació, enganxeu aquest script:

#! / bin / bash

# /etc/init.d/garagerelay # Realitzeu funcions específiques quan se us demani el cas del sistema "$ 1" a l'inici) feu ressò de "Start Relay" # Turn 7 on manté el relé desactivat / usr / local / bin / gpio write 7 1 #Inicieu el mode 7 Gpio / usr / local / bin / gpio;; stop) echo "Stop gpio";; *) ressò "Ús: /etc/init.d/garagerelay {start | stop}" sortida 1;; sortida 0 d'esac

Per desar: CTRL-o, ENTRAR

Per sortir de nano, CTRL-x

Feu que el fitxer sigui executable:

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

Ara digueu al vostre pi que executi aquest script a l'arrencada:

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

(Nota: Podeu ignorar de forma segura l'advertiment sobre "etiquetes LSB que falten").

Assegureu-vos que s’executa l’escriptura d’inici

$ sudo reiniciar

Obriu un navegador i feu clic a l'obertura. El relé ha de fer clic.

Pas 9: connecteu Raspberry Pi al garatge

Connecteu Raspberry Pi al garatge
Connecteu Raspberry Pi al garatge

Quan moveu el Raspberry Pi, assegureu-vos d'executar:

$ shutdown -h 0

És possible que vulgueu apagar el garatge. Per tant, l’obridor del timbre no t’electrocuta:). La veritable raó és que cada vegada que es tallen els cables, la porta puja i baixa.

Desfeu els cargols de la paret de l'obridor del timbre, que fixa el timbre a la paret.

Feu un forat des del garatge darrere de l’obridor del timbre fins a l’interior de la casa. A Texas, el Raspberry Pi no hauria d’estar al garatge, la variació de temperatura del garatge és fora de les especificacions de funcionament del Raspberry Pi.

Feu passar els cables del relé pel forat (utilitzeu un penjador).

Afluixeu els dos cargols de la part posterior de l'obertura del timbre.

Retireu els dos extrems dels cables del relé: 1) aproximadament 1/8 "de polzada del costat del relé i aproximadament ½" de polzada al costat del timbre. Doblegueu el costat del timbre del cable en un mitjà bucle prou gran per encabir-lo al voltant del cargol posterior.

Connecteu un cable de relé a cada cargol situat a la part posterior del timbre de la porta i estrenyiu el cargol. Les connexions són les que es mostren a la imatge. Com que el relé aïlla el circuit, la direcció ni tan sols importa a quin relé estigui unit a quin cargol.

Pas 10: connecteu Raspberry Pi a SECO-LARM

Connecteu Raspberry Pi a SECO-LARM
Connecteu Raspberry Pi a SECO-LARM
Connecteu Raspberry Pi a SECO-LARM
Connecteu Raspberry Pi a SECO-LARM

Abans d’acabar el codi, la meva família i jo estàvem de vacances i vam obrir el navegador. La darrera visualització del meu navegador era l’obertura de la porta del garatge: la pàgina s’ha actualitzat i la porta del garatge s’ha obert. Uns dies després, un veí va trucar i va preguntar si la porta del garatge hauria d’estar oberta? Per sort, el podria tancar a 500 milles de distància.

Aquest snafu em va obligar a canviar el codi perquè això no passés i afegir un sensor i l'estat de la porta del garatge al lloc web.

Aquest és un enllaç a la instrucció original per afegir un sensor. Tot i això, tenint en compte tot el que ja s’ha completat, la instal·lació del sensor es pot simplificar molt i, en lloc d’utilitzar python, afegiu un parell de línies de codi a index.php.

closed

L’imant s’adjunta a la part interior superior esquerra de la porta del garatge i el sensor s’adjunta a la paret del garatge. Per tant, vaig haver d’executar un cable de termòstat sòlid des del sensor fins al raspberry pi. Això requeria un forat des del garatge a les golfes i des de les golfes a la paret que contenia l'obertura de la porta del garatge (interruptor de timbre).

Vaig inserir una caixa de connexió blava entre el sensor SECO-LARM i els cables sòlids.

A casa meva, hi ha un buit de 18 polzades entre el sostre del primer pis i la part inferior del segon pis. Suposo que és aquí on funcionen els conductes de calefacció i refrigeració. Necessitava una extensió de broca el temps suficient per passar pel segon pis i per la part superior 2x4 (placa superior) que contenia el timbre.

La part més important és que quan es perfori des de les golfes a la zona per on passaran els cables fins a l'obertura de la porta del garatge és NO perforar l'electricitat. Arreglar-ho no va ser divertit. Veure les espurnes i fer apagar els llums va ser força emocionant!

El sensor requereix dos cables de termòstat sòlids o un fil invisible de tanca per a gossos.

El Raspberry Pi té diverses descripcions de pins (BCM, wPi, físic). El codi utilitza els números de pin pin del cablejat. Per veure tots els pins i les assignacions de pin i els valors de pin introduïu:

$ gpio readall

Per obtenir un manual de gpio, introduïu:

$ gpio home

A les instruccions originals, el pin físic 9 està connectat a terra i es connecta a un dels cables SECO-LARM. Tot i això, això no funciona per a mi. En lloc d’això, connecteu els cables als pins físics 15 i 17

El pin físic 15 (pin 3 wPi) va a 3,3 V quan el sensor SECO-LARM està tancat. El pin físic 17 és de 3,3 v. Si no funciona, canvieu les connexions al SECO-LARM.

Fixeu SECO-LARM a la porta i la paret del garatge. Executeu cables i connecteu-vos a Raspberry Pi.

Pas 11: envieu l'alerta si la porta està oberta quan s'ha de tancar

Si la porta del garatge està oberta quan no hauria d’estar, envieu un missatge de text a un telèfon mòbil.

Instal·leu i configureu SMTP senzill.

Tinc un mòbil AT&T i faig servir ♣cell-phone-number♣@txt.att.net per als missatges de text. També tinc un compte de Gmail i l’exemple següent utilitza ♣gmail-account♣@gmail.com. Si utilitzeu serveis diferents, feu els canvis adequats.

Per a les ordres de $ següents, obriu una finestra de terminal al MacBook i inicieu sessió al vostre Raspberry Pi.

Assegureu-vos que els dipòsits estiguin actualitzats:

$ sudo apt-get update

Instal·leu utilitats de correu electrònic i SSMTP senzilles:

$ sudo apt-get install ssmtp

$ sudo apt-get install mailutils

Editeu el fitxer de configuració SSMTP:

$ sudo nano /etc/ssmtp/ssmtp.conf

com segueix:

mailhub = smtp.gmail.com: 587 nom d’amfitrió = ♣ el vostre nom d’amfitrió ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ contrasenya gmail ♣ UseSTARTTLS = SÍ

Editeu el fitxer d'alies SSMTP:

$ sudo nano / etc / ssmtp / revaliases

Creeu una línia per a cada usuari que pugui enviar correus electrònics. Per exemple:

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

Definiu els permisos del fitxer de configuració SSMTP:

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

Els permisos del fitxer /etc/ssmtp/ssmtp.conf determinen qui podrà enviar correus electrònics des del Raspberry Pi. Per defecte, aquest fitxer és propietat de l'usuari root i el grup del fitxer també és root.

Editeu el fitxer d'alies SSMTP, que conté dades sobre els comptes de correu electrònic:

$ sudo nano /etc/ssmtp/ssmtp.conf

Un cop s'hagi completat el procés de configuració i configuració anterior, proveu-lo enviant un correu electrònic des de la línia d'ordres.

$ echo "tancar la porta del garatge" | correu electrònic "Porta del garatge oberta" ♣cell-phone-number♣@txt.att.net

Creeu un script per comprovar si la porta del garatge està oberta quan no hauria d’estar, i envieu un missatge de text.

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

i afegiu el següent:

#! / bin / bash

# comproveu si la porta del garatge està oberta. # Si obre l'enviament d'alerta i escriu a syslog up = 0; door = $ (/ home / pi / wiringPi / gpio / gpio read 3) if ["$ door" -eq "$ up"] then logger ♣ your-hostname ♣: Garage Door Open echo "close the garage door" | correu electrònic "Porta de garatge oberta" ♣cell-phone-number♣@txt.att.net fi sortida 0

A continuació, afegiu un crontab per executar-lo durant les hores requerides:

$ sudo crontab –e

i afegir:

# A la nit, comproveu cada hora si la porta del garatge està oberta

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

Si tot funciona, aneu al següent pas.

Pas 12: poseu Raspberry Pi al llibre secret

Posa Raspberry Pi al llibre secret
Posa Raspberry Pi al llibre secret
Posa Raspberry Pi al llibre secret
Posa Raspberry Pi al llibre secret

Poseu el raspberry pi en un llibre secret. Tinc aquest a Michael's per uns 7 dòlars. Vaig tallar uns petits forats per als cables i el cable d'alimentació.

Pas 13: Apèndix: Referències

Mòdul de relé SunFounder de 2 canals 5V per Arduino UNO 2560 1280 ARM PIC AVR STM32

  • Tauler d’interfície de retransmissió de 5V de 2 canals i cadascun necessita 15-20mA
  • Corrent del conductor Equipat amb relé de gran corrent, AC250V 10A; DC30V 10A
  • Interfície estàndard que es pot controlar directament mitjançant microcontrolador (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, lògica TTL)
  • Indicadors LED d’estat de sortida de retransmissió Enllaç per descarregar el document:

Pas 14: Apèndix: actualitzacions

21FEB2016

  • A les instruccions originals, hi havia problemes amb la correcció automàtica, el format i la claredat de les adreces.

    • Un problema d’exemple és quan les cometes dobles del codi es canvien per una cosa que sembla una cometa doble en cursiva. Tanmateix, si el retalleu i enganxeu en un script, no funcionarà.
    • A l'editor instructiu li agrada corregir-se automàticament, de manera que wlan es converteix en un pla i es retira automàticament per eliminar automàticament. Aquests canvis són difícils de detectar.
    • És possible que algunes de les meves indicacions no estiguin prou clares.
    • Normalment, faig servir claudàtors com a indicador d’alguna cosa que s’ha de substituir. L'editor els converteix en html. Per tant, he canviat a claudàtors, però poden causar problemes perquè semblen un codi. Per tant, finalment em vaig decidir per ♣ s com a indicador de substitució per un valor real.
  • Amb el pas del temps també he millorat alguns dels guions.
  • Passos editats 21-26

03APR2016

  • Es va crear un annex amb resolució de problemes, referències i actualitzacions (passos 27-29)
  • La solució de problemes s'ha mogut a l'apèndix des del pas 2 anterior
  • S'ha actualitzat i alfabetitzat la pàgina de resolució de problemes
  • S'ha canviat el nom del fitxer de test2wifi.sh a garage.sh: només és més descriptiu.
  • Cron actualitzat per utilitzar garage.sh
  • Editat 1, 20-26 (Creeu un servei d'inici per passar abans de l'apèndix)

04APR2016

  • He substituït els passos 2-11 i 16-20 pel meu estàndard: configurar un Raspberry Pi
  • Llista de peces actualitzada, pas 1
  • Fotos afegides / combinades

05APR2016

Lloc web i imatge simplificats (passos 4 i 5)

01 MAIG 2016

S'ha afegit la solució de problemes per al sensor Pi Seco-larm / raspberry

01 MAIG 2016

Les modificacions anteriors no s'han desat correctament?

11 NOV2016

  • S'ha actualitzat a AT&T GigaPower i ha canviat el router a 5268ac
  • 5268ac no admet el bucle enrere, de manera que el servidor Garage Opener no és accessible des dels equips de la LAN. Perquè un MacBook accedeixi al servidor web d'obertura de garatge, feu el següent:

$ sudo nano / etc / hosts

i afegiu la línia

192.168.1.64 ♣ nom-de-domini-extern-del servidor ♣

Desa i surt, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • Les regles de reenviament de ports integrades del 5268ac, com ara el servidor HTTPS, el servidor HTTP i el servidor web, no funcionen. Per fer que el reenviament de ports funcioni:

    • Obriu un navegador i aneu a 192.168.1.254
    • iniciar Sessió
    • Seleccioneu Configuració, Tallafoc, Aplicacions, forats i DMZ.
    • Seleccioneu el servidor web d'obertura de garatge
    • Seleccioneu Definit per l'usuari
    • Feu clic a una nova aplicació definida per l'usuari

      • A Nom del perfil de l’aplicació, introduïu: PortForwarding
      • A Crea definició d'aplicacions, afegiu cadascun dels elements següents i feu clic a Afegeix a la llista:

        • TCP de 80 a 80, mapeu al port amfitrió 443
        • Mapa TCP del 443 al 443 al port amfitrió 443
        • UDP del 443 al 443, mapa al port 443 de l’amfitrió
        • UDP de 80 a 80, mapeu al port 443 de l’amfitrió
    • Feu clic enrere
    • Torneu a seleccionar el vostre servidor web
    • Seleccioneu Definit per l'usuari
    • Afegeix PortForwarding
    • Feu clic a Desa

21 DE GENER DE 2018

  • Actualitzat a Raspberry Pi 3
  • Diverses modificacions dels passos
  • S'han actualitzat algunes parts i preus

Pas 15: Apèndix: Solució de problemes

Espai en disc utilitzat

L'última línia mostra l'espai total del disc utilitzat. La targeta SD té 8 GB.

$ cd../..

$ sudo du –hx –c

correu electrònic

Si teniu problemes, proveu-ho:

$ echo "test" | sendmail -v ouryour-gmail-account♣@gmail.com

Si el correu electrònic està configurat correctament, hauríeu de rebre un correu electrònic al vostre compte de Gmail.

Si obteniu un error d'autenticació:

És possible que hagueu de reduir la seguretat del vostre compte. Tot i això, NO es recomana reduir la seguretat. Google enviarà un correu electrònic amb un enllaç per reduir la configuració de seguretat.

Podeu canviar del vostre lector de correu electrònic actual a utilitzar www.gmail.com per accedir al vostre compte (recomanat) o canviar la configuració a https://www.google.com/settings/security/lesssecu… perquè el vostre compte ja no estigui protegits per les modernes normes de seguretat.

No recomano baixar els vostres estàndards de seguretat.

Si obteniu un error d'autorització:

La causa més probable d'això és que heu especificat un nom d'usuari o una contrasenya incorrectes al vostre compte de Gmail al fitxer /etc/ssmtp/ssmtp.conf. Comproveu de nou els valors dels camps AuthUser i AuthPass.

Si es perd la connexió en ple procés:

És probable que especifiqueu el port incorrecte per al smtp de Google en algun lloc a /etc/ssmtp/ssmtp.conf o a / etc / ssmtp / revaliases.

Consulteu les darreres línies dels vostres registres. Hi hauria d’haver alguns missatges d’error rellevants:

$ tail /var/log/mail.log

$ tail / var / log / syslog

La porta del garatge no s’obrirà

Si tot funcionava i només s’atura, proveu de reiniciar-lo. Si això no funciona, estireu el cable d’alimentació de Raspberry Pi i, a continuació, restableix l’alimentació. El Raspberry Pi s’hauria de reiniciar en menys de 2 minuts i tot hauria de funcionar bé. Això generalment és causat per una pèrdua d’energia a la passarel·la residencial.

GPIO

Si alguna cosa surt malament, la millor manera de veure què passa és amb l'ordre següent:

$ gpio readall

Inicieu la sessió a raspberry pi des del MacBook

terminal és una utilitat del MacBook: disc / aplicacions / utilitats / terminal. Mantinc l’aplicació de terminal al moll.

Al MacBook, obriu el terminal

$ ssh pi @ ♣ raspberry-pi-ip ♣

♣ contrasenya ♣

Inicieu la sessió a la passarel·la residencial

Al MacBook, obriu el navegador

URL = ♣ raspberry-pi-ip ♣

Inici de sessió: password contrasenya de passarel·la ♣

Registres

Si alguna cosa no funciona, consulteu aquests registres per detectar errors, avisos o altres problemes.

$ cat / var / log / messages

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

Directori MAC

Directori al MacBook on s’emmagatzemen els fitxers del lloc web

Directori MAC = / Usuaris / ♣ el meu Macbook ♣ / Escriptori / Wi-Fi habilitat / wifi habilitat obridor de porta de garatge / lloc web

Contrasenya

Contrasenya = ♣ raspberry-pi-password ♣

RAM i CPU utilitzades

$ superior

CTRL-c per sortir

Directori inicial de Raspberry Pi

$ pwd

/ home / pi

Nom d'amfitrió de Raspberry Pi

$ nom d'amfitrió

nom d'amfitrió = ♣ nom d'amfitrió ♣

IP de Raspberry Pi

♣ raspberry-pi-ip ♣ = 192.168.1.93

Directori de llocs web Raspberry Pi

/ var / www

Seco-larm deixa de funcionar

L'1 de maig de 2016, Seco-larm va deixar de funcionar. És la tercera vegada que el sensor deixa de funcionar. Per dir-ho correctament, el pin físic 15 del Raspberry Pi va deixar de detectar l'entrada de 3.3v. Vaig provar els pins físics 1 i 17 de 3.3v, i tots dos encara sortien de 3.3v. Vaig canviar del pin físic 15 a un altre GPIO, el pin físic 16 (GPIO 4) i va tornar a funcionar. Per tant, no passa res amb el Seco-larm. Sembla que el problema és amb el Raspberry Pi GPIO.

GPIO 3, el pin 15 físic ha mort. És una publicació molt bona sobre com provar els pins GPIO.

Vaig canviar de GPIO 3 a GPIO 4 i vaig canviar el codi en conseqüència. No estic segur de per què el pin GPIO va deixar de funcionar. Aquí hi ha dos possibles motius:

  • Tinc el sensor Seco-larm muntat, de manera que quan la porta està tancada emet 3.3v. La porta del garatge es tanca més sovint i oberta. Potser, el pin GPIO no pot tenir una entrada més o menys constant de 3,3 v.
  • La fallada va coincidir amb una pèrdua d'energia, potser hi va haver un augment de potència.

U-verse Residential Gateway

Tinc versos en U d’AT&T amb una passarel·la residencial, però qualsevol servei hauria de funcionar.

Si la porta d’entrada U-verse es reinicia o perd energia, és possible que hàgiu de reiniciar el Raspberry Pi.

Passarel·la residencial U-verse IP pública = ♣ router-public-ip ♣

La IP pública d'una passarel·la residencial en versos en U pot canviar, però ho fa molt poques vegades

Pàgina d'inici de la porta d'entrada residencial U-verse = 192.168.1.254

SSID del punt d'accés sense fils del router U-verse = ♣ ssid ♣

El rendiment de WiFi és més lent del que s’esperava

Canvieu l’encaminador a un canal menys utilitzat. Per defecte, tots els proveïdors de circuits sintonitzen la connexió wifi de tothom al canal 1. Canvieu a un canal menys utilitzat, com ara, 11. Intenteu utilitzar un número senar.

Nota: Vaig dir a un parell de veïns què vaig fer per millorar el wi-fi i ara tothom té el 9 o l’11, de manera que vaig tornar a l’1. Sempre hauríeu d’utilitzar un canal estrany.

Obriu un navegador.

Per a vers en U, introduïu 192.168.1.254 al quadre URL.

Feu clic a l'enllaç sense fil i trieu el canal 6 o 11.

Hi ha una aplicació per a telèfons intel·ligents anomenada analitzador de wifi. Una de les pantalles mostra tots els punts d’accés wifi propers que emeten en un canal concret. Al meu barri, tothom està configurat per canal 1.

Desconnecteu Raspberry Pi i, a continuació, restaureu l'alimentació

Recomanat: