If i understand your question correctly then, yes; each IoT device can be assigned/generate its own seed and/or address. However, the sender of course needs to know the receiver address or seed to be able to perform the transaction. You can have the receiver auto-generate a new address for each transaction using the get_new_addresses function as described in the 4th tutorial in this series ( https://medium.com/coinmonks/integrating-physical-devices-with-iota-price-and-addresses-4f352e321cbb). You will have to provide a valid seed to the function. You can even have the IoT device generate its own seed to prevent hard coding it, just make sure you save the seed in some way so that you are able to access its funds later on. Hope that answers your question, if not, let me know.