I've been playing around with an arduino and a few sensors when I came across this amazing communication protocol I2C with which a master can communicate with all of the sensors (or slaves in a more general term) on the bus. So far so good. I was wondering is it safe and convenient enough to build the whole hardware around I2C given that all the devices on the I2C bus need to have a unique address?
Let's say there's a product line where multiple slaves can connect to the bus (emphasis on CAN and not MUST). How shall I/we solve the problem of assigning a unique address to each slave individually?
I found out this thread where the same problem is addressed but it lacks any working examples. More precisely, can someone add a working example where a setup involving arduino(s) is using SMBus ARP protocol to assign address to all the slaves.
EDIT: I found this thread as well but not just it lacks any working example but requires a lot deeper understanding of the circuit which did not make sense given my use case is not to get into the design of the circuit at this micro-level.