[ajuda] Arduino UNO + ENC28j60

Olá, sou novo no arduino. Comprei um arduino UNO e um shield ethernet ENC28J60.
Faz uns 15 dias que estou tentando faze-lo funcionar e mandar uma simples msg para o twitter. Já li inúmeros sites, peguei exemplos prontos, mas ainda não consegui resolver o problema. Até tentei ligar direto no modem virtua pulando o roteador di-524/150 pois alguma configuração nele poderia estar atrapalhando.

Coloquei um MAC que não existe na minha LAN e um IP livre.
Instalei no twitter um app arduino, peguei o token gerado e coloquei no código fonte, compilei etc..

Quando ligo no roteador ele acende apenas o led verde do conector rj45. Quando direto no modem acende o verde e fica piscando o laranja, mas no serial monitor diz que a conexão falhou e não posta nada no twitter.

Outra coisa é que as vezes a biblioteca etherShield da erro na compilação ai tive de ir na pasta e renomea-la para EtherShield.

Agradeço qualquer ajuda.

[]

tilt:
Olá, sou novo no arduino. Comprei um arduino UNO e um shield ethernet ENC28J60.
Faz uns 15 dias que estou tentando faze-lo funcionar e mandar uma simples msg para o twitter. Já li inúmeros sites, peguei exemplos prontos, mas ainda não consegui resolver o problema. Até tentei ligar direto no modem virtua pulando o roteador di-524/150 pois alguma configuração nele poderia estar atrapalhando.

Coloquei um MAC que não existe na minha LAN e um IP livre.
Instalei no twitter um app arduino, peguei o token gerado e coloquei no código fonte, compilei etc..

Quando ligo no roteador ele acende apenas o led verde do conector rj45. Quando direto no modem acende o verde e fica piscando o laranja, mas no serial monitor diz que a conexão falhou e não posta nada no twitter.

Outra coisa é que as vezes a biblioteca etherShield da erro na compilação ai tive de ir na pasta e renomea-la para EtherShield.

Olá,
a biblioteca Ethernet do Arduino não dá suporte ao controlador ENC28J60 por padrão, porém estou desenvolvendo uma biblioteca que faz isso -- dessa forma você consegue desenvolver um mesmo código que funciona nas duas (sem precisar usar uma biblioteca mais difícil como a etherShield). A minha biblioteca já funciona como servidor HTTP, mas ainda não como cliente HTTP - incluirei isso em breve.
Para mais detalhes, veja: GitHub - turicas/Ethernet_ENC28J60: [NOT MAINTAINED, NOT COMPLETED] Implementation of an Arduino-compatible socket layer library that uses Microchip ENC28J60 Ethernet controller.

Vá aos poucos. Postar no twitter via API não é tão simples assim. Precisa fazer a autenticação OAUTH funcionar, etc... Tente primeiro fazer os exemplos funcionarem, tente pingar o IP que vc deu para o seu shield. Quando tudo isto estiver funcionando, aí sim parta para fazer post no twitter funcionar.

alvarojusten:

tilt:
Olá,
a biblioteca Ethernet do Arduino não dá suporte ao controlador ENC28J60 por padrão, porém estou desenvolvendo uma biblioteca que faz isso -- dessa forma você consegue desenvolver um mesmo código que funciona nas duas (sem precisar usar uma biblioteca mais difícil como a etherShield). A minha biblioteca já funciona como servidor HTTP, mas ainda não como cliente HTTP - incluirei isso em breve.
Para mais detalhes, veja: GitHub - turicas/Ethernet_ENC28J60: [NOT MAINTAINED, NOT COMPLETED] Implementation of an Arduino-compatible socket layer library that uses Microchip ENC28J60 Ethernet controller.

Olá Alvaro, obrigado pela explicação e por disponibilizar o código. Há algum livro ou tutorial que poderia sugerir para poder me aprofundar mais e entender as bibliotecas?

