Esp 32 + Relay + interrupetor

Boa noite,

Eu queria colocar um esp 32 com um relay numa caixa de derivação.
Queria manter a ligação a partir do interruptor On/Off. mas queria tambem como ESP 32 poder ligar e desligar a lampada.
Existe alguma especie de triggres que possamos implementar para saber o estado do interruptor e do relay para manter a funcionalidade antiga. e acrescentar esta?lampada

1 Like

Sim é possível… não esquecendo que tens de adicionar uma fonte ao esp para converter os 220v para 5v.

Assim por alto o esp passa a controlar a lâmpada através do rele e o interruptor já existente é ligado aos pins do esp para mexer nos estados (um dos fios liga ao gnd do esp e o outro a um pin a escolha por exemplo ao 12)

O resto é programação, se precisares de ajuda nos ajudamos :slight_smile:

P.s. Deixo uma nota não sei se conheces o projeto do @brunohorta (bhonofre) que faz isso e é colocado atrás do interruptor e tem 2 reles para caso de espelhos duplos.

Mas nada como metermos as mãos a obra e criarmos as nossas cenas também :slight_smile: (dito isto sem desvalorizar o grande trabalho do nosso master aka @brunohorta)

EU tenho o Hi Link para a converção e ja tive a ver os esquena o bhonofre.
Não percebi a parte das ligações. ligas direatemente ao ESP?? não ligas ao Relay e do Relay ESP?
POdes fazer o desenho para mim é mais facil perceber… naoprecisas de por resistencias pelo meio e isso… só mesmo as ligaçoes entre interruptor ESP e Relay (tenho igual ao do BrunoHorta).

O Nuno tem razao Fabio. tens de ligar o interruptor ao ESP para conseguires controlar a lampada individualmente. Ligas o interruptor ao ESP e o relay ao ESP. Desta maneira consegues saber o estado do interruptor de parede e o estado da lampada. Se ligares o interruptor de parede ao relay, depois online não vais conseguir ligar e desligar a lampada pq o interruptor esta a forçar a ligação fisica. O que tu queres é que seja o ESP a controlar o estado do Relay (ligação fisica), venha a ordem do interruptor de parede ou venha ela da net. Se estiver confuso peço desculpa! :smiley:

Podem me fazer um esquem nem que papel por favor? é que não estou a perceber. è que ligar o fio ao GPIO12 não irá coma voltagem de 240v?
è que tinha ideia,na caixa de derivação entra a Fase,o Terra e o Neutro.
A Fase e o Neutro ligava ao Hi Link e convertia para alimentar o ESP.
Da entrada mantinha as mesma os fios qu sao dividos para o interreputor.
à saida do interruptor ligava entao ao ESP -> Relay -> Lampanda.
Ou usa-se a corrente do Hi link para ligação ao interruptor?
Peço desculpa mas parte electronica não é muito comigo. Sou mais de desenvolvimento.

É muito simples,
Esquece o interruptor por breves momentos…

Pensa assim: esp + Rele + Lampada -> o esp controla a lampada por ordem de comandos (mqtt ou outro que quiseres) ate aqui tudo bem…
falta agora o interruptor -> é ligado apenas ao esp (gnd + pin qualquer) tal como se fosse um outro botao de “kit arduino” depois em programação quando o interruptor é acionado nega o estado antigo de forma aceder ou apagar a luz o mesmo com o comando na web nega a varivel.

exemplo de codigo.

Broker

Ainda nao queri tocar no Assunto do broquer.Indo por Partes e fazendo o esquema para ver se é esse o raciocinio.
1- Entrada da caixa de Derivação converter para 5v.
2- GIPOXX liga ao Relay que ligara á lampanda ja com corrente 240 v (apenas Lamapada)
3-Adicionar o Interruptor com 5 v do Hi-lInk.

Seria apenas isto?

Agora quanto ao MQTT. tenho um cliente android instalado da play store.
No Ubuntu Server instalei o Mosquitto Broker
Para o ESP é necessario alguma instalação do MQTT?

e se tiverem melhores sugestoes do que o Mosquitto digam.
Mas esta partese calhar é melhor ir parauma nova questão para não ficar confusa
Obrigado antes de mais

1 Like

Para o ESP precisas do MQTT client, podes meter o Espurna lá que tens logo a configuração toda de Wifi e MQTT

Espera, errado, o Espurna não dá para o ESP 32

Sem querer desviar ninguém de uma criação própria, uma alternativa boa seria usar um sonoff basic com tasmota modificado para interruptor externo… IMG_20180527_153659|375x500

Boa tarde, para criar o mini projeto que mencionei acima. tenho um ESP8266MOD. Abaixo na fotografia:

Com o código:

const int led = 4;
const int button = 1;
int temp = 0;

void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(button, INPUT);
}

void loop() {
temp = digitalRead(button);

 if (temp == HIGH) {
    digitalWrite(led, HIGH);
    Serial.println("LED Turned ON");
    delay(1000);
 }
 else {
    digitalWrite(led, LOW);
    Serial.println("LED Turned OFF");
    delay(1000);
   }

}

Ao Clicar no butão consigo passar sinal no fio amarelomas nao acende a luz verde.
Se colocar um fio com direto do + para a resistencia do LED Verde ela acende.
Não estou a conseguir perceber porque o exemplo não esta a funcionar, foi tirarado do link:

Pins