Criação de uma chave liga / desliga sem fio para o seu PC

PARA Inteligente O sistema que controla a iluminação, os sistemas de entretenimento e outros aparelhos pode ser projetado facilmente em casa e também é o conceito de crescimento mais rápido do mundo moderno. Smart Home Systems é um conceito no qual todos os aparelhos elétricos ou dispositivos são controlados por meio de um único controle remoto. Hoje em dia, um único componente como um módulo de relé pode ser usado para controlar vários parâmetros eletrônicos de uma casa, por exemplo, chaveamento de eletrodomésticos, monitoramento de alarmes de segurança, automação de portão de garagem, etc. Neste projeto, nosso Computador pessoal será controlado por um Aplicativo Android . Nesses sistemas, na maioria das vezes, o controle remoto é um aplicativo móvel. Como um celular Android é o mais comum entre as pessoas, um aplicativo android é a melhor opção para controlar nosso PC.



Switch de computador sem fio

Como fazer um switch wireless para o seu PC no celular?

Etapa 1: reunindo os componentes

Para fazer qualquer projeto, é preciso saber quais são os componentes básicos necessários para concluí-lo. Portanto, uma excelente abordagem antes de iniciar o trabalho é fazer uma lista completa de todos os componentes para economizar tempo e evitar a chance de ficar preso no meio do projeto. Uma lista completa de todos os componentes facilmente disponíveis no mercado é fornecida abaixo:



  • ESP32
  • 2N2222 Transistor NPN
  • Resistor de 1k-ohm (x2)
  • Módulo de Relé 5V
  • Fios de conexão

Etapa 2: Softwares a serem instalados

Como vamos fazer um switch wireless, vamos precisar de um botão para ligar e desligar. Queremos usar um celular para operar este botão, então precisaremos desenvolver um aplicativo para isso. O aplicativo mais conveniente é um aplicativo Android. Precisamos instalar dois softwares para usar este aplicativo. Ambos estão listados abaixo:



  • Android Studio.
  • JAVA JDK.

Etapa 3: Instalando o Android Studio

Antes de instalar o Android Studio, vamos instalar JAVA JDK primeiro. Para instalar isso, clique no Exe Arquivo que você baixou do link acima e clique em Avançar até que seja instalado com sucesso. Agora, siga as etapas a seguir para que seu prompt de comando reconheça java como um comando externo ou interno.



  1. Abrir Painel de controle e clique em Sistema e Segurança .
  2. Clique em Sistema .

    Sistema

  3. Clique em Configuração avançada do sistema e então clique em Variáveis ​​Ambientais .

    Configuração avançada do sistema

  4. Na seção Variável do sistema, clique no caminho e clique em editar. Uma nova Editar Variável Ambiental a caixa aparecerá.

    Editar Caminho



  5. Agora vá para C: Arquivos de programas Java no seu PC. Abra a pasta JDK, clique na pasta bin e copie o caminho dessa pasta.

    Caminho da pasta bin

  6. Agora vá para a caixa Edit Environmental Variable e clique em new para criar uma nova variável. Cole o caminho que você copiou na etapa acima na nova variável e salve-o.
  7. Agora, para confirmar, se estiver completamente instalado, abra o prompt de comando e digite java –version .

    Versão JAVA

Agora que você instalou o Java JDK com sucesso em seu computador. Vamos agora instalar o Android Studio em seu computador. Instalar este software é muito fácil. Você precisa abrir o arquivo baixado e clicar em Avançar até que o software esteja totalmente instalado.

Etapa 4: conexão com o Firebase

Agora que instalamos o Android Studio, vamos iniciá-lo e fazer um novo projeto para conectá-lo ao firebase. Para fazer isso, siga as etapas a seguir.

1. Inicie o Android Studio e faça um novo projeto clicando no Atividade Vazia .

Novo projeto

2. Agora nomeie seu projeto como computerSwitc, selecionar Kotlin como idioma e selecione o nível mínimo de API de acordo com seu telefone celular.

Novo projeto

3.Desde que vamos usar a internet para controlar os pinos do pi framboesa. Vamos definir a permissão em nosso aplicativo para acessar wi-fi local. Para fazer isso, vá para app> manifestos> AndroidManifest.xml e adicione o seguinte comando.

 

Permissão de Internet

3. Agora, clique em n Ferramentas. Um menu suspenso aparecerá a partir do qual, selecione Firebase.

Conexão Firebase

4. Um grande menu aparecerá no lado direito da tela que fornecerá o menu de quase todos os serviços fornecidos pelo firebase. Mas, no momento, nosso foco principal é o Real-Time Database. Então clique em Real-Time Database. Um link para “ Salvar e recuperar dados ' vai aparecer. Clique nesse link.

Firebase Assistant

5. Conecte-se Conecte-se ao Firebase botão. Ele o levará para o navegador da web padrão. Primeiro, ele pedirá que você faça login na sua conta do Gmail. Então clique em Adicione o Realtime Database ao seu aplicativo e aceitar as alterações.

6. Agora vá para Firebase console . Lá você verá um projeto já feito. O logotipo do Android no ícone desse projeto significa que ele já pertence a um aplicativo Android.

7. Do desenvolve menu que aparece no lado esquerdo da tela, selecione Base de dados. Um botão de Criar banco de dados aparecerá à direita. Clique nesse botão.

8. Um menu aparecerá pedindo para definir o modo de seu banco de dados. Clique em modo de teste e então clique Habilitar .

Modo de teste

9. Agora, um passo realmente importante a lembrar é mudar o Cloud Firestore para Banco de dados em tempo real. Para isso, clique no botão mostrado na imagem abaixo e altere a opção desejada.

Firebase em tempo real

10. Agora clique no Regras guia e altere as configurações para Verdadeiro . Assim que tudo estiver feito, clique Publicar .

Mudança de configurações

11. Outra coisa que você precisa fazer além de conectar o firebase é atualizar a versão do banco de dados. Para isso, clique em vamos para docs . Agora clique em guias e selecione Guias Android da lista que aparece na tela. Role para baixo até que uma tabela apareça. Procure Real-Time Database nessa tabela e encontre sua versão. no meu caso é 19.1.0

Versão

12. Clique em Scripts do Gradle, um menu no lado esquerdo da tela. Então selecione construído. gradle (Módulo: app). Agora no código, pesquise a versão do banco de dados Real-Time e substitua pela nova.

Versão Firebase

13. Agora sincronize o projeto clicando no botão de sincronização que aparece na parte superior da tela.

Etapa 5: fazer o layout

Agora, como nosso aplicativo android está conectado ao firebase, vamos fazer um layout de nosso aplicativo que será usado pelo usuário para ligar ou desligar o computador. Para fazer um layout, vá para app> res> layout> activity_main.xml. onde iremos projetar um layout. Copie o código fornecido abaixo para fazer uma visualização de texto.

 

O layout de nosso aplicativo será semelhante a este:

Layout do aplicativo

Etapa 6: codificação de back-end em Kotlin

Como fizemos o front-end do aplicativo, vamos dar um passo à frente e escrever o código do back-end para conectá-lo ao firebase. Conectamos um botão de alternância que enviará um 0 ao banco de dados firebase quando estiver no estado desligado e enviará um 1 ao banco de dados firebase quando estiver ligado.

Agora, no canto esquerdo, clique em app> java> com.example.computerswitch> main_activity, e adicione o seguinte código lá em sua classe. Se ocorrer algum erro de biblioteca, pressione ALT + ENTER para incluir essa biblioteca automaticamente.

var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Switch override fun onCreate (savedInstanceState: Bundle?) {super.onCreate (savedInstanceState) setContentView (R.layout.activity_main) btnSwitch = findViewById (Rlayout. id.switch2) as Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} else {myRef.child ('switch'). setValue ('0') }}}

Na imagem abaixo, você pode ver que, se a chave estiver ativada, “1” será carregado para o banco de dados Firebase. Da mesma forma, um “0” será substituído aqui quando a chave for desligada.

Valor

Etapa 7: Introdução ao Arduino

Se você não trabalhou no Arduino IDE antes, não se preocupe porque um passo a passo para configurar o Arduino IDE é mostrado abaixo.

  1. Baixe a versão mais recente do Arduino IDE em Arduino.
  2. Conecte sua placa Arduino ao PC e abra o painel de controle. Clique em Hardware e som. Agora aberto Dispositivos e impressora e encontre a porta à qual sua placa está conectada. No meu caso é COM14, mas é diferente em computadores diferentes.

    Encontrar o porto

  3. Clique em Arquivo e em Preferências. Copie o seguinte link no URL do gerente da placa adicional. “ https://dl.espressif.com/dl/package_esp32_index.json '

    Preferências

  4. Agora, para usar o ESP32 com o Arduino IDE, precisamos importar bibliotecas especiais que nos permitirão gravar código no ESP32 e usá-lo. essas duas bibliotecas estão anexadas no link fornecido a seguir. Para incluir a biblioteca, vá para Sketch> Incluir Biblioteca> Adicionar Biblioteca ZIP . Uma caixa aparecerá. Encontre a pasta ZIP em seu computador e clique em OK para incluir as pastas.

    Incluir Biblioteca

  5. Agora vá para Sketch> Incluir Biblioteca> Gerenciar Bibliotecas.

    Gerenciar Bibliotecas

  6. Um menu será aberto. Na barra de pesquisa, digite Arduino JSON. Uma lista aparecerá. Instalar Arduino JSON de Benoit Blanchon.

    Arduino JSON

  7. Agora clique no Ferramentas. Um menu suspenso aparecerá. Defina o tabuleiro para Módulo ESP Dev.

    Tabuleiro de Configuração

  8. Clique no menu Ferramentas novamente e defina a porta que você observou no painel de controle antes.

    Porta de configuração

  9. Agora envie o código que está anexado no link abaixo e clique no botão de upload para gravar o código no Microcontrolador ESP32 .

    Envio

Portanto, agora, quando você enviar o código, pode ocorrer um erro. Este é o erro mais comum que pode ocorrer se você estiver usando uma nova versão do Arduino IDE e do Arduino JSON. A seguir estão os erros que você pode ver na tela.

No arquivo incluído em C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, de C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C :  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: erro: StaticJsonBuffer é uma classe de ArduinoJson 5. Consulte arduinojson.org/upgrade para saber como atualizar seu programa para ArduinoJson versão 6 StaticJsonBuffer jsonBuffer; ^ No arquivo incluído em C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, em C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: erro: StaticJsonBuffer é uma classe de ArduinoJson 5. Consulte arduinojson.org/upgrade para saber como atualizar seu programa para ArduinoJson versão 6 retorna StaticJsonBuffer (). ParseObject (_data); ^ Várias bibliotecas foram encontradas para 'WiFi.h' Usado: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Não usado: C:  Arquivos de programas ( x86)  Arduino  libraries  WiFi Usando a biblioteca WiFi na versão 1.0 na pasta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Usando a biblioteca IOXhop_FirebaseESP32-master na pasta: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (legado) Usando a biblioteca HTTPClient na versão 1.2 na pasta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Usando a biblioteca WiFiClientSecure na versão 1.0 na pasta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Usando a biblioteca ArduinoJson em versão 6.12.0 na pasta: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson status de saída 1 Erro ao compilar para placa ESP32 Dev Module.

Não há nada com que se preocupar, pois podemos eliminar esses erros seguindo alguns passos simples. Esses erros estão surgindo porque a nova versão do Arduino JSON tem outra classe em vez de StaticJsonBuffer. Esta é a classe do JSON 5. Portanto, podemos simplesmente eliminar esse erro fazendo o downgrade da versão do Arduino JSON do nosso IDE Arduino. Simplesmente vá para Sketch> Incluir Biblioteca> Gerenciar Bibliotecas. Procurar por Arduino JSON de Benoit Blanchon que você instalou antes. Desinstale-o primeiro e depois defina sua versão para 5.13.5. Agora, como configuramos uma versão antiga do Arduino JSON, instale-o novamente e recompile o código. Desta vez, seu código será compilado com sucesso.

Para baixar o código, clique aqui.

Etapa 8: Montagem do circuito

Agora que nosso aplicativo está pronto e totalmente funcional, vamos ver como vamos conectar o circuito ao computador.

  1. Em primeiro lugar, pegue um painel de controle e conecte todos os plugues do sistema de computador nele, ou seja, monitor, impressora, CPU, PSU, etc.
  2. Agora pegue a chave de conexão desta placa e faça um corte entre o fio de forma que dois fios, preto e vermelho, fiquem visíveis de dentro.
  3. Retire o fio vermelho e corte-o do meio. Conecte uma extremidade do fio no ponto NO do módulo de relé e a outra extremidade no ponto COM do ponto de relé. (não faça nada com o fio preto)
  4. Agora fixe o ESP32 na placa de ensaio e ligue-o usando uma bateria de 5V. Conecte o Vcc e o aterramento do módulo de relé na placa de ensaio, com os terminais positivo e negativo da bateria.
  5. Faça a seguinte configuração com o transistor na placa de ensaio.

Etapa 9: Código

O código é bastante simples, mas ainda assim é explicado resumidamente a seguir.

1. No início, duas bibliotecas são incluídas para que o firebase possa ser usado com ESP32.

#include #include

2. Em seguida, são fornecidas informações sobre o banco de dados Firebase e a conexão Wifi, e o pino do ESP é declarado, o qual será usado com o módulo de retransmissão.

#define FIREBASE_HOST 'xxxxx' // substitua-o pelo seu host Firebase #define FIREBASE_AUTH 'xxxxx' // substitua-o por seu firebase auth #define WIFI_SSID 'xxxxx' // substitua por seu SSID WIFI #define WIFI_PASSWORD 'xxxxx' // substitua-o pela sua senha wifi int swi = 34; // conecte o pino 34 do ESP com o módulo de relé

3 - void setup () é uma função que é executada apenas uma vez quando o circuito é ligado ou o botão Ativar é pressionado. Aqui, o código é escrito para conectar a placa ESP ao WIFI. O pino do ESP que é usado com o módulo de relé também é declarado como OUTPUT aqui.

configuração vazia () {Serial.begin (115200); pinMode (swi, OUTPUT); // conectar ao wi-fi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('conectando'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); atraso (500); } Serial.println (); Serial.print ('conectado:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

Quatro. void loop () é uma função que é executada repetidamente em um loop. Aqui, o valor do firebase é lido. Se este valor for igual a “1”, então o sinal HIGH será enviado ao módulo de relé e o computador será ligado. Quando este valor for “0”, o computador será desligado.

void loop () {// ler o valor if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // trata o erro if (Firebase.failed ()) {Serial.print ('configuração / número falhou:'); Serial.println (Firebase.error ()); Retorna; } atraso (1000); }