Boa tarde Pessoal,

Tenho feito alguns testes com o Arduino + Shield Ethernet para funções diversas, como por exemplo: enviar comandos via IR, acender leds, realizar leituras de sensores.

Durante esses testes eu já havia percebido alguns problemas como demora ao responder e também falha ao carregar a pagina web.

Essa semana estou testando o controle de 4 reles através de uma pagina web que fica gravada no próprio sketch. Faço o controle pra saber se a porta está aciona ou não, coisa simples.

Porém aconteceu várias vezes durante o teste a queda da conexão com o arduino e até mesmo problemas ao carregar a página, carregando exibindo os codigos HTML's ao invés da página.

Alguém saberia me explicar o motivo? será a capacidade do arduino executar os comandos HTML's?

Agradeço a ajuda de todos.

Abraços e obrigado.

Exibições: 325

Responder esta

Respostas a este tópico

Osiris, esse comportamento que você relatou: as vezes funciona, as vezes não.

Uma das causas pode ser a memória.

Em vários posts aqui publicados que relatavam problemas parecidos com a dobradinha Arduino x Shield Ethernet, a substituição do UNO pelo Mega resolveu o problema.

Para formar as páginas WEB usam-se muitas concatenações de variáveis String que utilizam a memória dinâmica.

Veja neste post algumas técnicas de otimização:

livro

Em todo caso, vamos ver ser alguém mais teve alguma experiência parecida...

Boa noite José, obrigado pelo retorno.
Queria pedir desculpas, pois acabei nao comentando que já estou usando um MEGA.
Vou dar uma olhada no link e ver se consigo ajustar.

Muito obrigado pela dica.
Abraços.

Bom dia José,
Obrigado pelo retorno.
Abaixo a parte do meu sketch com o HTML.
Já estou usando o recurso F();

client.println(F("HTTP/1.1 200 OK")); //send new page
client.println(F("Content-Type: text/html"));
client.println();
client.println(F("<HTML>"));
client.println(F("<HEAD>"));
client.println(F("<meta name='viewport' content='width=device-width,minimum-scale=1.0,maximum-scale=1.0'>"));
client.println(F("<script languagem='javascript'>"));
client.println(F("function envioLiga(id){"));
client.println(F("location.href = '?btn'+id+'L';"));
client.println(F("}"));
client.println(F("function envioDesliga(id){"));
client.println(F("location.href = '?btn'+id+'D';"));
client.println(F("}"));
client.println(F("</script>"));
client.println(F("</head>"));
client.println(F("<body>"));
client.println(F("<table width='260' border='0' align='center' cellpadding='0' cellspacing='0'>"));
client.println(F("<tr>"));
client.println(F("<td height='25' colspan='3' align='center' bgcolor='#FF6600'><font face='verdana' size='2' color='#FFF'><strong>PAINEL CONTROLE</strong></font></td>"));
client.println(F("</tr>"));
client.println(F("<tr>"));
client.println(F("<td height='5' colspan='3'></td>"));
client.println(F("</tr>"));
client.println(F("<tr>"));
if(leituraLed1 == HIGH){
client.println(F("<td height='120' width='120'align='center' valign='middle' bgcolor='#1e62d0' onClick='envioDesliga(1);'><a href='?btn1D' style='text-decoration:none;'><font face='verdana' size='2' color='#FFF'>"));
client.println(can1);
client.println(F("</font></a></td>"));
} else {
client.println(F("<td height='120' width='120' align='center' valign='middle' bgcolor='#77a809' onClick='envioLiga(1);'><a href='?btn1L' style='text-decoration:none;'><font face='verdana' size='2' color='#FFF'>"));
client.println(can1);
client.println(F("</font></a></td>"));
}
client.println(F("<td width='20'>&nbsp;</td>"));
if(leituraLed2 == HIGH){
client.println(F("<td height='120' align='center' valign='middle' bgcolor='#1e62d0' onClick='envioDesliga(2);'><a href='?btn2D' style='text-decoration:none;'><font face='verdana' size='2' color='#FFF'>"));
client.println(can2);
client.println(F("</font></a></td>"));
} else {
client.println(F("<td height='120' align='center' valign='middle' bgcolor='#77a809' onClick='envioLiga(2);'><a href='?btn2L' style='text-decoration:none;'><font face='verdana' size='2' color='#FFF'>"));
client.println(can2);
client.println(F("</font></a></td>"));
}
client.println(F("</tr>"));
client.println(F("<tr>"));
client.println(F("<td>&nbsp;</td>"));
client.println(F("<td width='20'>&nbsp;</td>"));
client.println(F("<td>&nbsp;</td>"));
client.println(F("</tr>"));
client.println(F("<tr>"));
if(leituraLed3 == HIGH){
client.println(F("<td height='120' align='center' valign='middle' bgcolor='#1e62d0' onClick='envioDesliga(3);'><a href='?btn3D' style='text-decoration:none;'><font face='verdana' size='2' color='#FFF'>"));
client.println(can3);
client.println(F("</font></a></td>"));
} else {
client.println(F("<td height='120' align='center' valign='middle' bgcolor='#77a809' onClick='envioLiga(3);'><a href='?btn3L' style='text-decoration:none;'><font face='verdana' size='2' color='#FFF'>"));
client.println(can3);
client.println(F("</font></a></td>"));
}
client.println(F("<td height='120'>&nbsp;</td>"));
if(leituraLed4 == HIGH){
client.println(F("<td height='120' align='center' valign='middle' bgcolor='#1e62d0' onClick='envioDesliga(4);'><a href='?btn4D' style='text-decoration:none;'><font face='verdana' size='2' color='#FFF'>"));
client.println(can4);
client.println(F("</font></a></td>"));
} else {
client.println(F("<td height='120' align='center' valign='middle' bgcolor='#77a809' onClick='envioLiga(4);'><a href='?btn4L' style='text-decoration:none;'><font face='verdana' size='2' color='#FFF'>"));
client.println(can4);
client.println(F("</font></a></td>"));
}
client.println(F("</tr>"));
client.println(F("</table>"));
client.println(F("</body>"));
client.println(F("</html>"));
delay(1);

Ele se comporta bem por algumas vezes, de um clique pra outro, ele trava, as vezes exibe o codigo HTML ao invés do visual, as vezes simplesmente para de responder a ponto de ser necessário reiniciar o arduino.

Abraços e obrigado.

Pelo visto, o seu problema não é a memória.

Como você já está usando o Mega, Não deve ser erro no código também pois, senão o problema ocorreria sempre.

Vamos ter que pesquisar mais...

Verdade, vou pesquisar mais a respeito....

Obrigado.

Bom dia Luiz,

Dei uma pesquisada mais não achei nada a respeito. Tens alguma referência?

Abraços e obrigado.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço