Índice:

Automação residencial barata e eficaz com Raspberry Pi: 11 etapas (com fotos)
Automação residencial barata e eficaz com Raspberry Pi: 11 etapas (com fotos)

Vídeo: Automação residencial barata e eficaz com Raspberry Pi: 11 etapas (com fotos)

Vídeo: Automação residencial barata e eficaz com Raspberry Pi: 11 etapas (com fotos)
Vídeo: Automação com Raspberry Pi e display touch 7’’ 2024, Dezembro
Anonim
Automação residencial barata e eficaz com Raspberry Pi
Automação residencial barata e eficaz com Raspberry Pi
Automação residencial barata e eficaz com Raspberry Pi
Automação residencial barata e eficaz com Raspberry Pi
Automação residencial barata e eficaz com Raspberry Pi
Automação residencial barata e eficaz com Raspberry Pi

Sempre quis ser capaz de controlar as luzes sem fio, mas as opções comerciais geralmente são caras. As luzes Philips Hue custam cerca de US $ 70, e as luzes conectadas por Wi-Fi também são caras. Este tutorial explicará como controlar até cinco luzes / lâmpadas / fios de luz de Natal por cerca de US $ 50 e pode ser expandido para incluir mais luzes também.

Etapa 1: O que você precisa

O que você vai precisar
O que você vai precisar

Materiais:

Raspberry Pi Zero W (edição sem fio)

Cartão Micro SD (pelo menos 4gb)

Conversor / cabo mini HDMI para HDMI (há uma diferença entre mini e micro, certifique-se de obter o correto!)

Micro USB para cabo / conversor USB

Teclado USB

Observação: recebi um kit inicial Raspberry Pi Zero W da Amazon que veio com Raspberry Pi Zero W, cartão SD, capa, cabo de alimentação, conversor HDMI e conversor USB. Por apenas $ 30, é uma boa opção (link)

Você pode usar um modelo diferente de Raspberry Pi, mas o Raspberry Pi deve ter algum tipo de conexão com a internet, e o Pi Zero W é a opção mais barata.

Tomadas remotas - usei estas

Transmissor e receptor RF (Nota: a frequência do transmissor / receptor deve corresponder à frequência das tomadas remotas) - Eu usei estes

Fio para antena (usei fio de cobre de núcleo sólido de calibre 22, outro fio pode funcionar)

Placa de ensaio, fios de jumper, conector macho-macho de 40 pinos

Programas:

Raspberry Pi OS (faça download do Raspbian Desktop)

Imager de disco Etcher (para gravar o Pi OS no cartão SD)

Ferramentas:

Ferro de solda

Computador para baixar Pi OS e Etcher

Etapa 2: configurar as tomadas

Configurar os pontos de venda
Configurar os pontos de venda
Configurar os pontos de venda
Configurar os pontos de venda

Comece conectando suas tomadas em uma tomada. Siga as instruções incluídas para configurá-los e conecte suas luzes / aparelhos. Verifique se o controle remoto está emparelhado corretamente e controlando os soquetes.

Etapa 3: configurar uma conta PubNub

PubNub é um servidor de internet gratuito que permite a comunicação entre dispositivos, em qualquer lugar do mundo. O script python recebe mensagens de uma página da web e usa as informações da mensagem para acender ou apagar as luzes. Você pode se inscrever para uma conta gratuita aqui. Depois de se inscrever, faça login em sua conta. Isso o levará a uma página de gerenciamento de aplicativos. Clique em "Criar novo aplicativo". Dê a você um nome de aplicativo e, em seguida, selecione-o na lista de aplicativos (se este for o seu primeiro aplicativo, será o único). Isso o levará à página de chaves do aplicativo. Clique em "Demo Keyset" e você verá três chaves diferentes. Mantenha esta página ativa, você precisará dessas chaves mais tarde. Agora que você tem sua conta PubNub, pode configurar seu pi de framboesa.

Etapa 4: preparar Raspberry Pi

Baixe Etcher e o Raspberry Pi OS em seu computador (links na lista de peças)

