Guidance on MAC/IP assignments

I’m working on a project and would love some guidance on how to approach it.

I need to deploy 100+ UNOs with Ethernet shields and all will be on the same network. I see there is a sticker on the shield with a MAC address, but believe I still need to assign that MAC directly in code. Just looking for ways to deploy all this without having to type a MAC and IP into code for each.and.every.one. I’m trying to deploy with no DHCP, but may be forced to.

  • Is there a way to just read the existing MAC from the shield itself? Manually typing hundreds of MAC addresses isn’t fun.
  • Should I generate an IP based on the MAC? (No DHCP available). I was originally thinking that if I had to assign a MAC, I could use it to also base the IP off of. For example, having a MAC be like 02:01:0F:0F:01:02 could allow me to automatically create an IP of 10.10.1.2
  • Is there a benefit of reading a variable (MAC, IP for exampleJ from the SD card? It might make swapping out defective hardware easier. That way I could deploy the same code for all units, and rely on the SD card for unique values (IP/MAC)

Would love your thoughts on approach! Thanks

If the devices already have a MAC address there is no need to set one up the problem is assigning IP addresses An application using PIC18F97J60 mcrocontrollers to contol and monitor a large number of machines in a factory operated so 1. on power up a serial port was monitored for 10 seconds for a keypress - if no key press the program woud continue to normal operation 2. on key press a password would have to be entered - if OK a series of options would be displayed 3.one of the options was to enter a machine number which also formed part of the IP address, e.g. 192.168.0.n

when required options had been set up the final option would be to save the information to EEPROM

UDP datagrams were used to communicate with a server sending machine state every 30 seconds or so UDP datagrams could send information to a machine to change its state, etc