You would be wrong
I am not using a card, i am using an EEPROM. But it is only used to store the images though. The webpage is created dynamically by the code, since their state can change. And the devices are all initialized in the setup() function. For instance, i have a line with the code:
ADD_DEVICE_SWITCH( "Xmas Tree Lights", DEVICE_CONTROL_RADIO, IMAGE_XMAS_ON, 0, 166);
and that's pretty much all you need to to add or remove devices from the system. All of the pages are created according to the devices that we add in setup
I actually already had seen your project a couple months ago already!
Major wirings that you will be doing
I was lazy on that part, so i went wireless and bought some Chacon controllers for that part.
I will make a proper webpage and some documentation at some point, hopefully in the next month or so. I am trying to make the code very modular, so that it is easy to add new types of devices and new ways to control them. Whenever you do something, it always end up in this piece of code:
case DEVICE_CONTROL_WIRED: sr.setRegisterNow(dev_id, dev_data); break;
case DEVICE_CONTROL_RADIO: sendRadioOrder(dev_id, dev_data); break;
For now i've only implemented wired (using the pinouts of a shift register) and radio controlled (using the chacon wireless protocol).
I saw in your site you talk about having the devices on a I2C bus. To make it work with ardomotics, you would only need to create a function like:
void sendI2COrder(byte device_identificator, byte new_device_status)
and add the function in a new case statement