Olá amigos e colegas do LG. Venho novamente aqui compartilhar um problema que estou tentando contornar.
Descrição do problema:
Estou testando consultar e enviar dados para um banco de dados MYSQL, usando um Arduino DUE e um Ethernet schield. O programa esta certinho, roda que uma beleza, porem ao forçar alguns erros me deparei com a seguinte situação. Quando eu desabilito a placa de rede do servidor onde está o MYSQL o Arduino trava, simplesmente ignora tudo o que está em LOOP, porém ainda continua pingando para o IP do arduino, ou seja o IP dele foi iniciado no SETUP. Para agravar ainda mais a situação, quando habilito a placa de rede, obviamente ele continua travado até dar um reset.
Observações:
- Problema de memória não é, pois verifiquei todo o código e tomo cuidado de esvaziar alguns buffers depois do uso, o fato curioso é que ele simplesmente morre no exato momento que desativar a placa de rede do "outro lado".
Se alguém ja passou por isso ou tenha interesse, gostaria de uma help.
Tags:
Olá MAP,
A conexão do protocolo do MySQL não é transacional, portanto ficará conectado constantemente.
O Arduino deverá testar a conexão constantemente e possuir um limite de tempo (TIMEOUT) para desistir da conexão e tentar a reconexão.
Ao habilitar a placa de rede do MySQL disponibiliza o MySQL para novas conexões, o Arduino é que terá que ter desistido da antiga conexão e tentar a re-conexão novamente.
Boa sorte,
'Eiju
OLá CEI!
Obrigado por responder. Eu andei pesquisando a biblioteca do MYSQLConector e descobri uma forma de reboot.
Detalhe, no arduino mega eu consigo contornar a situação usando uma interrupção na função setup e assim reconectando a schield ethernet. Porém no arduino DUE isso não rola.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por