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?
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