Instale o Etcher em seu computador e descompacte (se necessário) o Raspberry Pi OS. Insira o cartão Micro SD em seu computador e abra o Etcher. Clique em "Selecionar imagem" e navegue até o arquivo descompactado do Raspberry Pi OS. Selecione-o, clique em "Selecionar unidade" e selecione seu cartão micro SD na lista. Clique em "Flash" e espere o Etcher terminar. Assim que o Etcher for concluído, remova o cartão SD do seu computador (o Etcher o ejeta automaticamente) e insira-o no Raspberry Pi. Neste ponto, você precisará conectar o Raspberry Pi a um monitor com o conversor HDMI. Conecte um teclado (e mouse, se você tiver um hub multi-USB) e conecte o cabo de alimentação. Existem duas portas micro USB. Um é para alimentação, o outro é uma porta USB real. O mais próximo do final do Pi é a potência, enquanto o mais próximo do meio é o USB. Seu pi de framboesa começará a inicializar. Ele pode reiniciar algumas vezes durante a primeira inicialização, mas isso é normal. Assim que o raspberry pi for iniciado, conecte-o ao seu WiFi. Depois de conectá-lo ao WiFi, você pode usar um servidor SSH, mas acho mais fácil usar a GUI por enquanto. Abra uma janela de terminal e digite estes comandos:

sudo pip3 install 'pubnub == 3.9.0'

cd git clone git: //git.drogon.net/wiringPi git clone

sudo git clone https://github.com/timleland/rfoutlet.git / var / www / rfoutlet

sudo chown root.root / var / www / rfoutlet / codesend sudo chmod 4755 / var / www / rfoutlet / codesend

cd wiringPi

./construir

Agora, abra o navegador de arquivos Raspberry Pi e você deverá ver a pasta pi-home-automação. Clique duas vezes nele e você verá um arquivo chamado RFControl.py. Copie-o (clique ao lado e selecione "Copiar"), volte para a pasta pi e cole-o lá.

Desligue o raspberry pi (no menu ou executando sudo poweroff na linha de comando) e desconecte-o quando a luz verde parar de piscar.

Etapa 5: Criação do circuito

Criando o Circuito
Criando o Circuito
Criando o Circuito
Criando o Circuito
Criando o Circuito
Criando o Circuito

Agora é hora de criar o circuito. Usei um breadboard, mas você pode fazer como quiser.

Primeiro, devemos criar uma antena para o transmissor RF. Este tutorial instrutível explica como fazer uma antena para um transmissor RF. Siga as instruções e, em seguida, solde-o ao pino da antena do transmissor (no que usei estava identificado como ANT) com o lado mais curto mais próximo do transmissor

Conecte o transmissor

O transmissor usa estes pinos:

DADOS: GPIO 17, pino físico 11

VCC: Raspberry Pi 5v, pino físico 2

GND: Raspberry Pi GND, físico pino 6

Ligue o receptor

O receptor usa estes pinos:

GND: Raspberry Pi GND, físico pino 9

VCC: Raspberry Pi 5v, físico pino 4

DADOS: GPIO 27, pino físico 13 (há dois pinos de dados no receptor que usei e usei o mais próximo do VCC)

Etapa 6: Obtenha seus códigos RF

Obtenha seus códigos RF
Obtenha seus códigos RF

Depois que o circuito estiver conectado ao Raspberry Pi, verifique-o duas vezes para certificar-se de que tudo está no lugar e, em seguida, ligue-o novamente. Uma vez ligado, abra um terminal e digite

sudo / var / www / rfoutlet / RFSniffer

Em seguida, abra o programa RFControl. Colocar a janela do terminal e a janela do programa lado a lado pode ser útil na próxima etapa.

Você precisará do controle remoto incluído no kit da tomada agora. Segure-o próximo ao receptor e pressione cada botão individual. Ao pressionar um botão, você verá dois números impressos na tela. Um deles será um código de seis ou sete dígitos e o outro um código de 3 dígitos. Você precisará editar o dicionário de códigos no programa. Insira o código de 7 dígitos no local do interruptor correspondente no programa e, para cada botão liga / desliga, insira o código de 3 dígitos (este é o comprimento) no arquivo do interruptor correspondente no programa.

Por exemplo, se o switch 1 on tiver um código de 1234567, um código de off de 7654321 e um comprimento de 890, o código terá a seguinte aparência:

