vdalessio:
My idea is to make an app for ipad, iphone, android, where you can see all the equipment you have, and turn them on/off.
I am working on an extremely similar project. Its not a small effort, but its a very doable project. As advised earlier, break it down, forst into two big general sections:
Hardware
Software
- You get to write it, with the help of a lot of libraries. Based on what you said you want to implement, you'll probably want to implement a web server. But not necessarily. More on this later.
For hardware, consider you'll probably need:
- Arduino (go for the mega)
- Wifi shield or ethernet shield
- Relay shield
- Some shield with an SD card, maybe an Adafruit data logger which also adds a real time clocl
Okay, now you have some design decisions to make. To meet the project objective, you probably need a web server somewhere. So, is it on the Arduino itself, or is it on some other server? If you implement it on the Arduino you eliminate the need for another server but you complicate the Arduino software and the wifi hardware. If you implement it on a PC somewhere, the Arduino software gets easier since you now only need a client, but now you need another server and you have to write code for it.
If you go with another server, the Andriod phone, iPad, whatever client would query it. The Arduino would also query it to send status updates and also check to see if any commands are pending that it needs to implement. Writing an http client on an Arduino is relatively straightforward. So this PC based web server would act as a bridge between the client devices and your Arduino.
If you elect to put the server on the Arduino, then you need to code at least a minimal http server. You could store the web content on an SD card. As I mentioned, this changes the wifi shield selection, if of course you choose to implement wifi. You need one that acts as an access point. So, you'll probably want one with the GainSpan or H&D Wireless chips. I don't think the wiFly shield can do this, but I'm not sure. The ones with the Microchip wifi module definitely can not. If you just need wired ethernet, you would just plug it into a switch from an ethernet shield.
Finally, don't underestimate the complexity of supporting multiple mobile devices. There are several free libraries designed to do this, like:
Sencha Touch
M-GWT
jQuery
Google those for more info. You can use them either on a PC based web server or even on the Arduino web server. You can allo use "phone gap" to build your javascript into an iPhone or Android app, so you don't need to server it up through the web server, but then the user has to install the app.
Don't let all this scare you off, and good luck!