Taula de continguts:
- Pas 1: reuniu parts
- Pas 2: configureu Raspberry Pi sense monitor ni teclat
- Pas 3: instal·leu Wiring Pi, Apache i PHP
- Pas 4: lloc web
- Pas 5: imatge del lloc web
- Pas 6: control remot del servidor web
- Pas 7: connecteu el circuit al Raspberry Pi
- Pas 8: creeu un servei d'inici
- Pas 9: connecteu Raspberry Pi al garatge
- Pas 10: connecteu Raspberry Pi a SECO-LARM
- Pas 11: envieu l'alerta si la porta està oberta quan s'ha de tancar
- Pas 12: poseu Raspberry Pi al llibre secret
- Pas 13: Apèndix: Referències
- Pas 14: Apèndix: actualitzacions
- Pas 15: Apèndix: Solució de problemes
Vídeo: Obridor de porta de garatge Raspberry Pi 3: 15 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
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
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 |
---|
Obridor de portes de garatge | Manual d'obertura de portes de garatge | tancat 1 | obre 0 |
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
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
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
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
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.
closedL’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
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:
Obridor de portes de garatge intel·ligent barat: 6 passos (amb imatges)
Obridor de portes de garatge intel·ligent barat: Crèdit He copiat pràcticament la implementació de Savjee, però en lloc d’utilitzar un Shelly he utilitzat un Sonoff Basic. Consulteu el seu lloc web i el seu canal de YouTube! Https: //www.savjee.be/2020/06/make-garage-door-ope…https: //www.youtube.com/c/Savjee/AssumptionsYou h
Obridor de portes de garatge amb comentaris mitjançant l'Esp8266 com a servidor web: 6 passos
Obridor de portes de garatge amb comentaris mitjançant l’ús d’Esp8266 com a servidor web.: Hola, us mostraré com fer una manera senzilla de fer un obridor de portes de garatge. -L’ESP8266 està codificat com a servidor web; retroalimentació, sabreu que la porta està oberta o tancada en temps real: simple, només hi ha una drecera per fer que
Obridor de porta de garatge Raspberry Pi: 5 passos
Obridor de porta de garatge Raspberry Pi: el nostre teclat de quinze anys que ens permet obrir la porta del garatge ha anat morint lentament, amb diversos botons que amb prou feines es registren, cosa que fa que els nostres adolescents (o gossets) puguin entrar a casa quan obliden la seva clau. En lloc de respondre
Obridor de portes de garatge amb Raspberry Pi: 5 passos (amb imatges)
Obridor de portes de garatge mitjançant un Raspberry Pi: controleu el motor del garatge des d’un telèfon intel·ligent o qualsevol dispositiu capaç de navegar per una pàgina web (amb AJAX!). El projecte es va iniciar ja que només tenia un comandament a distància per al meu garatge. Què divertit era comprar-ne un segon? No és suficient. El meu objectiu era poder controlar i controlar
Obridor de porta de garatge amb Arduino: 3 passos
Obridor de portes de garatge amb Arduino: es tracta d'un projecte basat en maquinari que utilitza Atmel Atmega 328P (Arduino UNO) per fabricar un obridor de portes de garatge sense necessitat de perifèrics addicionals. El codi és capaç de protegir el propi sistema contra danys elèctrics. Tot el circuit s’alimenta