Ethernet Shields, Addresses & EEPROM

details

Uno-with-Ethernet-Shield

Project Description
This project shows how to save IP and MAC in the EEPROM. This defined a standard structure data type for handling the addresses, and a standard function for reading the addresses from EEPROM.

Part

  • Arduino Uno
  • Arduino Ethernet Shield
  • EEPROM

Source code

byte mac[] = { 0xDE, 0xAA, 0xBE, 0xEF, 0xFE, 0x03 };
byte ip[] = { 192, 168, 1, 179 };

void setup() {
   Serial.begin(9600);
   for (int i = MAC_START; i < MAC_LENGTH; i++)
     EEPROM.write(i, mac[i]);
   for (int j = 0, i = IP_START; j < IP_LENGTH; j++, i++)
     EEPROM.write(i, ip[j]);
}

void loop() {
  IPMAC ipm = readIPMAC();
  Serial.print("MAC Address: ");
  for (int i = 0; i < (MAC_LENGTH - 1); i++){
    if(ipm.mac[i] < 16){Serial.print('0');}
    Serial.print(ipm.mac[i], HEX);
    Serial.print(' ');
  }
  if(ipm.mac[MAC_LENGTH - 1] < 16){
    Serial.print('0');
  }
  Serial.println(ipm.mac[MAC_LENGTH - 1], HEX);

  Serial.print("ip Address: ");
  for (int i = 0; i < (IP_LENGTH - 1); i++) {
    Serial.print(ipm.ip[i]);
    Serial.print('.');
  }
  Serial.println(ipm.ip[IP_LENGTH - 1]);
  delay(2000);
}

For more detailed information, you visit to http://thenscaler.com/?page_id=380

tags:201309,Ethernet,EEPROM,Setting of IP

Uno-with-Ethernet-Shield

Project Description
This project shows how to save IP and MAC in the EEPROM. This defined a standard structure data type for handling the addresses, and a standard function for reading the addresses from EEPROM.

Part

  • Arduino Uno
  • Arduino Ethernet Shield
  • EEPROM

Source code

byte mac[] = { 0xDE, 0xAA, 0xBE, 0xEF, 0xFE, 0x03 };
byte ip[] = { 192, 168, 1, 179 };

void setup() {
   Serial.begin(9600);
   for (int i = MAC_START; i < MAC_LENGTH; i++)
     EEPROM.write(i, mac[i]);
   for (int j = 0, i = IP_START; j < IP_LENGTH; j++, i++)
     EEPROM.write(i, ip[j]);
}

void loop() {
  IPMAC ipm = readIPMAC();
  Serial.print("MAC Address: ");
  for (int i = 0; i < (MAC_LENGTH - 1); i++){
    if(ipm.mac[i] < 16){Serial.print('0');}
    Serial.print(ipm.mac[i], HEX);
    Serial.print(' ');
  }
  if(ipm.mac[MAC_LENGTH - 1] < 16){
    Serial.print('0');
  }
  Serial.println(ipm.mac[MAC_LENGTH - 1], HEX);

  Serial.print("ip Address: ");
  for (int i = 0; i < (IP_LENGTH - 1); i++) {
    Serial.print(ipm.ip[i]);
    Serial.print('.');
  }
  Serial.println(ipm.ip[IP_LENGTH - 1]);
  delay(2000);
}

For more detailed information, you visit to http://thenscaler.com/?page_id=380

tags:201309,Ethernet,EEPROM,Setting of IP

COMMENTS

Please Login to comment
  Subscribe  
Notify of