E quando a Ethernet Shield Wiznet 5100 não vem com a etiqueta de Mac Address??

Pessoal boa noite, sou novo no fórum e novo no Arduíno.

Comprei há 1 mês pelo ebay uma ethernet shield Wiznet 5100 e chegou na minha mão ontem.

Fui correndo tentar por ela funcionando com o Arduíno Mega, mas não consigo.

Vi em vários fóruns que na parte de trás ela costuma trazer uma etiqueta com o Mac Address, mas a minha não veio nada a respeito, então quando abro a IDE e puxo o código de exemplo, não consigo por o Mac Address.

Curioso que na página do vendedor no ebay, ele põe por escrito o endereço do Mac Address, mas ele nesse caso generaliza, pois se ele vende 50 placas destas o Mac não pode ser o mesmo!

Vejam a página dele nesse link:

LINK REMOVIDO POR DESCUMPRIR OS TERMOS DE USO

Outra curiosidade é que o Mac Address que ele cita é o mesmo que vem no código exemplo que está na IDE e pesquisando outras páginas dessa Ethernet Shield no google, vi que os vendedores também citam o mesmo Mac Address incluíndo página de vendas no Mercado Livre.

Alguém sabe me dizer se esse Mac Address é genérico nessa Shield (o que duvido) ou como eu faço para descobrir o Mac verdadeiro?

Obrigado à todos!

Fábio

Exibições: 12471

Responder esta

Respostas a este tópico

Liga ele na sua rede, digita lá no executar do windows:

cmd

e depois

arp -a

Veja se resolve..

Caso ele não apareça de um ping no ip dele primeiro e arp dnovo que deve vir.

Pelo anuncio parece que todos vem com o mesmo MAC mesmo... Chinesada... Mas provavelmente quando vc preenche no programa esse campo está determinando um novo número e não avisando o atual.

Obrigado pelo contato Eduardo, fiz o que você recomendou, mas quando dou o comando arp -a aparece todos os MAC's de roteadores e aparelhos (TV, Media Center, etc) que tenh aqui em casa, menos o da Shield. Então fiz o ping que você citou (pelo IDE eu denominei a shield com o IP: 10.0.0.9 já que tudo que tenho aqui em casa segue esse padrão) e tive 100% de perda na resposta.

Então isolei o meu PC da rede wireless e ativei somente a placa de rede do PC, liguei a shield direto na placa de rede do PC (com o arduino junto a ela e alimentado), fiz o arp -a e só achou a placa de rede do PC, fiz o ping e deu 100% de perda.

Alguma outra dica? Obrigado!!!!

Xii, não sei então...

Os leds estão correspondendo ?

Pode ser o codigo, lib, etc. Seu codigo é para o Wiznet 5100 ? Tem outras libs ethernet por aih..

Ja tentou outro cabo ?

Quando vc resolver a questão do ping vc resolveu tudo.

O MAC provavelmente não é o problema. Vc pode por praticamente qualquer numero que ele aceita (passa a adotar esse MAC).

Acho que meu hardware está todo ok.

Já rodei um exemplo direto no arduíno aplicando comando serial, logo:

O cabo usb está ok.

Os leds TX e RX piscam quando conecto o cabo de rede na shield, logo:

O cabo está ok.

O código deve ser para a Wiznet 5100, pois nos foruns que pesquisei, a lib que vem no IDE é para ele certo? E é essa lib que usei (Examples > Ethernet > WebClient).

Uma pergunta: Faço upload do código da shield com ela conectada no arduíno ou não?

No mais vou tentando aqui, de qualquer forma obrigado!

Amigo Eduardo, consegui!

usei uma lib da loja deal extreme e deu certo.

Obrigado mesmo assim!!!

Bom dia, Fábio.

Você disse que usou uma lib da loja deal extreme e deu certo.

Que lib é esta?

Olá 

Que bom que vc conseguiu resolver seu problema...

O engraçado é que eu comprei o meu no ebay também e utilizei o código de exemplos da ide webserver e funcionou normalmente, não foi preciso alterar o mac só coloquei o ip e a porta que eu estava utilizando!!!!!

vc usou o mac que veio no proprio exemplo?

Eu estava tentando usar o do molden roteador...

Sim

Não alterei nada do mac somente acrescentei meu ip e a porta que estou utilizando, o mac é o do exemplo mesmo!!!!!

Está 100% funcional.

migão o mac é fixinha rrrr coloquei uns par deles e funfou belesss, rrr pega ai esse cod e testa:

OBS: Ve se é um Wiznet mesmo viu, se for um enc28j60 ai vc ta na roça rrr to com dois aki parado

         mas ta quase rodando.

#include <SPI.h>
#include <Ethernet.h>
#include <String.h>

byte mac[] = {0x01,0x23,0x45,0x67,0x89,0xAB }; //physical mac address
byte ip[] = { 192, 168, 0, 177 }; // ip in lan
byte gateway[] = {192, 168, 0, 1 }; // internet access via router
byte subnet[] = {255, 255, 255, 0 }; //subnet mask
EthernetServer server(8090); //server port

String readString;

boolean status_Sala = false;

int pin[8];
char* nome_pin[8];
int estado_pin[8];
const int Sensor = 0;
int valorSensor = 0;

//////////////////////

void setup(){

pin[0] = 2;
pin[1] = 3;
pin[2] = 4;
pin[3] = 5;
pin[4] = 6;
pin[5] = 7;
pin[6] = 8;
pin[7] = 9;

//NOME DOS BOTOES
nome_pin[0] = "rele 1";
nome_pin[1] = "rele 2";
nome_pin[2] = "rele 3";
nome_pin[3] = "rele 4";
nome_pin[4] = "rele 5";
nome_pin[5] = "rele 6";
nome_pin[6] = "rele 7";
nome_pin[7] = "rele 8";

//ESTADO INICIAL DOS BOTOES 0 -> desligado, 1 -> ligado:
estado_pin[0] = 0;
estado_pin[1] = 0;
estado_pin[2] = 0;
estado_pin[3] = 0;
estado_pin[4] = 0;
estado_pin[5] = 0;
estado_pin[6] = 0;
estado_pin[7] = 0;

pinMode(pin[0], OUTPUT);
pinMode(pin[1], OUTPUT);
pinMode(pin[2], OUTPUT);
pinMode(pin[3], OUTPUT);
pinMode(pin[4], OUTPUT);
pinMode(pin[5], OUTPUT);
pinMode(pin[6], OUTPUT);
pinMode(pin[7], OUTPUT);

//start Ethernet
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
//the pin for the servo co
//enable serial data print
Serial.begin(9600);
Serial.println("RoboCore Remote Automation V2.0"); // so I can keep track of what is loaded

}

void loop(){
valorSensor = analogRead(Sensor);
Serial.println(valorSensor/29);
delay(500);

// Create a client connection
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();

//read char by char HTTP request
if (readString.length() < 100) {

//store characters to string
readString += c;
//Serial.print(c);
}

//if HTTP request has ended
if (c == '\n') {

///////////////////// control arduino pin
Serial.println(readString); //print to serial monitor for debuging

char pesquisa[] = "?xx";
for(int i=2 ; i <= 9 ; i++){
pesquisa[2] = i + 48;

pesquisa[1] = 'l';
if(readString.indexOf(pesquisa) > 0){
digitalWrite(pin[i-2], HIGH);
client.print("Son");
Serial.println("Son");
Serial.println("Rele 1 On");
status_Sala = true;
estado_pin[i-2] = 1;
}

pesquisa[1] = 'd';
if(readString.indexOf(pesquisa) > 0){
digitalWrite(pin[i-2], LOW);
// client.print("Sof");   eu tava testando esses dois prints tira fora
//Serial.println("Sof");
Serial.println("Rele 1 Off");
estado_pin[i-2] = 0;
}

}

//clearing string for next read
readString="";


/////////////// tem q ter esse cabeçalio c nao da PAU em

client.println("HTTP/1.1 200 OK"); //send new page
client.println("Content-Type: text/html");
client.println();

client.println("<html>");

client.println("<head>");
client.println("<title>Vai que da maluko rrr</title>");
client.println("<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>");
client.println("<link rel='stylesheet' type='text/css' href='http://www.robocore.net/upload/projetos/RemoteAutomationV2.0.css' />");
client.println("<script type='text/javascript' src='http://www.robocore.net/upload/projetos/RemoteAutomationV2.0.js'/></script>");

client.println("</head>");
client.println("<body>");
client.println("<div id='wrapper'>RoboCore Remote Automation V2.0<br>");

client.println("<div style='display: inline-block; width: 400px;'>");

for(int i=0;i<=7;i++){
client.print("<div id='porta");
client.print(i+2);
client.print("_estado'>");
client.print(estado_pin[i]);
client.println("</div>");
client.print("<div id='porta");
client.print(i+2);
client.print("_titulo'>");
client.print(nome_pin[i]);
client.println("</div>");
client.print("<div id='porta");
client.print(i+2);
client.println("_botao' style='position: relative;'></div>");

if(i==3){
client.println("</div><div style='display: inline-block; width: 400px;'>");
}
}
client.println("</div>");

client.println("</div>");

client.println("</body>");

client.println("<script>VerificaEstado();</script>");

client.println("</html>");


delay(1);
//stopping client
client.stop();

}
}
}
}
}

OBS: vc tem que colocar no seu roteador o IP c nao no roda nem fu, e despois rr digita o IP o navega, é nois tio

Só usei esse cod pra testar e depois fisso o meu memo, fuuuui

Acho que se rodar isso vai ver o MAC no monitor.

eeprom.begin();
eeprom.startReading(0x00FA);
for (int i = 0; i < 5; i++) {
mac[i] = eeprom.read();
}
mac[5] = eeprom.read();

Ethernet.begin(mac);

Boa tarde Carlos,

gostaria de saber como utilizar este código para descobrir o MAC?

Obrigada.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço