Índice:

Abridor de porta de garagem Raspberry Pi: 5 etapas
Abridor de porta de garagem Raspberry Pi: 5 etapas

Vídeo: Abridor de porta de garagem Raspberry Pi: 5 etapas

Vídeo: Abridor de porta de garagem Raspberry Pi: 5 etapas
Vídeo: Управление открыванием гаражных ворот Raspberry Pi 2024, Julho
Anonim
Abridor de porta de garagem Raspberry Pi
Abridor de porta de garagem Raspberry Pi

Nosso teclado de quinze anos que nos permite abrir a porta da garagem está morrendo aos poucos, com vários botões que mal se registram, tornando difícil para nossos adolescentes (ou babá) entrarem em casa quando esquecem a chave.

Em vez de substituí-lo, e saltar através dos aros de reprogramá-lo, decidi ir um pouco mais high-tech e substituí-lo por algo que só exigia acesso ao nosso wi-fi e um telefone para usar.

Usei um Pi Zero Wireless e um relé de 2 canais que sobrou de outro projeto, o que me permite controlar a porta e as luzes embutidas no controle da porta da garagem. Como eu tinha uma câmera USB velha / sobressalente acumulando poeira, usei-a em vez de uma PiCam, mas foi apenas por conveniência. Isso funcionaria muito bem com qualquer câmera compatível - não há nada de especial na minha, apenas que Raspbian a suportava.

Ao contrário de alguns outros projetos semelhantes, tentei mantê-lo o mais simples possível, usando pacotes de software "padrão" que são muito fáceis de instalar e executar se você seguir as instruções. Esta foto mostra minha instalação final (nada bonita, mas é minha garagem), incluindo o Pi, o Módulo de retransmissão e a webcam USB apontada para a porta. Não há nenhuma razão específica para usar o Pi Zero - qualquer Pi serviria, desde que você possa conectá-lo à sua rede interna e o wi-fi facilita isso.

Etapa 1: Conectando-se ao Painel de Controle Existente

Conectando ao Painel de Controle Existente
Conectando ao Painel de Controle Existente

Primeiro, SEU PODE SER DIFERENTE! O meu tem um único par de fios que vai do controle da porta da garagem ao painel de controle na parede. Como há apenas dois fios, que pareciam ter cerca de 18 volts quando testados, fiquei um pouco confuso no início sobre como exatamente essa coisa pode controlar várias funções. ACHO que cada botão momentâneo simplesmente completa o circuito, mas com diferentes níveis de resistência. Em seguida, a unidade principal pode ler essa resistência por meio de diferentes quedas de tensão e executar a ação correta. Porém, nada disso importa, a menos que você esteja tentando substituir completamente a unidade de controle pelo Pi. Não sei por que você deseja fazer isso, já que é bom ainda ter a unidade física no lugar.

AAAAAnnnyway, tudo que você precisa fazer é replicar os vários pressionamentos de botão, conectando os interruptores momentâneos no PCB ao seu módulo de relé. Esta foi a única soldagem que tive que fazer, e as almofadas da placa de circuito impresso eram bem grandes, então foi bem simples. Deixe esses fios meio longos por enquanto, já que é muito mais fácil encurtar um fio do que aumentá-lo mais tarde, a menos que você tenha um esticador de fio ACME por perto, mas esses são muito raros.

Etapa 2: Fiação da placa de relé

Fiação da placa de relé
Fiação da placa de relé
Fiação da placa de relé
Fiação da placa de relé

Não há muito a dizer aqui, apenas conecte tudo como nas fotos. No módulo de 2 relés Sainsmart, os pinos JC-VCC e VCC precisam ser jumpeados juntos, a menos que você queira usar uma fonte de alimentação completamente separada para eles, mas para esse uso, isso é um exagero. Conecte o GND a um pino Pi GND, VCC a um pino de 5 V e o IN1 e IN2 a quaisquer pinos GPIO que você deseja usar. Como você vai usá-los apenas como alternadores ALTO / BAIXO, realmente não importa quais.

Etapa 3: Instalando o software

Instalando o software
Instalando o software

Esta é provavelmente a etapa que consome mais tempo, já que você observará o download e a instalação das coisas por um tempo. Assista ao youtube ou algo assim enquanto algumas dessas coisas são instaladas.

Não vou explicar como instalar o Raspbian. Se você ainda não sabe como fazer isso, talvez primeiro vá no google algum tipo de tutorial do tipo "olá, mundo". Em qualquer caso, é provavelmente melhor usar uma nova instalação do Raspbian Lite. Não há necessidade de uma interface gráfica para este projeto, e é apenas uma sobrecarga extra. raspberrypi.org pode orientá-lo nesse processo.

Habilite o SSH e (se quiser) configure um IP estático para o seu Pi (mais uma vez, existem vários tutoriais por aí sobre como fazer isso, escritos por autores melhores do que eu) ou ainda melhor, configure seu roteador / servidor DHCP para atribuir um IP estático ao seu Pi.

Se você deseja um serviço de vídeo agradável e fácil de instalar e usar, instale o MotionEye. Provavelmente é um exagero, mas é uma das instalações que "simplesmente funciona" todas as vezes e tem uma interface da web agradável e fácil de usar. Confira aqui:

github.com/ccrisan/motioneye/wiki/Install-… Siga estas instruções usando sudo antes de cada comando, e você terá um bom streamer de vídeo configurado. Não é exatamente necessário ter um stream de vídeo se tudo o que importa é abrir a porta quando puder vê-lo, mas é bom ter feedback.

Depois de instalar o Motioneye, visite https:// YourIPAddress: 8765 e faça login com o nome de usuário "admin" e uma senha em branco. Você provavelmente precisará adicionar uma câmera, que deve, novamente, "funcionar" e está além do escopo destas instruções.

Enquanto você estiver conectado como administrador, clique em alternar "Configurações avançadas" e defina as opções de vídeo - Usei 320x240 para meu vídeo porque me preocupo mais com atualizações mais rápidas do que com qualidade, já que na verdade só queria vê-lo no a porta estava aberta ou não e não é necessário ler os números das caixas de correio do outro lado da rua.

Na área de configurações de "Streaming de vídeo", clique no link "URL de streaming" e anote o endereço que ele apresenta a você. Você precisará dele mais tarde se planeja configurar a interface da mesma maneira que fiz.

Existem várias maneiras de controlar seus pinos GPIO. Para este projeto, usei o WiringPi, para instalá-lo siga as instruções do site:

wiringpi.com/download-and-install/

Ou apenas emita os seguintes comandos no seu Pi:

wget https://lion.drogon.net/wiringpi-2.50-1.debsudo dpkg -i wiringpi-2.50-1.deb gpio -v gpio readall

Isso deve lhe dar uma lista do que está acontecendo com seus pinos GPIO.

Se estiver usando os pinos 4 e 17 (no esquema de numeração BCM), você pode testar suas conexões com os comandos a seguir. Observe que definir o pino BAIXO ativará os relés se estiver usando este módulo Sainsmart. O seu pode ser diferente e você precisará se ajustar a isso. Ao executar esses comandos, você deve ouvir o clique dos relés no lugar e o (s) LED (s) devem acender.

gpio -g mode 17 out

gpio -g write 17 0 gpio -g write 1 1 gpio -g mode 4 out gpio -g write 4 0 gpio -g write 4 1

OK, agora podemos prosseguir para a criação da IU.

Etapa 4: Fazendo a interface

Fazendo a interface
Fazendo a interface

Usei apache e PHP. Agradável e simples, nada muito sofisticado. Mais uma vez, foi melhor explicado em outro lugar, então basta seguir as instruções encontradas aqui:

www.raspberrypi.org/documentation/remote-a…

A "raiz" do seu servidor web, por padrão, está em / var / www / html / com um index.html padrão que fornece informações sobre o seu servidor web. Você substituirá esse index.html, para que possa excluí-lo ou renomeá-lo para algo como index.copy. Também tornei o usuário "pi" o proprietário do diretório html, apenas para ser preguiçoso sobre as permissões. Por fim, criei um diretório para armazenar minhas imagens, que são duas. Um que é apenas um feedback bobo de que um botão foi pressionado e outro que pode ser usado como um ícone na tela inicial de um telefone.

pi @ garagedoor: ~ $ cd / var / www / html /

pi @ garagedoor: / var / www / html $ sudo chown pi.pi @ garagedoor: / var / www / html $ mv index.html index.copy pi @ garagedoor: / var / www / html $ imagens mkdir

Há um número infinito de maneiras de criar um site, mas optei por mantê-lo o mais simples e fácil possível com base em MINHAS habilidades. Daí, PHP, já que eu conheço. Se você é um guru do python ou alguma outra linguagem de script, sinta-se à vontade para usá-la.

Eu criei uma página index.html "container" que na verdade tem dois iframes que fazem todo o trabalho. Um dos iframes contém os botões / links que realmente acionam os relés via GPIO e outro iframe que exibe o vídeo. Ele também contém links para uma imagem-p.webp

O index.html iframe que contém os botões tem o arquivo buttons.html como seu conteúdo. (engraçado como isso funciona, hein?) Ambos os links em button.html levam a action.php com um valor de variável GET exclusivo. Com base no valor passado, action.php irá acionar a porta ou o botão de luz. Você pode obter o código HTML e PHP no meu github:

Coloque todo o HTML e PHP no diretório raiz (/ var / www / html /), atualize o código onde necessário com o nome da imagem que você pode estar usando para a confirmação do pressionamento do botão e o endereço do seu stream de vídeo. Lembra quando eu disse que você precisava disso, na etapa anterior?

Etapa 5: Experimente

OK, agora que você tem tudo conectado e instalado, tudo funciona perfeitamente na primeira tentativa, certo? Doce!

Recomendado: