Índice:

Switch-it, tomada automática com medição de corrente em tempo real: 6 etapas
Switch-it, tomada automática com medição de corrente em tempo real: 6 etapas

Vídeo: Switch-it, tomada automática com medição de corrente em tempo real: 6 etapas

Vídeo: Switch-it, tomada automática com medição de corrente em tempo real: 6 etapas
Vídeo: VAPE EXPLODINDO (NÃO É CLICKBAIT) 2024, Novembro
Anonim
Switch-it, tomada automática com medição de corrente em tempo real
Switch-it, tomada automática com medição de corrente em tempo real
Switch-it, tomada automática com medição de corrente em tempo real
Switch-it, tomada automática com medição de corrente em tempo real
Switch-it, tomada automática com medição de corrente em tempo real
Switch-it, tomada automática com medição de corrente em tempo real
Switch-it, tomada automática com medição de corrente em tempo real
Switch-it, tomada automática com medição de corrente em tempo real

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

Setup Rasbian
Setup Rasbian
Setup Rasbian
Setup Rasbian

Em primeiro lugar, vamos gravar o Rasbian no cartão SD. Faremos isso usando balenaEtcher.

  1. BalenaEtcher aberto
  2. Escolha a imagem Rasbian
  3. Selecione o seu cartão SD
  4. 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:

  1. Acessa o diretório de inicialização no cartão SD
  2. Abra "cmdline.txt"
  3. Adicione "169.254.10.1" no final do documento e salve-o
  4. Adicione um arquivo chamado "ssh" ao diretório de inicialização (NÃO DEIXE ESTE ARQUIVO UMA EXTENSÃO)
  5. 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.

  1. Abra o PuTTy
  2. Preencha nosso endereço APIPA como nome de host (169.254.10.1)
  3. Certifique-se de que a porta é 22 e SSH está selecionado
  4. Agora você pode abrir a conexão
  5. O nome de usuário padrão é: pi
  6. 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

Pegando o código e configurando-o
Pegando o código e configurando-o
Pegando o código e configurando-o
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

Comunicação Arduino
Comunicação 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

Fiação Switch-it
Fiação Switch-it
Fiação Switch-it
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

(OPCIONAL) a Habitação
(OPCIONAL) a Habitação
(OPCIONAL) a Habitação
(OPCIONAL) a Habitação
(OPCIONAL) a Habitação
(OPCIONAL) a Habitação
(OPCIONAL) a Habitação
(OPCIONAL) a Habitação

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: