Go Down

Topic: 2 ethernet shield con la mac duplicada (Read 2408 times) previous topic - next topic

manrod65

Hola a todos.
Tengo dos Arduino Mega 2560 cada una de ellas con una ethernet shield.
El problema es que las dos shield tienen la misma direcion MAC y no puedo tenerlas a la vez en la misma red. Aunque les cambie la direccion mac por programa, no me las cambia en la tarjeta (visto con el ipscanner).
Necesito tener las dos tarjetas en la misma red para poder enviar ordenes, desde un solo PC a traves de TCP, a una o a otra para controlar equipos en dos ubicaciones distintas.
A ver si alguien me puede decir como se puede hacer esto.

Un saludo y gracias de antemano por vuestras respuestas.

Razorblade

No son la Ethernet Shield oficial de Arduino, ¿no? Porque éstas llevan una MAC 'aleatoria' que empieza por 90-A2-DA escrita en una pegatina, y aun así perfectamente les puedes poner la MAC que quieras desde tu programa Arduino.

manrod65

Si son shield oficiales de Arduino (o por lo menos eso pone en la placa). Me venian sin esa pegatina que me dices y por mas que intento cambiar la mac por programa no me la cambia. Incluso he puesto todos los bytes iguales para probar.

chiva

mmm, no estaría mal que pusieras una foto, para ver que versión de todas es y si es original

manrod65

Ahi teneis una foto de la tarjeta.


yopero

He oido en algun lugar que habia problemas con el timming y macs de algunos ethernet shields(algo que ver con el driver del FTDI).

Sabes que version de firmware tienes?

Si no lo sabes escribe avrdude -c arduino -p m328p -P [COM6] -v -v en el "command prompt"  de windows
COM6= tu puerto.

Si no tienes el avrdude instalado tienes que ir a este folder de arduino
cd ..\arduino-0022\hardware\tools\avr\bin
una vez alli lanzar:
avrdude -c arduino -p m328p -P [COM6] -v

SrDonGato

en uno de los ejemplos para este shield comienza asi

Code: [Select]
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,1, 177 };

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
Server server(80);

void setup()
{
  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();


cambiando la variable " mac[] " puedes hacer que tengan macs distintas.

un saludo



Go Up