Conociendo el Arduino Ethernet Shield

Hola, quiero compartir algunas de las pruebas que he estado realizando con el Arduino Ethernet Shield.

En la entrada de hoy mostraré algunas cosas que no he visto juntas en los ejemplos, seguro que mucha gente lo ha hecho, y lo ha publicado, pero quería tenerlo todo junto para ver el juego que nos dan las opciones que tenemos.

El primer problema que tenemos siempre es que hay que definir la MAC de nuestro dispositivo, en general, en los ejemplos siempre se utiliza la misma:

Supongo que no es lo más habitual, pero a mí no me gusta la idea de que un identificador que se supone único sea siempre el mismo en diferentes aparatos, por lo que, aprovechando que normalmente tenemos la memoria EEPROM muy abandonada, voy a generar un valor aleatorio para la MAC y guardarlo para los siguientes reinicios.

Otra cosa es el tema de la IP, normalmente todos los ejemplos que he encontrado utilizan una IP fija, volviendo al problema de tener varios dispositivos en la red nos encontramos con conflictos, así que prefiero una IP asignada por mi servidor DHCP:

Si lo juntamos todo dentro del ejemplo WebServer que nos ofrece el entorno de Arduino tendremos un código como el siguiente:

Bueno, y a partir de aquí ya podemos comenzar a construir la aplicación que queramos sabiendo que no va a chocar con otros dispositivos ni por MAC ni por IP.