Índice:
- Etapa 1: Projeto do servidor da web do PowerHub e instruções de configuração da tomada habilitada para Internet
- Etapa 2: ativar as opções avançadas do RaspberriPi
- Etapa 3: comece a instalar os pacotes necessários
- Etapa 4: CONSTRUA A WEB API
- Etapa 5: suprimentos necessários
- Etapa 6: Construindo o Outlet
- Etapa 7: botões de instalação
- Etapa 8: relé de fio
- Etapa 9: Imagens adicionais de fiação e montagem
- Etapa 10: Diagrama de fiação
- Etapa 11: Teste de operação a seco
- Etapa 12: definir os scripts de inicialização
Vídeo: Tomada de energia habilitada para Internet: 13 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Projeto do PowerHub Webserver e instruções de configuração da tomada habilitada para Internet
Hub central de persistência de dados para luz e tomadas habilitadas para Internet em sua casa!
Etapa 1: Projeto do servidor da web do PowerHub e instruções de configuração da tomada habilitada para Internet
Hub central de persistência de dados para luz habilitada para Internet e tomadas em sua casa
Flashing RaspberriPi Hard Disk / Instale o software necessário (usando Ubuntu Linux) Baixe "RASPBIAN JESSIE LITE"
Crie seu novo disco rígido para o DashboardPI
Insira o microSD em seu computador via adaptador USB e crie a imagem de disco usando o comando dd
Localize o cartão microSD inserido por meio do comando df -h, desmonte-o e crie a imagem de disco com o comando disk copy dd
$ df -h / dev / sdb1 7,4G 32K 7,4G 1% / media / XXX / 1234-5678
$ umount / dev / sdb1
Cuidado: certifique-se de que o comando é totalmente preciso, você pode danificar outros discos com este comando
if = localização do arquivo de imagem RASPBIAN JESSIE LITE de = localização do seu cartão microSD
$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img de = / dev / sdb (nota: neste caso, é / dev / sdb, / dev / sdb1 era uma partição de fábrica existente no microSD)
Configurando seu RaspberriPi
Insira seu novo cartão microSD no raspberrypi e ligue-o com um monitor conectado à porta HDMI
Conecte-se
usuário: pi pass: framboesa
Altere a senha da sua conta para segurança
sudo passwd pi
Etapa 2: ativar as opções avançadas do RaspberriPi
sudo raspi-config
Escolha: 1 Expandir sistema de arquivos
9 opções avançadas
Nome do host A2 altere para "WIFI-OUTLET"
SSH A4 Habilitar Servidor SSH
A7 I2C Habilitar interface i2c
Habilite o teclado inglês / americano
sudo nano / etc / default / keyboard
Altere a seguinte linha: XKBLAYOUT = "us"
Reinicialize o PI para alterações de layout do teclado / redimensionamento do sistema de arquivos para entrar em vigor
$ sudo shutdown -r now
Auto-conectar ao seu WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Adicione as seguintes linhas para que o raspberrypi se conecte automaticamente ao WiFi doméstico (se a sua rede sem fio se chamar "linksys", por exemplo, no exemplo a seguir)
network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Reinicialize o PI para se conectar à rede WiFi
$ sudo shutdown -r now
Agora que seu PI está finalmente na rede local, você pode fazer login remotamente nele via SSH. Mas primeiro você precisa obter o endereço IP que possui atualmente.
$ ifconfig Procure por "inet addr: 192.168. XXX. XXX" na seguinte saída de comando para o endereço IP do seu PI
Vá para outra máquina e faça login no seu raspberrypi via ssh
$ ssh [email protected]. XXX. XXX
Etapa 3: comece a instalar os pacotes necessários
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vim git python-requisições python-gpiozero python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev
Atualize as configurações de fuso horário local
$ sudo dpkg-reconfigure tzdata
selecione seu fuso horário usando a interface
Configure o diretório simples l comando [opcional]
vi ~ /.bashrc
adicione a seguinte linha:
alias l = 'ls -lh'
fonte ~ /.bashrc
Corrigir o realce de sintaxe padrão do VIM [opcional]
sudo vi / etc / vim / vimrc
descomente a seguinte linha:
sintaxe em
Instalar drivers i2c Python
Etapa 4: CONSTRUA A WEB API
As instruções a seguir permitirão que você construa o hub central que explica as várias tomadas habilitadas para wi-fi e interruptores de parede que você pode construir, quais dispositivos são ligados e desligados. Este é um pequeno script PHP para colocar em um host da web de sua escolha. Ele tem a seguinte API para obter e definir informações para ele. Nota: não se esqueça de incluir o arquivo.htaccess para que o roteamento de URL apropriado ocorra.
Instale a pasta "index.php", "values /" e settings.php (configurado com seus próprios valores) em um servidor web habilitado para PHP de sua escolha. O valor da chave secreta no arquivo "settings.php" deve corresponder ao valor da chave secreta que você configuraria no arquivo "settings.py". Em um nível básico, isso evitará que qualquer outro tráfego da web configure / grave valores, ligando seus dispositivos. Agora, você precisa desta chave API com hash no cabeçalho da solicitação HTTP para fazer isso.
A API suporta os seguintes recursos, para este projeto usaremos apenas os valores "flag", que são valores booleanos que dizem ao switch para ligar e desligar. Talvez se você quisesse tirar vantagem dos valores de "leitura", poderia fazê-lo se a temperatura ambiente ficar muito quente salvando uma temperatura lá, ele poderia ligar um ventilador de janela, etc.
Obtenha o código
Clone o seguinte projeto do GitHub para obter o código para executar o servidor da web e o outlet RaspberryPI.
github.com/khinds10/PowerHub
Endpoints da API ao executar no servidor da web
myhost / message (obtenha o conjunto de mensagens atual)
myhost / message / set (HTTP POST um valor de string bruto para este URL para definir uma nova mensagem)
myhost / flag / {id} (obter o status booleano atual do sinalizador por inteiro: {id})
myhost / flag / all (obtém todos os status booleanos atuais de todos os sinalizadores como uma matriz)
myhost / flag / {id} / set (defina o status booleano atual como 'true' para o sinalizador por inteiro: {id})
myhost / flag / {id} / unset (defina o status booleano atual como 'false' para o sinalizador por inteiro: {id})
myhost / reading / {id} (obtenha o valor médio atual para a leitura por inteiro: {id})
myhost / reading / all (obtenha o valor médio atual de todas as leituras como uma matriz)
myhost / reading / {id} / set (HTTP POST um valor numérico bruto para este URL para adicionar um novo valor à média calculada atual) - veja abaixo quantos valores no total são compilados para o valor médio Configuração Os valores de 'leituras' são calculados como médias de um certo número de valores numéricos de leitura persistentes recentes. Defina a seguinte constante para quantas das leituras mais recentes devem ser incluídas para produzir a média.
$ readingsA AverageLimit = 5;
O Datastore Server manterá os valores em arquivos simples localizados pelas convenções de nomenclatura abaixo. Nota: {id} será substituído pelo inteiro real apresentado pelo URL da solicitação de entrada.
$ valueFileFolder = 'values' (nome da pasta que contém os arquivos de medição) $ messageFileName = 'message.msg' (nome do arquivo de texto da mensagem) $ readingsFilesNames = 'reading {id}.avg' (nome do CSV médio arquivo de leituras) $ flagFilesNames = 'flag {id}.flg' (nome do arquivo de flag de valor do flag booleano)
Certifique-se de que todos os arquivos de valor podem ser gravados pelo systemchmod 777 values / *
Etapa 5: suprimentos necessários
Serra copo de 1 polegada (para uma broca)
Módulo de Relé de 2 Canais 5V
Placa de parede de receptáculo duplex
Receptáculo Duplex
Pi Zero W
Caixa dupla de montagem em superfície
Botões de pressão iluminados brancos
Etapa 6: Construindo o Outlet
Break Outlet Tabs
Quebre a guia na lateral da tomada para que cada tomada seja ligada / desligada independentemente
Etapa 7: botões de instalação
No painel frontal da saída, usando a serra copo de 1 , corte 2 orifícios para os botões a serem colocados ao lado das saídas
Teste de dimensionamento de componentes
Certifique-se de que todos os componentes cabem na caixa de montagem de superfície de saída
Etapa 8: relé de fio
Conecte o relé à tomada, do cabo de extensão que vai até a parede, conecte o terra (verde) e neutro (branco) diretamente à tomada. individualmente
Etapa 9: Imagens adicionais de fiação e montagem
Etapa 10: Diagrama de fiação
Use o diagrama para conectar corretamente os componentes para trabalhar com o código RaspberryPI Python.
Etapa 11: Teste de operação a seco
Após a montagem final, antes de aparafusar a unidade de orifício, execute uma simulação do dispositivo para se certificar de que não há curtos, fiação ruim
Etapa 12: definir os scripts de inicialização
crontab -e
adicione as seguintes linhas
@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py
Recomendado:
Lâmpada de matriz habilitada para WiFi: 6 etapas (com imagens)
Lâmpada matricial habilitada para WiFi: Quem não quer ter uma lâmpada deslumbrante que pode exibir animações e sincronizar com outras lâmpadas da casa? Certo, ninguém. É por isso que fiz uma lâmpada RGB personalizada. A lâmpada consiste em 256 LEDs endereçáveis individualmente e todos os LEDs podem ser controlados
Máquina de café habilitada para IoT: 9 etapas (com fotos)
Máquina de café habilitada para IoT: este instrutível está inscrito na competição IoT - se você gostar, vote nele! ATUALIZADO: agora suporta comunicações bidirecionais e atualizações OTAHá algum tempo tive uma máquina de café Jura e sempre quis para automatizar de alguma forma. Eu tenho que
Adapte uma tomada de energia de celular danificada ou desconhecida: 5 etapas
Adapte um conector de energia de um celular danificado ou desconhecido: Hackeie uma célula para a qual você não tem um adaptador de energia ou se o conector estiver danificado. Use qualquer outro adaptador de energia para celular e dê ao seu celular deciesed uma segunda chance
Substitua a tomada de energia DC quebrada em seu laptop (ATUALIZADO): 12 etapas
Substitua a tomada de alimentação DC quebrada no seu laptop (ATUALIZADO) .: OK, meus filhos estavam correndo pelo quarto e ficavam tropeçando no cabo de alimentação do meu laptop. Em seguida, o conector de alimentação DC foi danificado. Eu sempre tive que continuar pressionando o conector para carregar meu laptop. Eu alcancei meu limite. Eu estava quase jogando meu computador fora de
Adicione uma tomada de energia USB em seu carro: 9 etapas (com fotos)
Adicione uma tomada de alimentação USB em seu carro: Dada a natureza volumosa dos adaptadores de 12 volts para veículos, decidi integrar uma tomada de alimentação USB em meu 2010 Prius III. Embora este mod seja específico para o meu carro, ele pode ser aplicado a muitos carros, caminhões, RVs, barcos, etc