Conectar ENC28J60 à internet via DHCP

Bom dia! Estou construindo um projeto de monitoramento do nível de água das cisternas da empresa onde eu trabalho usando o arduino, módulo ENC28J60 e os sensores.

O grande problema é que a internet da empresa é em protocolo DHCP, fiz várias tentativas para conectar a internet usando o ip fixo com o comando "byte ip[] = {};" porém em nenhuma das vezes funcionou quando joguei o ip no navegador para visualizar a pagina HTML, então fiz o ping pelo CMD e nada, e nem mesmo pegou o ip. Aparece sempre

Então fui instruído pelo setor da T.I. de configurar usando DHCP, mas não tenho conhecimento algum de como utilizar o arduino com esse protocolo, procurei alguns exemplos na internet mas não encontrei nada concreto.

Para o DHCP estou tentando pela biblioteca Ethercard. Alguém sabe como fazer o arduino/módulo pegar o ip usando o DHCP?

Obrigado!

Boas,

O grande problema é que a internet da empresa é em protocolo DHCP,

Isso não é problema nenhum, é uma grande vantagem e uma pratica bem comum. Já imaginaste teres de configurar e gerir à mão numa empresa 720 computadores?

#include "etherShield.h"
#include "ETHER_28J60.h"
//Define o MAC da placa de rede.
static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};
//Define o endereco IP da sua placa
static uint8_t ip[4] = {192, 168, 1, 199}; //adapta a um ip que queres
 
static uint16_t port = 80; 
 
ETHER_28J60 e;
 
 
void setup()
{ 
  //Inicializa a placa com as configuracoes fornecidas
  e.setup(mac, ip, port);
}
 
void loop()
{
 
}

Deves ajustar o ip no sketch acima e depois podes testar com um pc na mesma rede fazendo o ping a ele.
Testa.

hugo007:
Boas,Isso não é problema nenhum, é uma grande vantagem e uma pratica bem comum. Já imaginaste teres de configurar e gerir à mão numa empresa 720 computadores?

#include "etherShield.h"

#include "ETHER_28J60.h"
//Define o MAC da placa de rede.
static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};
//Define o endereco IP da sua placa
static uint8_t ip[4] = {192, 168, 1, 199}; //adapta a um ip que queres

static uint16_t port = 80;

ETHER_28J60 e;

void setup()
{
 //Inicializa a placa com as configuracoes fornecidas
 e.setup(mac, ip, port);
}

void loop()
{

}



Deves ajustar o ip no sketch acima e depois podes testar com um pc na mesma rede fazendo o ping a ele.
Testa.

Olá Hugo, obrigado pela resposta. Então, dessa maneira eu já tentei e não funciona pois o IP está sendo inserido manualmente, preciso de uma forma que o módulo pegue o IP sozinho e me mostre na tela pelo monitor serial o IP que pegou. Sabe de alguma maneira que isso possa ser feito?
Obrigado!

Então, dessa maneira eu já tentei e não funciona pois o IP está sendo inserido manualmente

É muito simples arranjares um ip nessa rede e depois após confirmares que ele esta livre atribuires de forma fixa no código.Ligas um portátil a essa rede, verificas a gama de rede que te foi atribuída, exemplo 192.168.2.11 e de seguida pingas o 192.168.2.12( o ip a seguir até o ping nao te responder).Depois pegas nesse ip livre que encontras-te e colocas no teu sketch.Faz upload do programa e testas no portátil a ver se o ip já aparece na rede.
Tenta usar esta biblioteca