[quote author=Wagner Sartori Junior link=topic=70209.msg521285#msg521285 date=1314120535]
Vá aos poucos. Postar no twitter via API não é tão simples assim. Precisa fazer a autenticação OAUTH funcionar, etc... Tente primeiro fazer os exemplos funcionarem, tente pingar o IP que vc deu para o seu shield. Quando tudo isto estiver funcionando, aí sim parta para fazer post no twitter funcionar.

Olá Wagner, obrigado pela orientação. É a ansia de querer montar tudo e ver funcionar logo.. Vou estudar a biblioteca que o Alvaro disponibilizou e fazer os exemplos.

Abs,

tilt, com relação a estudar as bibliotecas, em geral seguindo os exemplos e lendo os comentários, caso você saiba programar, dá pra entender.
Uma outra possibilidade é ler documentação - na minha biblioteca, por exemplo, lá no GitHub tem explicações sobre suas limitações, como utilizar etc.

Olá Alvaro,

Neste final de semana vou implementar sua biblioteca. Vou fazer os exemplos com calma.

Aliás, muito legal o GitHub, não conhecia.

Abs e obrigado pela ajuda.

Galera tenho um shield enc28j60.. e estou usando a biblioteca padrao dele.. qdo eu comecei a montar o website dentro do programa.. foi indo tudo bem.. quando ela parava de responder o http(nao conectava mais) era só aumentar o buffer size que tava resolvido.. depois que coloquei o buffer size em 1800.. funcionou beleza.. mas qdo precisei colocar outro botao no html.. nao respondeu mais. E quando Fui aumentar o buffer size e nao funciona mais.(se eu tirar o botao e colocar o buffersize novamente em 1800 ele pega, acho que é o limite)

Alguem tem uma solução alternativa pra isso ou sabe como resolver ? grato.

obs: o codigo ta super leve.. ta gastando apenas 6k.

desktop:
Galera tenho um shield enc28j60.. e estou usando a biblioteca padrao dele.. qdo eu comecei a montar o website dentro do programa.. foi indo tudo bem.. quando ela parava de responder o http(nao conectava mais) era só aumentar o buffer size que tava resolvido.. depois que coloquei o buffer size em 1800.. funcionou beleza.. mas qdo precisei colocar outro botao no html.. nao respondeu mais. E quando Fui aumentar o buffer size e nao funciona mais.(se eu tirar o botao e colocar o buffersize novamente em 1800 ele pega, acho que é o limite)

Alguem tem uma solução alternativa pra isso ou sabe como resolver ? grato.

obs: o codigo ta super leve.. ta gastando apenas 6k.

Ainda não existe uma forma boa de resolver isso pois com as funções disponíveis no que você chamou de "biblioteca padrão" (que NÃO é a biblioteca padrão Ethernet do Arduino, é a etherShield) ficaria bem complicado fragmentar pacotes TCP.

Estou implementando essa funcionalidade na biblioteca Ethernet_ENC28J60 e em breve você será capaz de enviar HTMLs maiores com um buffer menor -- para isso ele irá fragmentar os pacotes no tamanho do buffer size e enviar vários pacotes até conseguir enviar seu HTML todo.

Não recomendo utilizar um buffer size tão alto quanto 1800 pois o Arduino 2009/Uno tem apenas 2kB de RAM, ou seja, sobrará bem pouco para sua biblioteca.

valeuu.. to otimizando o maximo o html pra colocar 8 botoes.. onde vou ligar 8 reles

Olá.

Tenho esse mesmo problema.

Problema Ethernet + Arduino

Estou desenvolvendo um projeto com arduino e ethernet e “esbarrei” numa situação que não consigo resolver.

Estou usando um arduino Duemilinove com o shield Ethernet Shield for Arduino UNO duemilanove, ENC28J60

Embarquei um código que responde a uma requisição GET HTTP. O código recebe a requisição, separa a string e verifica, daí executa a ação ou devolve o dado.

Até ai tudo bem, todavia depois da terceira ou quarta requisição, simplesmente o arduino para de responder, ai tenho que reiniciar o arduino.

Depois de muito teste notei também que quando trava a conexão eu abro o monitor da serial o que “destrava” a conexão Ethernet até que eu novamente faça três ou quatro requisições, ai volta a travar.

Não sei se deu para entender.

Alguem teria uma pista do que está acontecendo?

Desde já muito obrigado.

Olá pessoal.

Tenho feito alguns testes e tudo tende a problemas com a biblioteca do Shield Ethernet.

O fato da biblioteca não ser "homologada" me parece ser o causador da anomalia.

Fiz testes com exemplos voltados ao shield com chip w5100 com bilbliotecas "traduzidas" e o problema continua.

Se alguem tiver alguma sugestão...