códigos = {

'switch1': {'on': 1234567, #Este é switch 1 on 'off': 7654321, # este é switch 1 off 'len': 890, #este é switch 1 code length}, 'switch2': {… },…}

Repita isso para cada botão. Enquanto você está editando este arquivo, altere as strings que dizem "YOUR-SUB-KEY" para sua chave de assinatura do PubNub e "YOUR-PUB-KEY" para sua chave de publicação.

Uma vez que cada botão tenha sido gravado, você pode continuar para a próxima seção.

Etapa 7: executando o programa

Executando o Programa
Executando o Programa

Agora que você tem todos os seus códigos, vá para a página do GitHub (no seu computador, não no raspberry pi) e clique no botão verde que diz "Clonar ou baixar" e, em seguida, clique em "Baixar ZIP". Assim que o download do arquivo for concluído, descompacte-o e abra a pasta. Abra o arquivo chamado main.js. Você precisará inserir suas chaves de assinatura e publicação no programa, substituindo "YOUR-PUB-KEY" pela chave de publicação e "YOUR-SUB-KEY" pela chave de assinatura.

Em seguida, volte ao seu Raspberry Pi e digite

python3 RFControl.py

Assim que imprimir "Pronto", volte ao seu computador e abra o arquivo index.html em um navegador da web fazendo um clique oposto, selecione "Abrir com" e selecione o navegador de sua preferência. Você deve ver 2 colunas de 5 botões, com os nomes das opções entre eles. Pressione qualquer um dos botões. Se controlar corretamente o soquete, ótimo! Se não, aqui estão algumas coisas que você pode tentar:

  1. Certifique-se de que o Raspberry Pi esteja recebendo mensagens. Ele deve ser impresso na tela sempre que receber uma mensagem da página da web. Caso contrário, certifique-se de que suas chaves de assinatura / publicação estão corretas.
  2. Se o Raspberry Pi estiver recebendo mensagens, verifique se os códigos RF estão corretos. Certifique-se de que as tomadas estejam emparelhadas com o controle remoto, que o controle remoto possa controlá-las e que os códigos inseridos no programa estejam corretos.
  3. Se os códigos RF estiverem corretos, certifique-se de que seu Raspberry Pi esteja dentro do alcance das tomadas. Se eles começarem a funcionar depois de movê-la para mais perto, pode ser necessário refazer sua antena.
  4. Se ainda não estiverem funcionando, conte-me seu problema nos comentários e tentarei ajudá-lo.

Etapa 8: Execução na inicialização

Para fazer seu programa Python rodar na inicialização, insira isto em seu terminal raspberry pi:

crontab -e

Em seguida, vá para a parte inferior do arquivo e digite o seguinte:

@reboot python3 /home/pi/RFControl.py &

Isso fará com que seu script Python seja executado na inicialização todas as vezes. Agora reinicie o seu Raspberry Pi.

Etapa 9: Adicionar mais interruptores

Adicionando mais interruptores
Adicionando mais interruptores

Se você quiser adicionar mais pontos de venda, siga estas instruções:

Abra RFControl.py em seu Raspberry Pi e adicione um novo switch ao dicionário de switches.

Exemplo:

switches = {

… outros interruptores … 'NOME DO INTERRUPTOR': {'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz,},}

Em seguida, adicione um novo botão em seu aplicativo da web editando a variável switches em main.js em seu computador.

Exemplo:

var switches = [… Interruptores antigos… ['NOME PARA EXIBIR', 'NOME DO INTERRUPTOR'],];

Substitua NAME-TO-DISPLAY pelo nome que você gostaria que apareça na página da web e NAME-OF-SWITCH em ambos os arquivos por qualquer coisa que desejar. No entanto, deve ser diferente dos outros!

Etapa 10: Indo além

Levando mais longe
Levando mais longe

O PubNub é compatível com muitas plataformas diferentes, o que significa que você pode enviar mensagens de quase qualquer dispositivo! Usei um kit Raspberry Pi AIY Voice e PubNub para enviar comandos com a minha voz, mas isso pode ser o tópico de um Instructable posterior. Obrigado por ler meu Instructable, espero que tenha sido útil!

Etapa 11: créditos

Obrigado a Tim Leland pelo tutorial sobre como configurar o transmissor RF: tutorial

Obrigado a diy_bloke pelo tutorial sobre como criar uma antena: tutorial

Agradeço também a todos os outros que postaram tutoriais online que eu visualizei para obter ajuda!

Recomendado: