O que eu gostaria de ver é a maneira mais barata possível de controlar minhas luzes usando meu Raspberry Pi.
O que eu imagino controlá-lo
Eu construo uma interface no meu smartphone através da qual posso enviar comandos para o meu Raspberry Pi. O Raspberry Pi envia um pacote (ou outra coisa) para uma coisa que eu possa colocar dentro da minha tomada (para que eu não a veja). Observe que essa coisa deve estar conectada através de Wi-Fi (de que outra forma ele receberá a mensagem do meu Raspberry Pi?).
O que é essa coisa eo que é mais barato maneira possível possível, como eu estou planejando para conectar uma dúzia de luzes?
wifi
home-automation
Rick Hoving
fonte
fonte
Respostas:
Estou usando estes itens:
Fora da caixa, você tem um controle remoto que envia um sinal para o dispositivo receptor e o liga ou desliga.
No meu caso, eu criei esta situação:
/switch.html
)/switch.php
(o .php está no Raspberry Pi)switch.php
chama de umswitch.py
programa que controla o remetente 433 MHz (ver abaixo)Este é o remetente, ou seja, o substituto do controle remoto padrão: 433 MHz Superregeneração do módulo transmissor sem fio para Arduino
Também criei um cenário para uso externo.
Como não queria conectar meu Raspberry Pi por meio do meu roteador doméstico diretamente à Internet, construí outra página da Web (em meu próprio domínio) que não controla o Raspberry Pi diretamente, mas envia um email para um (conhecido apenas por me) endereço de e-mail ( Gmail ).
O Raspberry Pi verifica essa conta de email a cada 10 minutos para ver se há algum email. Nesse email, por exemplo, digo A ativado ou desativado.
Portanto, quando chegamos tarde em casa e as luzes já estão apagadas, navegamos para o site no meu celular (os planos são torná-lo um aplicativo Android), clique no botão, a página é publicada e no servidor um email é enviado, e nos próximos 0 a 10 minutos, o Raspberry Pi verifica o email, vê quatro novos emails (A ativado, B ativado, C ativado e D ativado) e acende as luzes.
Como começar
Então, para começar, estas são as coisas que eu fiz para fazer tudo funcionar. No meu caso, programei o controle do remetente de 433 MHz em Python (que é uma linguagem fácil se você já sabe como programar).
Primeiro você instala a
rpi.gpio
biblioteca.Esta biblioteca é usada para controlar os pequenos pinos no seu Raspberry Pi a partir do seu script Python. Consulte Instalar a biblioteca Python RPi.GPIO .
Em seguida, você pode opcionalmente ler o artigo Tutorial: Como usar o Raspberry Pi como um Arduino , é sobre o que você pode fazer com a
rpi.gpio
biblioteca, por exemplo, LEDs piscando .No entanto, não é obrigatório o interruptor da luz Elro.
Então você obtém o código incrível para o Elro comandando por HeikoHeiko, em http://pastebin.com/aRipYrZ6 . Você cola esse código em um arquivo chamado '
switchelro.py
'.Em seguida, altere a sequência na linha 94 para as suas próprias configurações de jumper (conforme definido no controle remoto e no dispositivo de tomada de parede. Verifique se o dispositivo de combinação de tomada de parede remota funciona antes de tentar com o Raspberry Pi. Se não funcionar com os componentes padrão, provavelmente também falhará com o Raspberry Pi).
Você altera o número do alfinete ao qual o remetente está anexado na linha 97.
O número do pino pode ser obtido nos periféricos de baixo nível RPi e em File: RPi P1 header.png .
Você precisa usar a contagem de 1 a 26 (a imagem em preto), não o GPIO34, GPIO24 etc. (imagem verde).
Então você digita isso no prompt de comando:
o que significa 'ativar B' (seguindo este esquema:
A = 1, B = 2, C = 4, D = 8, E = 16
para o primeiro número e 1 = ativado, 0 = desativado para o segundo).Mudei o
repeat = 10
sobreline 30
arepeat = 20
no início (não me lembro o porquê) e que funciona. Nunca tentei novamente com a configuração '10'.fonte
default_key = [1,0,0,0,1]
do código pastebin.com/aRipYrZ6 , você controla os interruptores DIP e, com apin
propriedade nodef __init__(self, device, key=[1,1,1,1,1], pin=4):
código, controla o A .. E (a = 1 .. e = 16)A coisa se chama X10 , é um padrão do setor para a maioria das tarefas de automação residencial, incluindo o controle de luzes. O sinal de controle é enviado pela mesma linha de energia à qual seus aparelhos estão conectados.
Para poder controlar tudo, desde o computador, você pode ler sobre o X10 Computer Interfaces no site OpenRemote. O modelo que você provavelmente está procurando é o CM15A com interface USB, que oferece suporte ao Linux.
Além disso, pode ser uma boa ideia verificar o ebay quanto a soquetes de parede habilitados para X10 e aparafusar os módulos de lâmpadas, que podem ser comprados com um preço bastante baixo, na faixa de US $ 10 a 20.
fonte
O que você está procurando é um relé de estado sólido ou relé mecânico . A idéia é que uma pequena quantidade de corrente em baixa tensão (como no seu RPi) possa ser usada para acionar o fluxo de uma quantidade maior de corrente em alta tensão (como uma lâmpada).
Eu recomendaria o módulo de relé SainSmart de 8 canais DC 5V de US $ 12 para o Arduino Raspberry Pi , pois ele já foi fabricado em uma placa com terminais de parafuso prontos para uso. Possui FETs para fornecer a corrente extra necessária para o acionamento dos relés mecânicos. Existem placas diferentes da mesma empresa, em uma ampla variedade de layout / número de relés. O que enviei são 8 canais, portanto, pode não ser suficiente para suas necessidades, embora existam 16 versões de canais disponíveis . Eles geralmente são mais baratos do que comprar vários relés separadamente e facilitar a conexão com eles.
São necessárias 4 conexões:
As entradas / saídas de alta tensão são as conexões feitas ou interrompidas pelos relés de acordo com suas linhas de entrada.
Eu já tenho um programa C IMPRESSIONANTE para alternar remotamente os pinos GPIO sobre SSH. Se você quiser, posso fornecer o código-fonte ou até mesmo explicar como ele funciona.
fonte
meu sistema é barato: EUR 43.- (receptor + transmissor) veja abaixo.
para automação residencial, conecto simplesmente um transmissor FS20 de 868,35 MHz compatível com 3,3V ao RPI:
http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html
este transmissor interage diretamente (por apenas 4 fios) com as portas GPIO da RPI (3.3V, GND, TXD, RXD) e é simplesmente controlado via interface de linha serial.
agora você pode controlar a enorme variedade de dispositivos FS20, como interruptores, interruptores, dimmers, temporizadores e rádios. receptores multicanais etc. transmitindo alguns bytes pela interface do console serial UART da RPI.
Visão geral do sistema FS20:
http://www.elv.de/fs20-funkschaltsystem.html
(infelizmente, o site está disponível apenas em alemão)
Pessoalmente, prefiro a CLI simples para controlar meus dispositivos domésticos. Se você preferir alguma GUI, pode dar uma olhada aqui:
http://fhem.de/fhem.html
felizmente em inglês :-)
Embora muito flexível, o sistema FS20 é muito barato. Amostra de custos para um simples botão liga / desliga:
mudar: http://www.elv.de/elv-funk-schaltsteckdose-fs20-st.html EUR 22,95
Transmissor UART: http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html EUR 19,95
Eu recomendo controlar o próprio RPI por um teclado sem fio. Para isso, você opcionalmente pode comprar esta coisinha engenhosa:
RT-MWK03 [2,4 Ghz sem fio] ( http://www.riitek.com/en/product-detail-428.html )
fonte
Eu escrevi um post detalhado sobre como controlar tomadas sem fio usando um raspberry pi. Confira: http://timleland.com/wireless-power-outlets/
fonte
Embora não seja exatamente barato, aqui está a minha solução:
http://www.everyhue.com/?page_id=38#/discussion/707/raspberry-touchpad-some-success
Basicamente, você usa o Philips Hue (luzes LED multicoloridas programáveis e controláveis por wifi) junto com um RPi e um touchpad. A superfície do touchpad USB atua nas dimensões de cor e brilho, enquanto os botões do mouse ativam e desativam as luzes. O custo é RPi + dongle Wifi (US $ 11) + touchpad USB barato (US $ 15) + conjunto Philips Hue (US $ 200 para ponte e 3 luzes, depois US $ 60 / luz).
fonte
Eu tenho uma abordagem diferente: estou usando o dongle CUL USB do Busware (suporta FS20 + HMS + FHT + outros protocolos e dispositivos) e implementei minha própria API Java para abstrair os dispositivos e permitir automação fácil através de um aplicativo Java.
Caso alguém se interesse pelo meu pequeno projeto: http://www.paulo-lima.org/hans
fonte