Como construir luzes de entrada automáticas com um Raspberry Pi
ComoVoltando para casa para uma casa escura pode ser deprimente então vamos usar alguns componentes de prateleira para construir um projeto de casa bem-vindo brilhante usando o Raspberry Pi.
Você vai precisar de:
- Qualquer Raspberry Pi Zero, A +, B +, Raspberry Pi 2 ou Raspberry Pi 3
- O mais recente sistema operacional Raspbian
- Tomadas Energenie e Pi Remote
- Um interruptor reed
- Fios de ligação
- Ímãs
- Todo o código pode ser encontrado aqui
O projeto
Primeiro, precisamos conectar o Energenie aos primeiros 26 pinos do GPIO em seu Raspberry Pi. (Para referência, o pino 1 é o pino mais próximo do slot para cartão SD.) A placa caberá perfeitamente sobre o Raspberry Pi sem partes suspensas.
Agora, conecte um cabo de jumper fêmea para fêmea a GPIO20 e GND através dos pinos GPIO não utilizados. (Se você quiser estender os cabos do jumper, simplesmente use cabos macho-fêmea até que o comprimento desejado seja atingido.) Em uma extremidade do cabo de jumper fêmea, conecte o interruptor reed e, em seguida, o outro..
O receptor da unidade Energenie possui um relé para ligar e desligar a rede elétricaCom o plástico aderente, prenda o interruptor a uma moldura da porta e anexe o nível dos ímanes ao interruptor, mas na própria porta, para que o interruptor seja fechado quando a porta estiver fechada..
Inicialize seu Raspberry Pi e abra um terminal. Para instalar a biblioteca Energenie para uso do Python 3 $ sudo pip-3.2 instala energenie.
Uma vez instalado, abra uma nova sessão do Python 3 através do menu de programação. Para emparelhar as nossas unidades Energenie com o nosso Raspberry Pi, abra a concha IDLE e digite de energenie import switch_on, switch_off. Agora conecte seu Energenie e pressione o botão verde por seis segundos.
A unidade da Energenie se encaixa perfeitamente nos primeiros 26 pinos do Pi 2 ou em todos os pinos GPIO de um Raspberry Pi mais antigoIsso força a procura de um novo transmissor. De volta ao seu shell IDLE, digite switch_on (1). Isto irá emparelhar o seu Raspberry Pi à unidade e designá-lo '1' e o processo pode ser repetido para quatro unidades. Com o IDLE, clique em Arquivo> Nova Janela e salve seu trabalho como entrylight.py.
Começaremos importando as bibliotecas para este projeto:
de energenie import switch_on, switch_off
tempo de importação
importar RPi.GPIO como GPIO
A biblioteca energenie controla as unidades para as nossas luzes, e o tempo é usado para controlar quanto tempo as unidades são alimentadas e o RPi.GPIO é a biblioteca usada para trabalhar com o GPIO.
GPIO.setmode (GPIO.BCM)
GPIO.setup (20, GPIO.IN, GPIO.PUD_UP)
desligar()
Em seguida, configuramos o GPIO para usar o mapeamento de pinos Broadcom e definimos GPIO20 como uma entrada com seu resistor interno puxado para cima, transformando a corrente naquele pino. Finalmente, desligamos as unidades Energenie para garantir que estejam prontas.
O código principal usa uma tentativa ... exceto estrutura para envolver um loop infinito. Essa parte do código exige que você insira recuos com precisão para cada linha, portanto, verifique se ela se parece com a seguinte imagem.
Dentro do loop, usamos uma instrução condicional para verificar se a entrada foi acionada, isto é, se a porta foi aberta. Se for verdade, as unidades são ligadas por 30 segundos e desligadas novamente.
Nós terminamos a declaração condicional com uma condição else. Isso desligará as unidades e fará um loop continuamente. Fechamos a tentativa… exceto estrutura com um método para fechar o projeto, pressionando CTRL + C finalizará o projeto e desligará as unidades caso seja necessário.
Com o código completo, salve seu trabalho e clique em Run> Run Module para testar o código.
Energenie
Controlar dispositivos de alta tensão é um projeto para aqueles que conhecem suas coisas, mas com a Energenie podemos reduzir significativamente o risco.
As unidades de energia em seu núcleo são simplesmente receptores de 433 MHz que controlam um relé; um componente que usa baixa tensão para controlar um comutador magnético em um circuito de alta voltagem. No Raspberry Pi, temos um transmissor que pode instruir os receptores a ligar e desligar.
As unidades Energenie são uma maneira segura de controlar a eletricidade da rede elétrica. A biblioteca Python padrão para o Energenie é bastante complicada, exigindo que o usuário controle os pinos GPIO usados pelo transmissor para se conectar a cada dispositivo e emitir a instrução correta..
Essa biblioteca ficou bem mais simples graças a Ben Nuttal, membro da equipe de Educação da Fundação Raspberry Pi, e Amy Mather, conhecida por muitos como Mini Girl Geek, uma hacker e criadora adolescente. Essa biblioteca aprimorada, que usamos neste tutorial, exige que nós saibamos o número de cada unidade e possamos emitir uma instrução para uma ou todas as unidades de uma só vez..
A biblioteca pode ser encontrada no GitHub, se você quiser inspecionar o código e aprender mais sobre como ele funciona.
- Apreciamos este artigo? Expanda seu conhecimento de Linux, obtenha mais de seu código e descubra os mais recentes desenvolvimentos de código aberto no formato Linux. Leia nosso sampler hoje e aproveite a oferta dentro.