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.

Exibições: 167

Responder esta

Respostas a este tópico

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.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço