Boa tarde colegas, tudo bem? Sou novo por aqui.
Estou trabalhando em um projeto com Arduino e Emoncms.
Já consigo efetuar todo o processo que é pegar o dado de consumo da minha casa e enviar para o site do Emoncms. Montei um servidor Emoncms local também mas ele não tem todos os recursos. Meu problema é o seguinte: depois de uns 15 ou 20 minutos enviando ele para de enviar e não dá mensagem alguma. Porem quando abro o monitor serial, do nada ele troca o IP, ou seja por algum motivo ele altera o IP que deixei fixo para um IP maluco. Alguém poderia me ajudar?

Caso alguém se interesse e queira o código é só falar que eu terei o maior prazer em enviar.

Obrigado.

Exibições: 628

Responder esta

Respostas a este tópico

Não, oque significa ISSUES?

Issues = problemas

Recomendo que leia os links que eu enviei. 

Se tem dificuldade com o inglês, recomendo que use o Navegador Chrome:

https://www.google.com/chrome/

Ao abrir a página com o Chrome, clique o botão direito do mouse e selecione:

Traduzir para o Português. 

Pois é. Não estou utilizando MQTT. 

O endereço do servidor está correto pois consigo enviar os dados.

E por fim não há a necessidade de ativar o SSL para esse tipo de transação.

Só um adendo Maurício: se você precisa enviar dados do Arduino para sua plataforma IoT Emoncms, já que você disse que é novo no assunto precisa ficar claro que lá na plataforma IoT Emoncms você dá o nome de "Server" (ou servidor) e o seu dispositivo IoT, que no caso é o seu circuito com Arduino, esse você dá o nome de "Client" (ou cliente).

Dito isso, você precisa levar em consideração que se você montou realmente um servidor em seu Arduino, o que é perfeitamente possível, mas pelo que entendi de seu projeto não seria o caso, então o problema de troca de IP pode ocorrer (por exemplo) quando o servidor é reiniciado por qualquer que seja a razão. 

Porém, sua necessidade não é um SERVER e sim um CLIENT no Arduino. O Arduino deve se comportar como um cliente de sua plataforma IoT. Feita essa modificação, então ao fixar o IP no seu Arduino você provavelmente não terá mais problemas do tipo relatado.

Independente de qualquer coisa, o que estou sugerindo observar tem base apenas em suposição sobre o que eu acho que você está fazendo, pois você não postou o código fonte.

OBS.: Se for postar, anexe o arquivo em lugar de colocar o texto direto no corpo da resposta.

Entendi William, porem eu classifiquei, digamos assim, o Arduino como servidor pelo fato dele ser o responsável pela captura da informação, no caso o consumo de energia e enviar para o Emoncms, mas de fato se parar para analisar você tem razão pois o Arduino é responsável por alimentar o Emoncms. Mas voltando, eu já tenho o Arduino funcionando perfeitamente como cliente e o IP está fixo no Arduino.

Ainda não resolveu o problema?

Seria importante entender melhor o que e como exatamente você está fazendo para só então poder ajudar.

Que tal:
- Postar uma lista dos componentes utilizados (e uma foto da montagem)
- Postar o código

Com isto, acredito que será muito mais fácil e rápido identificar algum problema e possíveis soluções. Pois até agora (quase 20 dias após seu post), vejo que não saiu de suposições. Muitas perguntas poderiam já ter sido respondidas se vc tivesse colocado o código aqui no post.

E à titulo de informação, os IPs que você chegou a mostrar aqui, 255.0.0.0 e 255.255.255.255 não são malucos, são mascaras de rede (netmask). Pode-se dizer que é um "guia" para o protocolo encontrar os caminhos/onde estão os equipamentos na rede. Este valores são completamente normais

Se eu coloco como mascara fixa 255.255.255.0 no meu código e ele depois de um tempo muda sem explicação alguma para 255.255.255.255 ou 255.0.0.0 eu realmente não consigo ver isso como algo normal.

Mas antes ele nem conectava no Emoncms aí retirei a mascara e começou a conectar e enviar dados, então estou usando sem mascara.

Os componentes que estou usando são:

1 x Placa Arduino;
1 x Sensor de corrente SCT-013 100A;
1 x Protoboard;
2 x Resistores de 10kΩ;
1 x Resistor de 330Ω;
1 x Capacitor eletrolítico de 100uF;
Jumpers;
Shield Ethernet W5100

Segue o código em anexo.

Obrigado.

Anexos

Eu não tenho nenhum shield aqui, em rede uso somente esp8266 que é muito mais simples.

Mas pelo que vi, existe vários tipos de problemas que pode estar acontecendo. Um deles é que a placa pode estar defeituosa mesmo.

Primeiro, tente usar DHCP, isto é, não definir nenhum IP, apenas o mac:

Ethernet.begin(mac)


e veja se ele imprimi algum IP correto para a sua rede?

Depois, tente definir dados mais completo, exemplo

IPAddress ip(192, 168, 0, 60);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);

...

Ethernet.begin(mac,ip,gateway,subnet);

caso não saiba os dados corretos, no windows, abra uma linha de comando (cmd/dos) e digite ipconfig e veja as configurações, principalmente gateway e subnet.

E ainda pode tentar ver o retorno do comando Ethernet.begin para ver se o código de erro ajuda.

E por fim, teste com outro shield ethernet.

Cara na mosca, troquei o shield de rede e maravilha. Já faz 2 horas e não parou, hehehe. Obrigado!

Maurício, 

Trocou para o mesmo modelo de shield?

O seu shield estava com defeito? 

Sim José Augusto, o mesmo na verdade eu já havia comprado um outro shield e outro arduino pois esse projeto faz parte do meu projeto de mestrado. E realmente era problema do Shield. Troquei e está lá funcionando redondinho até agora.

Menos mal que agora está funcionando. Pena que foi um módulo com problema que tomou tanto tempo para resolver.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço