Índice:
- Suprimentos
- Etapa 1: configurar o Rasbian
- Etapa 2: pegando o código e configurando-o
- Etapa 3: Comunicação do Arduino
- Etapa 4: Fiação Switch-it
- Etapa 5: executando o código
- Etapa 6: (OPCIONAL) a carcaça
Vídeo: Switch-it, tomada automática com medição de corrente em tempo real: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Gosto muito da automação, da capacidade de controlar quando algo precisa acontecer. Foi isso que me fez ter essa ideia: uma válvula de escape automática feita por mim mesma. Ele pode ser usado para planejar quando as luzes precisam ser ligadas, quando os telefones precisam ser carregados ou quando uma tela precisa ser ligada. Além de tudo isso, você tem a capacidade de ver quanta corrente está fluindo pela saída.
Os componentes necessários para este projeto são:
Suprimentos
Antes de começarmos, essas são coisas de que você definitivamente precisa para construir uma caixa Switch-IT como a minha. Esses suprimentos custarão cerca de 50 a 100 euros, dependendo da sua região e dos preços atuais.
Hardware
Eletrônicos
- Framboesa pi 4
- 16gb (ou mais) Micro SD-Card
- Arduino Uno
- Deslocador de nível 5V-3,3V
- Módulo de relé 5V
- ACS712 20A - módulo de corrente
- Módulo receptor IR 1838 de 37,9 kHz
- Remoto IR (eu uso um Elegoo)
- cátodo comum RGB
- 3 * 330Ω resistores
- botão de apertar
- RFID-RC522
- LCD 1602A-1
- Tomada de parede Niko
- Medidor de potes 10K Ω
- Fonte de alimentação 230 a 5V - 7A
Cabos
- Cabo USB-B para USB-A
- Cabo de alimentação USB-C
- Cabo Ethernet
Vários
- Jumperwires Masculino-Feminino
- Jumperwires Macho-Macho
- Lata de solda
- Tubo de encolhimento
Peças específicas da caixa (OPCIONAL)
- 50 * nozes e negritos
- caixa de metal 40x40x5 cm com tampa
- fita dupla face
- Espaçadores de 6 * 1 cm de altura
- porta-led
- fita de velcro
- guias de cabo
Programas
- balenaEtcher:
- PuTTy
- rameiro
- Código Visual Studio
- IDE Arduino
Etapa 1: configurar o Rasbian
Em primeiro lugar, vamos gravar o Rasbian no cartão SD. Faremos isso usando balenaEtcher.
- BalenaEtcher aberto
- Escolha a imagem Rasbian
- Selecione o seu cartão SD
- Pressione Flash e espere alguns minutos até que ele pisque
Adicionando APIPA no diretório de boot: Estaremos usando um endereço APIPA para programar e definir as configurações no RPI. Para fazer isso:
- Acessa o diretório de inicialização no cartão SD
- Abra "cmdline.txt"
- Adicione "169.254.10.1" no final do documento e salve-o
- Adicione um arquivo chamado "ssh" ao diretório de inicialização (NÃO DEIXE ESTE ARQUIVO UMA EXTENSÃO)
- Depois de fazer isso, você pode ejetar o cartão SD do PC.
Acesse o RPI usando PuTTy
Agora podemos conectar o cartão SD em nosso RPI, conectar o RPI ao seu PC usando um cabo Ethernet.
Para se conectar ao RPI, usaremos o PuTTy com nosso endereço APIPA.
- Abra o PuTTy
- Preencha nosso endereço APIPA como nome de host (169.254.10.1)
- Certifique-se de que a porta é 22 e SSH está selecionado
- Agora você pode abrir a conexão
- O nome de usuário padrão é: pi
- Com senha padrão: framboesa
configurações raspi-config
Abra raspi-config usando:
sudo raspi-config
- Alterar a senha do usuário
- Nas opções de localização, selecione seu fuso horário
- Configure o WiFi usando as opções de rede e, em seguida, a opção de Wi-Fi, onde você deve preencher o SSID e a senha.
Instale Python 3
Neste projeto, estamos usando Python, portanto, definiremos o padrão para Python3 em vez de Python2, usando os seguintes comandos
atualizar-alternativas --install / usr / bin / python python /usr/bin/python2.7 1
atualizar-alternativas --install / usr / bin / python python / usr / bin / python3 2
Pacotes Python
Precisaremos de alguns pacotes para que tudo funcione corretamente, principalmente os pacotes Flask e um para fazer a conexão com nosso banco de dados. Podemos instalar esses pacotes usando os seguintes comandos:
pip install Flask
pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton
Base de dados
Em seguida, vamos instalar nosso sistema de gerenciamento de banco de dados (MariaDB), vamos fazer isso usando:
sudo apt instalar servidor mariadb
Digite “Y” e Enter para continuar. Após alguns segundos, o processo de instalação é concluído e o MariaDB está quase pronto para uso.
Para definir uma senha para o banco de dados, use o comando:
sudo mysql_secure_installation
Em seguida, pressione Enter, pois a senha atual está vazia. Em seguida, pressione "Y" para definir uma senha, agora você pode preencher qualquer senha que desejar, lembre-se dela, pois precisamos dela para fazer uma conexão correta entre o back-end e o front-end.
Agora, pressione “Y” 3 vezes para: remover usuários anônimos, desabilitar o login de root remotamente e remover o banco de dados de teste. Finalmente, pressione “Y” novamente para recarregar os privilégios.
Agora MariaDB e todos os pacotes necessários foram instalados com sucesso.
Etapa 2: pegando o código e configurando-o
Agora que temos todos os pacotes instalados, podemos obter o código.
O código está disponível no Github para que você possa cloná-lo usando:
git clone
Este é o frontend
git clone
Este é o backend
Instalando o próprio banco de dados
Para instalar o banco de dados, navegue até o arquivo.sql que está na pasta backend usando os seguintes comandos (certifique-se de configurá-lo para seu próprio caminho.
mysql
criar banco de dados switchit sair mysql -u root -p switchit <Your_Path_to_Backend_Repo / switchit.sql
Instalando Apache
Agora que temos todo o código e a configuração do banco de dados, podemos instalar o Apache e executar nosso back-end nele. Faremos isso usando:
apt-get install apache2 -y
Em seguida, substitua os arquivos em / var / ww / html pelos que estão na pasta da pasta frontend.
Se tudo correr bem, você poderá se conectar ao seu site usando o endereço APIPA: 169.254.10.1 no seu navegador.
Etapa 3: Comunicação do Arduino
Para ler nosso sensor atual e nosso sensor RFID, estamos usando um arduino, para fazer isso, use o código do arduino fornecido a seguir. Faça o upload usando um cabo USB-A para USB-B e o software IDE arduino. Quando carregado, a parte do arduino está concluída.
Agora temos que encontrar o nome do dispositivo serial no PI. Para fazer isso, certifique-se de que em /boot/config.txt "enable_uart = 1" esteja definido corretamente. Certifique-se também de que "console = serial0, 115200" foi removido de cmdline.txt.
Em seguida, verifique as portas usando
ls -l / dev
Então, um dos nomes de série deve ser o Arduino. Preencha este nome na função arduinocom em app.py
ser = serial. Serial ('/ dev / ttyS0', 9600)
Faça isso apenas se a comunicação serial não estiver funcionando.
Etapa 4: Fiação Switch-it
Conectar tudo é bastante simples, embora você deva manter o seguinte em mente:
- Tenha cuidado com a tomada de parede, 230 volts pode ser mortal.
- Certifique-se de usar um conversor de nível para comunicação entre o RPI e o Arduino.
- Antes de soldar o RGB, certifique-se de usar os pinos Vermelho e Verde. Teste isso com antecedência!
- Teste se nada está em curto-circuito ANTES de ligar o circuito.
Etapa 5: executando o código
Agora que tudo está conectado corretamente, podemos executar nosso programa.
Para fazê-lo funcionar automaticamente na inicialização, crie um arquivo usando:
sudo nano myscript.service
Em seguida, cole (certifique-se de usar seu próprio diretório app.py:
[Unit] Description = Switchit After = network.target [Service] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = // mudar para o diretório app.py // StandardOutput = herdar StandardError = herdar Reiniciar = sempre Usuário = pi [Instalar] WantedBy = multi-user.target
Em seguida, pressione "ctrl + X" e copie-o para / etc / systemd / system.
Em seguida, o seguinte comando para fazê-lo funcionar automaticamente:
sudo systemctl enable myscript.service
Você pode encontrar mais informações sobre isso no site RaspBerry Pi.
Reinicie e pronto
Agora reinicie seu PI usando:
sudo reboot -h now
É assim que você faz o Switch-it!
Obrigado por acompanhar, espero que tenha sido útil. Se você tiver alguma dica ou feedback, não hesite em deixar um comentário.
Etapa 6: (OPCIONAL) a carcaça
Você pode construir a habitação inteiramente de acordo com seus próprios gostos. Usei uma caixa de metal de 40x40x5 cm com tampa. Como usei um de metal, tive que fazer furos e usar espaçadores para tirar tudo da placa de aterramento. Optei por usar um ponto central onde 5V, 3,3V e gnd estão disponíveis. Cada conexão elétrica é soldada com um pedaço de tubo retrátil em cima dela. Para fazer o gerenciamento dos cabos usei almofadas com alças de transporte.
Recomendado:
A diferença entre (corrente alternativa e corrente contínua): 13 etapas
A diferença entre (corrente alternativa e corrente contínua): Todo mundo sabe que a eletricidade é principalmente CC, mas que tal outro tipo de eletricidade? Você conhece o Ac? O que AC significa? É utilizável, então, DC? Neste estudo saberemos a diferença entre os tipos de eletricidade, fontes, aplicações
Medição de temperatura automática e informação por voz: 5 etapas (com imagens)
Medição de temperatura automática e informação por voz: Nos últimos dias, o mundo inteiro está lutando contra o vírus Covid19. A primeira verificação de pessoas afetadas (ou suspeita de estar afetada) é medir a temperatura corporal. Portanto, este projeto é feito para modelar que pode medir a temperatura corporal automaticamente e informar por vo
UWaiPi - Sistema de rega automática de plantas com controle de tempo: 11 etapas (com fotos)
UWaiPi - Sistema de rega automática de plantas com controle de tempo: Olá! Você se esqueceu de regar suas plantas hoje de manhã? Você está planejando férias, mas está pensando em quem vai regar as plantas? Bem, se suas respostas forem Sim, então eu tenho uma solução para seu problema. Estou muito feliz em apresentar uWaiPi
Exibição de tempo e tempo do Arduino 3 em 1: 11 etapas
Arduino 3 em 1 Time and Weather Display: Eu gosto de microcontroladores PIC e gosto de programar em linguagem assembly. Na verdade, nos últimos dois anos, postei cerca de 40 projetos em meu site com base nessa combinação. Recentemente, eu estava encomendando algumas peças de um dos meus favoritos dos EUA v
Como trocar a bateria em uma etiqueta de tempo de tempo: 12 etapas
Como trocar a bateria em uma etiqueta de tempo Tempo: As etiquetas de tempo de tempo do navio Vessel são um substituto legal para um relógio, prendendo em roupas, alças de bolsa ou bordas de bolso. A bateria acaba eventualmente, então veja como substituí-la. É uma bateria 364 / AG1 / LR621 / SR621W / 164 padrão que