Boa tarde,
Estou com dificuldades em bloquear os comandos que ficam na saida do Node-RED ao perder o sinal wifi do NodeMCU.
Exemplo: Dou um sinal para ligar o Relé1 (pelo dashboard) com o Wi-FI ligado, a mensagem vai para a WEB (também para o debug do Node-RED) e o NodeMCU responde dando o sinal para o Relé1 e acionando ele.
Quando dou o sinal para desligar o Relé1 (pelo dashboard) com o Wi-Fi desligado, a mensagem vai para a WEB (também para o debug do Node-RED) e o NodeMCU não responde e não dá o sinal para o Relé 1 desligar.
Dando outro sinal para ligar o Relé1 (condição igual a anterior) mais uma vez vai para o debug e fica esperando o comando anterior de desligar. Assim, dando comandos e comandos, todos ficam nesse debug esperando a conexão com a internet para fazer os comandos.
Quando o Wi-Fi retorna, todos os comandos são feitos em sua ordem na fila e isso acaba estressando demais o circuito de força das contatoras e dos relés.
Gostaria de saber como limpar esses comandos que ficam no sebug, uma vez que o NodeMCU se desconectar com a rede Wi-Fi para evitar esse acionamento simultaneo de todos os comandos acumulados.
Alguém poderia me ajudar? Desde já agradeço!
Tags:
Boa noite,
Sinceramente gostaria de ajudar mas não entendi bem sua explicação e seu problema, por favor veja no meu canal no youtube, tenho projetos/tutoriais com o node-red e ESP8266, o ultimo você pode visualizar AQUI NESTA PLAYLIST
Na descrição do vídeo tem o link para meu Github para baixar o projeto completo documentado.
Desculpe não entender bem sua explicação.
Boa sorte.
Abs.
CK
Olá Carlos, bom dia.
Assisti seu tutorial e vou tentar exemplificar de acordo com a sua lógica programada.
Digamos que para acionar o ventilador vc precise da leitura da temperatura do seu quarto (Quando maior ou igual a 30°C o NodeMCU recebe a info para ligar a tomada e assim o ventilador também ligar). Porém, na variação de temperatura do seu quarto, o Wi-Fi falha e a tomada não é ligada/desligada, por conta da informação que não chegou para o Node (por conta do Wi-FI ter oscilado e saído).
Essa info de Relé ON (p/ temp maior ou igual a 30°C) ou Relé OFF (p/ Temp menor que 30ºC) fica armazenada na fila do Node-RED e quando o Wi-Fi volta ela manda tudo de uma vez.
Queria algum comando para dispensar essas ações quando o NodeMCU identificasse que perdeu a conexão com o Wi-Fi para evitar fazer os comandos que estão na fila quando a conexão voltar.
Desde já agradeço pelo suporte. Segue exemplo das atividades que ficam na fila e só executam após o Wi-Fi restabelecer a conexão (no caso de perda)
Olá Marcos,
Acredito que uma maneira de evitar isso poderia ser criando por exemplo uma função, ou uma condição do tipo:
void xxx_xxx(void) {
while (!client.connected())
{
Faça isso);
}
else
faça aquilo outro
{
Se quiser compartilhe seu code aqui anexando, ou colando no pastebin e deixando o link aqui e trataremos de ajudar.
Lembre-se, não cole códigos na área de texto, siga as regras conforme este link http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
Abs.
CK
Bom dia Carlos,
Acredito que não irá resolver o problema, pois quando a conexao voltar ele irá executar o que estiver na fila do Node-RED.
Segue o código para avaliar.
Desde já agradeço pelo suporte
Bom dia Marcos,
Estou em Brasilia até dia 28, por tanto restrito a minha bancada de trabalho, em todo caso veja se o link do Jucelei ajuda, mas esclareça uma coisa por favor, o seu problema é que se o esp perde a conexão entre o wi fi e consequentemente com o broker, quando você reinicia para conectar novamente todos os reles nas saidas do ESP batem? (São acionados) Esse é o problema?
Abs.
CK
Bom dia, primeiramente obrigado pelo link e pela ajuda, mas acho que não entendi como usar a explicação do link sem um exemplo.
Carlos, exatamente. Estou utilizando o nodeMCU em um local onde o sinal do WiFi oscila bastante, então quando dou os comando pelo broker (este está conectado diretamente na rede cabeada e nunca perde o sinal), as vezes o sinal está fora do WiFi na aplicação e este não responde acionando o relé, porém essa mensagem vai para a fila (no debug, por exemplo).
Enquanto eu mandar comando e o sinal ainda n tiver voltado essa fila se acumula e quando o sinal é reiterado o acionamento é simultâneo.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por