Índice:
- Etapa 1: Reúna as peças
- Etapa 2: configurar o Raspberry Pi sem monitor ou teclado
- Etapa 3: Instale Wiring Pi, Apache e PHP
- Etapa 4: site
- Etapa 5: imagem do site
- Etapa 6: controlar remotamente o servidor da Web
- Etapa 7: conecte o circuito ao Raspberry Pi
- Etapa 8: Crie um serviço de inicialização
- Etapa 9: prenda o Raspberry Pi na garagem
- Etapa 10: anexe o Raspberry Pi ao SECO-LARM
- Etapa 11: enviar alerta se a porta estiver aberta, quando deveria ser fechada
- Etapa 12: coloque Raspberry Pi no livro secreto
- Etapa 13: Apêndice: Referências
- Etapa 14: Apêndice: atualizações
- Etapa 15: Apêndice: Solução de problemas
Vídeo: Raspberry Pi 3 Abridor de porta de garagem: 15 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Criei este instrutível em 2014. Muita coisa mudou desde então. Em 2021, atualizei o abridor de porta de garagem inteligente aqui.
Use um Raspberry Pi e um smartphone para abrir, fechar e monitorar a porta de uma garagem. A abertura e o fechamento da porta são protegidos por meio de certificados autoassinados instalados nos telefones celulares da família. Se a porta da garagem estiver aberta quando não deveria, envie uma mensagem de texto (SMS) para um telefone celular.
O portão da garagem está em uso contínuo desde o final de 2014. Ao longo dos anos, tentei manter as alterações atualizadas. Há um apêndice que descreve as mudanças no instrutível.
Os objetivos deste projeto são:
- Faça meu primeiro instrutível - eu não planejava postar isso, mas recebi muitos pedidos
- Abra a porta de uma garagem com um controle remoto padrão
- Abra a porta de uma garagem com o abridor de campainha montado na parede
- Abra a porta de uma garagem com um smartphone
- Monitore o status da porta da garagem remotamente por meio de um telefone celular ou laptop (está aberta ou fechada?)
- Enviar uma mensagem de texto para o meu celular se a porta estiver aberta quando deveria ser fechada
- Mantenha a porta da garagem segura (por exemplo, na perda de energia, a porta não deve abrir)
- Não permita que mais ninguém na rede abra a porta (certificado SSL autoassinado bidirecional)
- Use Wi-Fi em vez de uma conexão com fio
- Use um Raspberry Pi 3
A base para esta implementação do abridor de porta de garagem foi derivada do Instructable: Raspberry Pi Garage Door Opener da quartarian. Originalmente, usei um modelo B + Raspberry Pi, depois mudei para um Raspberry Pi 2 modelo B, e agora ele usa um Raspberry Pi 3.
Usei um MacBook para me comunicar com o Raspberry Pi, mas qualquer computador pode ser usado.
Não há nenhuma razão convincente para construir este dispositivo, mas foi divertido. É mais econômico comprar um. Um dispositivo semelhante pode ser adquirido por cerca de US $ 130.
- Lift master 828LM
- Chamberlain MyQ $ 129
- GoGo Gate $ 179
- Artesão $ 100
Notas:
- Texto entre espadas, como este ♣ substitua-este ♣ deve ser substituído por um valor real
- O texto azul sublinhado do Arduino é um link. Nesse caso, é um link para uma versão arduino de um abridor de porta de garagem.
- Eu tentei creditar todas as fontes usadas. Minhas desculpas por quaisquer omissões. A maior parte deste documento é baseada no trabalho de outras pessoas.
- $ indica um comando executado em uma janela de terminal no MacBook e geralmente está sendo executado no Raspberry Pi
Etapa 1: Reúna as peças
Compre ou reúna peças e ferramentas (preços em USD).
- Raspberry Pi 3 Modelo B Newark Element 14 $ 35
- Adaptador de alimentação USB 5,2 V 2,5 A da Amazon $ 9,99
- Cabo micro USB para USB 6 pés da Amazon $ 7,99
- Estojo da Amazon $ 6,99
- SanDisk Ultra 16 GB microSDHC Classe 10 com adaptador (SDSQUAN-016G-G4A) da Amazon $ 8,99
- Módulo de blindagem de relé 5V SunFounder 2 canais para Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $ 6,79
- 3 fios de jumper fêmea-fêmea. Comprado na Fry’s por $ 4,95.
- DNS dinâmico $ 40 por ano para 30 nomes (dyn.com)
- 1-Gang 18 cu. pol., trabalho antigo, interruptor de parede pesada e caixa de tomadas, $ 3,12
- Placa de parede branca com pincel único Ultra Pro, $ 7,88
- SECO-LARM SM 226L, sensor de porta de garagem, o preço varia muito, US $ 9,99 na Amazon com frete grátis
- 50 pés de fio de termostato sólido, Home Depot ou Lowe's, ~ $ 20
Meu total: ~ $ 172,00
Eu tinha as seguintes peças, ferramentas e serviços:
- Cabo Ethernet CAT5
- Fio de bitola pequena, 6 pés de comprimento
- Chave de fenda Phillips
- Alicate de ponta fina
- Corta-caixas
- Chave de fenda de cabeça chata de joalheiros, necessária para afrouxar os parafusos no relé
- MacBook (um PC pode ser usado)
- AT&T GigaPower (qualquer provedor de serviços de Internet pode ser usado)
Etapa 2: configurar o Raspberry Pi sem monitor ou teclado
Todos os projetos do Raspberry Pi requerem algum tipo de configuração. Gosto de usar o mesmo conjunto de instruções e, quando necessário, tenho um local para atualizar essas instruções.
Configure o Raspberry Pi usando as seguintes instruções:
Configuração do Raspberry Pi sem monitor ou teclado
O instrutivo acima inclui etapas opcionais no apêndice. Certifique-se de executar a etapa:
Adicionar certificados do lado do cliente aos servidores da web
Desligar Raspberry Pi
$ sudo shutdown -h 0
Uma vez desligado, remova
- Cabo Ethernet
- Cabo serial USB
Eles não serão mais necessários. Use wi-fi, ssh e uma janela de terminal no Mac Book para executar comandos no Raspberry Pi.
Desconecte a alimentação e reconecte a alimentação, e o raspberry pi deve reiniciar.
Etapa 3: Instale Wiring Pi, Apache e PHP
Instalar Fiação Pi
Abra uma janela de terminal no Mac Book. Faça login no Raspberry Pi, faça o download, compile e instale o Wiring Pi. Este software permite o controle dos pinos GPIO. Aqui está um guia passo a passo:
wiringpi.com/download-and-install/
Aqui está uma versão condensada das instruções:
$ ssh pi @ ♣ raspberry-pi-ip ♣
senha: ♣ senha ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build
Execute o comando gpio para verificar a instalação:
$ gpio -v
gpio versão: 2.29 Copyright (c) 2012-2015 Gordon Henderson Este é um software livre ABSOLUTAMENTE NENHUMA GARANTIA. Para obter detalhes, digite: gpio -warranty Raspberry Pi Detalhes: Tipo: Modelo 2, Revisão: 1.1, Memória: 1024 MB, Fabricante: Sony [OV] A árvore de dispositivos está ativada. Este Raspberry Pi oferece suporte a acesso GPIO em nível de usuário. -> Veja a página do manual para mais detalhes $ gpio readall + ----- + ----- + --------- + ------ + --- + --- Pi 2 --- + --- + ------ + --------- + ----- + ----- + | BCM | wPi | Nome Modo | V | Físico | V | Modo | Nome 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 OUT | 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 | Nome Modo | V | Físico | V | Modo | Nome wPi | BCM | + ----- + ----- + --------- + ------ + --- + --- Pi 2 --- + --- + --- --- + --------- + ----- + ----- +
Os comandos acima devem dar a você alguma confiança de que wiringPi está funcionando bem.
Instale Apache e PHP
Execute os seguintes comandos:
$ cd..
$ sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5
Para verificar se o servidor da web funciona, abra um navegador e, na caixa do URL, digite:
♣ framboesa-pi-ip ♣
O site padrão do Apache responde com "Funciona!"
Etapa 4: site
Abra uma janela de terminal no Mac Book. Faça login no Raspberry Pi, remova o arquivo index.html padrão, altere as permissões no diretório do site e edite um arquivo chamado index.php.
$ ssh pi @ ♣ raspberry-pi-ip ♣
senha: ♣ senha ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root / var / www $ sudo nano /var/www/index.php
E insira o seguinte código:
Abridor de garagem
Automação residencial |
---|
Abridor de porta de garagem | Manual do abridor de porta de garagem | fechado 1 | aberto 0 |
CTRL-o e ENTER para gravar o arquivo e CTRL-x para sair do editor.
Alterar permissões no arquivo
$ sudo chmod 664 /var/www/index.php
Etapa 5: imagem do site
Pegue um abridor de porta de garagem remoto de alta resolução na web. Modifique a imagem como desejar, usando o pincel Mac. Na imagem acima, um abridor de garagem Genie de alta resolução foi usado, um logotipo raspberry pi foi adicionado e o led foi removido.
Uma imagem é o plano de fundo (remote-background.jpg) e a outra é a imagem ativa (remote-press.jpg).
O plano era que ao apertar o botão, em vez de piscar o led, o framboesa piscaria. Simplifiquei o site.
Copie as imagens para o raspberry pi:
$ scp *-j.webp
senha: ♣ senha ♣
O site tem um único botão. Para verificar, abra um navegador e digite ♣ raspberry-pi-ip ♣. Em vez do site padrão do Apache, que diz "Funciona!", O botão deve aparecer. Pressione-o.
Etapa 6: controlar remotamente o servidor da Web
Para facilitar o acesso ao Mecanismo de abertura de garagem de um local remoto, uso um nome DNS dinâmico. Porque não gosto de lembrar endereços IP.
Com este recurso, eu insiro ♣ dynamic-hostname ♣.getmyip.com no campo URL de um navegador. Nota: O IP em roteadores domésticos pode mudar sem aviso prévio, mas isso raramente acontece. Optei por usar o DynDNS. Você precisará saber o endereço IP público do seu roteador.
IP do roteador U-Verse: ♣ uverse-public-ip ♣
Você pode ver seus nomes de host e detalhes da conta DynDNS Pro. Aqui estão algumas dicas para começar:
-
Crie seu nome de host DNS dinâmico (1 de 30):
- ♣ dynamic-hostname ♣
- Chave do atualizador: ♣ dynamic-ip-updater-key ♣
-
Instale um cliente de atualização para garantir que seu nome de host seja sempre apontado para o endereço IP correto.
- Baixe e instale no MacBook
- Os IPs da AT&T U-verse raramente mudam, então o atualizador acima pode ser executado sempre que mudar
-
Siga as direções:
- Adicionar Conta
- Digite o nome de usuário e a senha: ♣ dynamic-ip-username ♣ ♣ dynamic-ip-password ♣
- Selecione o nome do host
- Clique em Configurar Hosts Selecionados
- O host deve se tornar ativo
-
Configure sua rede para permitir acesso ao seu dispositivo a partir da Internet. Você pode usar nosso Dyn Wizard para obter algumas instruções gerais sobre como fazer isso, usar recursos como PortForward.com ou entrar em contato com o fabricante do dispositivo para obter assistência.
- AT&T U-verse
- Encaminhamento de porta para 2 fios 3801HGV - este é o roteador AT&T U-Verse que possuo. Consulte as atualizações em um apêndice para saber como encaminhar a porta no roteador AT&T U-verse 5268ac.
- Abra o navegador e vá para ♣ raspberry-pi-ip ♣
- Senha: ♣ senha ♣
- Definições
-
Firewall
- Escolha ♣ raspberry-pi-hostname ♣
-
Servidores
- Porta 80 do servidor web
- Servidor HTTPS - porta 443
- Adicionar
- Salve
Feito isso, o servidor web funcionará a partir da Internet. Para verificar, digite ♣ dynamic-hostname ♣ e você deverá ver o botão para abrir a porta da garagem.
Etapa 7: conecte o circuito ao Raspberry Pi
Para o código fornecido (etapas 4 e 6), usei GPIO pino 7. É coincidência que GPIO 7 é o mesmo que wiringPi pino 7. No código PHP, números de pino Pi de fiação são usados e NÃO números de pino GPIO. Você pode usar o que quiser, mas certifique-se de alterar o código.
Tentei usar fio trançado, mas o relé não segura bem com fio trançado. Fio sólido é melhor.
Na minha primeira tentativa, criei três cabos de conexão (feminino para masculino).
- Use três cabos jumper fêmea para fêmea
-
Corte três pedaços de arame sólido para cerca de 1 pol.
Tira 1/4 pol. Em ambas as extremidades do fio sólido
- Insira um fio sólido em um cabo de jumper fêmea.
Esta é a melhor maneira de criar cabos de conexão (fêmea para macho):
- Use apenas fio sólido
- Corte três pedaços de 4 polegadas de arame sólido
- Tira 1 / 10cm em ambas as extremidades do fio sólido
-
Use pinos de conexão fêmeas
- Deslize um pino de conexão fêmea em uma extremidade do fio sólido e prenda
O pino fêmea não deve se soltar, soldar se necessário
- Deslize o alívio de tensão sobre o pino de conexão fêmea ou o pino de cobertura com fita isolante
- Deslize um pino de conexão fêmea em uma extremidade do fio sólido e prenda
Conecte o relé ao pi conforme mostrado no diagrama:
- Conecte a extremidade fêmea do cabo ao pino Raspberry Pi.
- Insira o fio sólido no relé.
Etapa 8: Crie um serviço de inicialização
A maioria dos relés, incluindo o adquirido, opera assim:
- Quando o sinal está LIGADO, o circuito permanece desligado.
- Quando o sinal está desligado, o circuito está ligado.
Se o Raspberry Pi perder energia, o relé possui um mecanismo de segurança que mantém o circuito DESLIGADO.
Pode ocorrer um problema quando o Rapberry Pi e o relé são restaurados, mas antes que o Raspberry Pi termine de inicializar para ligar o sinal, o que é necessário para manter o circuito desligado. Você pode acordar de manhã com sua garagem aberta e, potencialmente, alguns novos amigos!
No entanto, o relé não inicializa até que o modo GPIO pin seja definido por meio deste comando: gpio mode 7 out. Além disso, se o pino GPIO estiver ligado (gpio escrever 7 1) antes de definir o modo GPIO, o relé permanecerá desligado depois de inicializado.
Para fazer essa inicialização ser executada na inicialização e não despertar para novos amigos, use o seguinte script de inicialização.
$ ssh pi @ ♣ raspberry-pi-ip ♣
$ sudo nano /etc/init.d/garagerelay
Em seguida, cole este script:
#! / bin / bash
# /etc/init.d/garagerelay # Executa funções específicas quando solicitado pelo caso do sistema "$ 1" no início) echo "Iniciando relé" # Liga 7 que mantém relé desligado / usr / local / bin / gpio write 7 1 #Iniciar Gpio / usr / local / bin / modo gpio 7 out;; parar) echo "Parando gpio";; *) echo "Uso: /etc/init.d/garagerelay {start | stop}" exit 1;; saída 0 esac
Para salvar: CTRL-o, ENTER
Para sair do nano, CTRL-x
Torne o arquivo executável:
$ sudo chmod + x /etc/init.d/garagerelay
Agora diga ao seu pi para executar este script na inicialização:
$ sudo update-rc.d -f garagerelay start 4
(Observação: você pode ignorar com segurança o aviso de "tags LSB ausentes".)
Certifique-se de que o script de inicialização esteja em execução
$ sudo reboot
Abra um navegador e clique no abridor. O relé deve clicar.
Etapa 9: prenda o Raspberry Pi na garagem
Ao mover o Raspberry Pi, certifique-se de executar:
$ shutdown -h 0
Você pode querer desligar a energia da garagem. Então, o abridor de campainha não eletrocuta você:). O verdadeiro motivo é que cada vez que você coloca os fios em curto, a porta sobe e desce.
Solte os parafusos de parede do abridor de tipo de campainha, que fixa a campainha à parede.
Faça um buraco na garagem atrás do abridor da campainha para dentro da casa. No Texas, o Raspberry Pi não deve estar na garagem, a variação de temperatura na garagem está fora das especificações operacionais do Raspberry Pi.
Passe os fios do relé pelo orifício (use um cabide).
Afrouxe os dois parafusos na parte traseira do abridor da campainha.
Desencape as duas extremidades dos fios do relé: 1) cerca de 1/8 "polegada do lado do relé e cerca de ½" polegada do lado da campainha. Dobre o lado da campainha do fio em uma meia volta grande o suficiente para caber em torno do parafuso traseiro.
Conecte um fio de relé a cada parafuso na parte traseira da campainha e aperte o parafuso. As conexões são as mostradas na imagem. Uma vez que o relé isola o circuito, a direção nem importa qual relé está conectado a qual parafuso.
Etapa 10: anexe o Raspberry Pi ao SECO-LARM
Antes de terminar o código, minha família e eu estávamos de férias e abri meu navegador. A última visualização do meu navegador foi o abridor da porta da garagem - a página atualizada e a porta da garagem aberta. Poucos dias depois, um vizinho ligou e perguntou se a porta da garagem deveria ser aberta. Felizmente, eu poderia fechá-lo a 500 milhas de distância.
Essa confusão me forçou a alterar o código para que isso não acontecesse e adicionar um sensor e o estado da porta da garagem ao site.
Este é um link para o original instrutível para adicionar um sensor. No entanto, dado tudo o que já foi concluído, a instalação do sensor pode ser bastante simplificada e, em vez de usar python, adicione algumas linhas de código a index.php.
closedO ímã é fixado no lado interno superior esquerdo da porta da garagem e o sensor é fixado na parede da garagem. Então, eu tive que ligar o fio do termostato sólido do sensor de volta ao framboesa pi. Isso exigia um furo da garagem para o sótão e do sótão para a parede que continha o controle da porta da garagem (interruptor da campainha).
Eu inseri uma caixa de junção azul entre o sensor SECO-LARM e os fios sólidos.
Na minha casa, há uma lacuna de 18 polegadas entre o teto do primeiro andar e a parte inferior do segundo andar. Presumo que seja aqui que funcionam os dutos de aquecimento e resfriamento. Eu precisava de uma extensão de broca longa o suficiente para passar pelo segundo andar e pelos 2x4 superiores (placa superior) contendo a campainha.
A parte mais importante é ao perfurar do sótão para a área onde os fios vão correr para o abridor da porta da garagem, NÃO perfurar a eletricidade. Consertar isso não foi divertido. Ver as faíscas e apagar as luzes foi muito emocionante!
O sensor requer dois fios de termostato sólidos ou fio de cerca invisível para cães.
O Raspberry Pi tem várias descrições de pinos (BCM, wPi, físico). O código usa os números dos pinos pi da fiação. Para ver todos os pinos, mapeamentos e valores de pinos, digite:
$ gpio readall
Para um manual gpio, digite:
$ gpio man
Nas instruções originais, o pino físico 9 é aterrado e se conecta a um dos condutores SECO-LARM. No entanto, isso não funciona para mim. Em vez disso, conecte os condutores aos pinos físicos 15 e 17
O pino físico 15 (wPi pino 3) vai para 3,3 V quando o sensor SECO-LARM é fechado. O pino físico 17 é 3,3v. Se não funcionar, mude as conexões no SECO-LARM.
Prenda o SECO-LARM na porta e na parede da garagem. Passe os fios e conecte-o ao Raspberry Pi.
Etapa 11: enviar alerta se a porta estiver aberta, quando deveria ser fechada
Se a porta da garagem estiver aberta quando não deveria, envie uma mensagem de texto para um telefone celular.
Instale e configure o SMTP simples.
Tenho celular AT&T e uso ♣cell-phone-number♣@txt.att.net para mensagens de texto. Também tenho uma conta do gmail e o exemplo abaixo usa ♣gmail-account♣@gmail.com. Se você usar serviços diferentes, faça as alterações apropriadas.
Para os comandos $ abaixo, abra uma janela de terminal no MacBook e faça login no seu Raspberry Pi.
Certifique-se de que os repositórios estão atualizados:
$ sudo apt-get update
Instale SSMTP simples e utilitários de e-mail:
$ sudo apt-get install ssmtp
$ sudo apt-get install mailutils
Edite o arquivo de configuração SSMTP:
$ sudo nano /etc/ssmtp/ssmtp.conf
do seguinte modo:
mailhub = smtp.gmail.com: 587 hostname = ♣ your-hostname ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ gmail-senha ♣ UseSTARTTLS = YES
Edite o arquivo de aliases SSMTP:
$ sudo nano / etc / ssmtp / revaliases
Crie uma linha para cada usuário que poderá enviar e-mails. Por exemplo:
root: ♣gmail-account♣@gmail.com: smtp.gmail.com: 587
Defina as permissões do arquivo de configuração SSMTP:
$ sudo chmod 664 /etc/ssmtp/ssmtp.conf
As permissões do arquivo /etc/ssmtp/ssmtp.conf determinam quem poderá enviar emails do Raspberry Pi. Por padrão, este arquivo pertence ao usuário root e o grupo do arquivo também é root.
Edite o arquivo SSMTP aliases, que contém dados sobre as contas de e-mail:
$ sudo nano /etc/ssmtp/ssmtp.conf
Assim que o processo de instalação e configuração acima for concluído, teste-o enviando um e-mail da linha de comando.
$ echo "feche a porta da garagem" | mail -s "Porta da garagem aberta" ♣cell-phone-number♣@txt.att.net
Crie um script para verificar se a porta da garagem está aberta quando não deveria e, em seguida, envie uma mensagem de texto.
$ sudo nano /usr/local/bin/garage.sh
e adicione o seguinte:
#! / bin / bash
# verifique se a porta da garagem está aberta. # Se aberto, envie alerta e escreva para syslog up = 0; door = $ (/ home / pi / wiringPi / gpio / gpio leia 3) if ["$ door" -eq "$ up"] then logger ♣ your-hostname ♣: Porta da garagem aberta echo "feche a porta da garagem" | mail -s "Porta da garagem aberta" ♣cell-phone-number♣@txt.att.net fi exit 0
Em seguida, adicione um crontab para ser executado durante as horas necessárias:
$ sudo crontab –e
e adicione:
# À noite, verifique a cada hora se a porta da garagem está aberta
0 22-23 / 1 * * * sudo /usr/local/bin/garage.sh 0 0-5 / 1 * * * sudo /usr/local/bin/garage.sh
Se tudo funcionar, vá para a próxima etapa.
Etapa 12: coloque Raspberry Pi no livro secreto
Coloque o pi de framboesa em um livro secreto. Comprei este no Michael's por cerca de US $ 7. Cortei alguns pequenos orifícios para os fios e o cabo de alimentação.
Etapa 13: Apêndice: Referências
Módulo de blindagem de relé 5V SunFounder 2 canais para Arduino UNO 2560 1280 ARM PIC AVR STM32
- Placa de interface de relé de 2 canais 5V, e cada um precisa de 15-20mA
- Corrente do driver Equipado com relé de alta corrente, AC250V 10A; DC30V 10A
- Interface padrão que pode ser controlada diretamente por microcontrolador (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, lógica TTL)
- LED de indicação para status de saída do relé Link para baixar o documento:
Etapa 14: Apêndice: atualizações
21 de fevereiro de 2016
-
Nas instruções originais, havia problemas com correção automática, formatação e clareza de instruções.
- Um exemplo de problema é quando as aspas duplas no código são alteradas para algo que se parece com uma aspa dupla em itálico. No entanto, se você recortar e colar isso em um script, não funcionará.
- O editor instrutível gosta de autocorreção, então wlan muda para o plano e a remoção automática muda para remoção automática. Essas mudanças são difíceis de detectar.
- Algumas de minhas instruções podem não ter sido claras o suficiente.
- Normalmente, eu uso colchetes angulares como um indicador de algo que precisa ser substituído. O editor os converte em html. Então, mudei para colchetes, mas eles podem causar problemas porque se parecem com código. Então, eu finalmente decidi por ♣ s como o indicador de substituição por um valor real.
- Com o tempo, também melhorei alguns dos scripts.
- Etapas editadas 21-26
03APR2016
- Criado um apêndice com solução de problemas, referências e atualizações (etapas 27-29)
- Solução de problemas movida para o apêndice da etapa 2 anterior
- Atualizou e colocou em ordem alfabética a página de solução de problemas
- Nome do arquivo alterado de test2wifi.sh para garage.sh - apenas mais descritivo.
- Cron atualizado para usar o garage.sh
- Editado 1, 20-26 (Criar um serviço de inicialização para a etapa antes do apêndice)
04APR2016
- Substituí as etapas 2 a 11 e 16 a 20 pelo meu padrão de configuração de um Raspberry Pi
- Lista de peças atualizada, etapa 1
- Fotos adicionadas / mescladas
05APR2016
Site e imagem simplificados (etapas 4 e 5)
01 de maio de 2016
Adicionada solução de problemas para o sensor Seco-larm / raspberry Pi
01 de maio de 2016
As edições anteriores não foram salvas corretamente?
11NOV2016
- Atualizado para AT&T GigaPower e alterado o roteador para 5268ac
- 5268ac não oferece suporte a loopback, portanto, o servidor Garage Opener não está acessível a partir de computadores na LAN. Para que um MacBook acesse o servidor da web do abridor de garagem, faça o seguinte:
$ sudo nano / etc / hosts
e adicione a linha
192.168.1.64 ♣ nome do domínio externo do servidor ♣
Salvar e sair, CTRL-o, CTRL-x
$ sudo killall -HUP mDNSResponder
-
As regras de encaminhamento de porta integradas do 5268ac, como servidor HTTPS, servidor HTTP e servidor Web, não funcionam. Para fazer o encaminhamento de portas funcionar:
- Abra um navegador e vá para 192.168.1.254
- Conecte-se
- Selecione Configurações, Firewall, Aplicativos, orifícios e DMZ.
- Selecione o servidor web do abridor de garagem
- Selecione definido pelo usuário
-
Clique em um novo aplicativo definido pelo usuário
- Em Nome do perfil do aplicativo, insira: PortForwarding
-
Em Criar Definição de Aplicativo, adicione cada um dos itens a seguir e clique em Adicionar à Lista:
- TCP de 80 a 80, mapear para a porta 443 do host
- TCP de 443 para 443 mapeado para a porta do host 443
- UDP de 443 a 443, mapear para a porta do host 443
- UDP de 80 a 80, mapear para a porta do host 443
- Clique de volta
- Selecione novamente o seu servidor web
- Selecione definido pelo usuário
- Adicionar PortForwarding
- Clique em Salvar
21 DE JANEIRO DE 2018
- Atualizado para Raspberry Pi 3
- Várias edições nas etapas
- Atualizou algumas peças e preços
Etapa 15: Apêndice: Solução de problemas
Espaço em disco usado
A última linha mostra o espaço total em disco usado. O cartão SD possui 8 GB.
$ cd../..
$ sudo du –hx –c
o email
Se você estiver tendo problemas, tente o seguinte:
$ echo "teste" | sendmail -v ♣your-gmail-account♣@gmail.com
Se o e-mail estiver configurado corretamente, você deverá obter um e-mail em sua conta do gmail.
Se você receber uma falha de autenticação:
Você pode precisar diminuir a segurança em sua conta. No entanto, reduzir a segurança NÃO é recomendado. O Google enviará um e-mail com um link para diminuir a configuração de segurança.
Você pode mudar de seu leitor de e-mail atual para usar www.gmail.com para acessar sua conta (recomendado) ou alterar suas configurações em https://www.google.com/settings/security/lesssecu … para que sua conta não seja mais protegidos por padrões de segurança modernos.
Não recomendo diminuir seus padrões de segurança.
Se você receber uma falha de autorização:
A causa mais provável disso é que você especificou um nome de usuário ou senha incorretos para sua conta do gmail no arquivo /etc/ssmtp/ssmtp.conf. Verifique novamente os valores dos campos AuthUser e AuthPass.
Se você perder a conexão no meio do processamento:
Provavelmente, você especificou a porta errada para o smtp do Google em algum lugar em /etc/ssmtp/ssmtp.conf ou em / etc / ssmtp / revaliases.
Verifique as últimas linhas de seus logs. Deve haver algumas mensagens de erro relevantes lá:
$ tail /var/log/mail.log
$ tail / var / log / syslog
A porta da garagem não abre
Se tudo estava funcionando e simplesmente parar, tente reiniciar. Se isso não funcionar, retire o cabo de alimentação do Raspberry Pi e restaure a alimentação. O Raspberry Pi deve reiniciar em menos de 2 minutos e tudo deve funcionar bem. Isso geralmente é causado por uma perda de energia para o gateway residencial.
GPIO
Se algo der errado, a melhor maneira de ver o que está acontecendo é com o seguinte comando:
$ gpio readall
Faça login no raspberry pi no MacBook
terminal é um utilitário MacBook: disco / aplicativos / utilitários / terminal. Eu mantenho o aplicativo do terminal no banco dos réus.
No MacBook, abra o terminal
$ ssh pi @ ♣ raspberry-pi-ip ♣
♣ senha ♣
Faça login no gateway residencial
No MacBook, abra o navegador
URL = ♣ raspberry-pi-ip ♣
Login: ♣ senha do gateway ♣
Histórico
Se algo der errado, verifique esses registros em busca de erros, avisos ou outros problemas.
$ cat / var / log / messages
$ cat / var / log / syslog $ cat / var / log / dmesg
Diretório MAC
Diretório no MacBook onde os arquivos do site são armazenados
Diretório MAC = / Usuários / ♣ meu macbook ♣ / Área de trabalho / casa habilitada para wi-fi / abridor de porta de garagem habilitado para wi-fi / website
Senha
Senha = ♣ senha-pi-framboesa ♣
RAM e CPU usados
$ top
CTRL-c para sair
Diretório inicial do Raspberry Pi
$ pwd
/ home / pi
Nome do host do Raspberry Pi
$ hostname
hostname = ♣ hostname ♣
Raspberry Pi IP
♣ raspberry-pi-ip ♣ = 192.168.1.93
Diretório de sites do Raspberry Pi
/ var / www
Seco-larm para de funcionar
Em 01 de maio de 2016, o Seco-larm parou de funcionar. Esta é a terceira vez que o sensor parou de funcionar. Para dizer isso corretamente, o pino físico 15 no Raspberry Pi parou de detectar a entrada de 3,3 V. Tentei os pinos físicos 1 e 17 de 3.3v, e ambos ainda estavam produzindo 3.3v. Troquei do pino físico 15 para outro GPIO, pino físico 16 (GPIO 4) e começou a funcionar novamente. Portanto, não há nada de errado com o Seco-larm. O problema parece ser com o Raspberry Pi GPIO.
GPIO 3, pino físico 15 está morto. Este é um post muito bom sobre como testar pinos GPIO.
Mudei do GPIO 3 para o GPIO 4 e mudei o código de acordo. Não sei por que o pino GPIO parou de funcionar. Aqui estão duas razões possíveis:
- Eu tenho o sensor Seco-larm montado de forma que quando a porta é fechada ele produz 3,3v. A porta da garagem é fechada com mais frequência do que aberta. Talvez, o pino GPIO não possa aceitar uma entrada mais ou menos constante de 3,3v.
- A falha coincidiu com uma perda de energia, talvez tenha havido um pico de energia.
Portal Residencial U-verse
Tenho AT&T U-verse com um gateway residencial, mas qualquer serviço deve funcionar.
Se o U-verse Gateway for reiniciado ou perder energia, o Raspberry Pi pode precisar ser reiniciado.
Gateway residencial U-verse IP público = ♣ router's-public-ip ♣
O IP público de um gateway residencial U-verse pode mudar, mas isso raramente acontece
Página inicial do gateway residencial U-verse = 192.168.1.254
SSID do ponto de acesso sem fio do roteador U-verse = ♣ ssid ♣
A taxa de transferência do WiFi está mais lenta do que o esperado
Mude o roteador para um canal menos usado. Por padrão, todos os provedores de circuito sintonizam o wi-fi de todos no canal 1. Mude para um canal menos usado, como 11. Tente usar um número ímpar.
Nota: Eu disse a alguns vizinhos o que fiz para melhorar o wi-fi e agora todos estão no 9 ou 11, então voltei para o 1. Você deve sempre usar um canal estranho.
Abra um navegador.
Para U-verse, digite 192.168.1.254 na caixa URL.
Clique no link Wireless e escolha o canal 6 ou 11.
Existe um aplicativo para smartphone chamado analisador de wi-fi. Uma das telas mostra todos os pontos de acesso wi-fi próximos transmitindo em um canal específico. Na minha vizinhança, todos estão configurados para o canal 1.
Desconecte o Raspberry Pi e restaure a energia
Recomendado:
Abridor de porta de garagem inteligente DIY + Integração com Assistente de casa: 5 etapas
DIY Smart Garage Door Opener + Home Assistant Integration: Transforme sua porta normal de garagem em algo inteligente usando este projeto DIY. Vou mostrar a você como construí-lo e controlá-lo usando o Home Assistant (sobre MQTT) e ter a capacidade de abrir e fechar remotamente a porta de sua garagem. Usarei uma placa ESP8266 chamada Wemos
Abridor de porta de garagem inteligente barato: 6 etapas (com fotos)
Abridor de porta de garagem inteligente barato: CreditI praticamente copiou a implementação de Savjee, mas em vez de usar um Shelly, usei um Sonoff Basic. Confira seu site e canal no YouTube! Https: //www.savjee.be/2020/06/make-garage-door-ope…https: //www.youtube.com/c/Savjee/AssumptionsVocê h
Hardware para abridor de porta de garagem Raspberry Pi Zero: 10 etapas
Hardware do Abridor de Porta de Garagem Raspberry Pi Zero: Uma das inspirações para este projeto foi a multa instrutível no Abridor de Porta de Garagem Raspberry Pi 3, junto com vários outros encontrados na Internet. Não sendo uma pessoa experiente em eletrônica, fiz muitas pesquisas adicionais sobre maneiras de i
Abridor de porta de garagem Raspberry Pi: 5 etapas
Raspberry Pi Garage Door Opener: Nosso teclado de quinze anos que nos permite abrir a porta da garagem está morrendo lentamente, com vários botões que mal se registram, tornando difícil para nossos adolescentes (ou babá) entrarem em casa quando se esquecem de seus chave. Em vez de repl
Abridor de porta de garagem usando um Raspberry Pi: 5 etapas (com fotos)
Abridor de porta de garagem usando um Raspberry Pi: Controle o motor de garagem de um smartphone ou qualquer dispositivo capaz de navegar em uma página da web (com AJAX!). O projeto foi iniciado porque eu só tinha um controle remoto para minha garagem. Foi divertido comprar um segundo? Insuficiente. Meu objetivo era ser capaz de controlar e monitorar