Objetivo
Controlar, via rede wifi, um módulo relé 16ch
O que foi usado
>> Módulo wifi ESP8266 ESP-01 Com o firmware ESP Easy gravado
Para saber como gravar o firmware ESP Easy no ESP8266 acesse:
Gravação e teste do firmware ESP easy no esp8266-01
>> Modulo relé 16 canais
O Módulo relé 16 canais
>> Tensão de alimentação: 12V;
>>
Possui regulador de tensão integrado 5V o que permite alimentar o
arduino e demais dispositivos através dos pinos de saída 5V e GND;
>> Sinal de acionamento, lógico: Nível baixo GND. O
ideal para uso com o PCA9685 seria o com acionamento em nível alto já
que o módulo parece inicializar com todos os pinos em nível baixo.
>> Modulo I2C PCA9685
A postagem: Controlador PWM 16 CH PCA9685 com servos e Led
trás mais detalhes sobre esse módulo.
Este modulo tem saída em PWM mas usaremos o valor máximo para HIGH ou 1 e o mínimo para estado LOW ou 0.
Montagem
Configurando o ESP-01
Com o firmware ESP Easy já gravado no ESP8266 é necessário fazer apenas uma simples configuração - Definir quais os pinos que serão usados para comunicação I2C.
O ESP-01 disponibiliza apenas 2 pinos de IO. Temos que configura-los como Clock e Data da comunicação I2C.
GPIO 0 >> SCL
GPIO 2 >> SDA
Com o seu ESP8266 ligado e conectado a rede acesse sua página de configuração através do IP como mostrado na postagem:Gravação e teste do firmware ESP easy no esp8266-01
Testes
Após a montagem e a configuração.
Para acionar um dos 16 relés fazemos da seguinte forma - Considerando os dispositivos conectados à mesma rede - (para controle via internet será necessário IP fixo ou serviços de ddns dinâmico como os oferecidos pelo NoIP, além das configurações de direcionamento de porta em seu roteador):
Através de um computador ou celular conectado na mesma rede passos o comando da seguinte forma:
http:// ESP IP address/control?cmd=pcapwm,pin,Level
Substituindo:
ESP IP address Pelo IP do ESP8266 em sua rede;
pin Pelo Pino do PCA9685 0 a 15 (que no nosso caso corresponde a um dos reles)
Level Pelo valor de pwm.
O PCA9685 é um módulo com saída em PWM por isso valor pode ser de 0 a 4095 (4096 níveis possíveis) Isso e interessante para controle de led, servo motores, etc. Nesse projeto utilizamos apenas os extremos para acionar o relé: "0" para nível baixo e "4095" para nível alto.
Exemplo:
Considerando o IP: 192.168.0.5
Para acionar o relé número 15 do módulo enviamos: http://192.168.0.5/control?cmd=pcapwm,15,4095
Para desligar o relé número 15 do modulo enviamos: http://192.168.0.5/control?cmd=pcapwm,15,0
No vídeo utilizei um aplicativo criado no APPInventor que faz basicamente o descrito acima.