Hi guys,
As my final project in college I'll build a basic home automation system. I'm new on this topic so any help would be really welcome!
The idea is to do the following:
I'm working on an android app that can communicate with the web, then this information is readed by the ethernet shield, then arduino will tell the xbees when to turn the relays on and off. So basically will be this:
Android App > Web Server > Ethernet Shield > Arduino > Xbee > Relays
First: is that correct? Is there something wrong with the information flow? It can be easier or smaller? The idea is to control the house from anywhere.
Note: I'm building the app in Android Studio.
I have until november (I guess) to finish this and to write the thesis, so I'm starting to get a little desperate! lol
Thanks in advance, guys!
Igor
"Control the house from anywhere" has been done many, many times and there are lots of commercial solutions you can buy. This does not seem like an imaginative or even interesting thesis project.
Thanks for the reply.
Here in Brazil this kind of system is still something kinda expensive. And even if it is something simple, it's the approved project I got from my college and it is what I need to do in order to graduate, so I want to learn how to make it 
The information flow was correct, as I asked first?
Thanks again,
Igor
First: is that correct? Is there something wrong with the information flow? It can be easier or smaller? The idea is to control the house from anywhere.
The flow makes sense if you want to control it from anywhere.
personally I would go for this flow
only possible if you can connect the web server to the Arduino of course
Android App > Web Server > Serial > Arduino > Xbee > Relays
Another option is to only control it when you are at home.
Then the Arduino could server as (simple) webserver too.
As you need near real time communication you should avoid the delay() command at all costs.
Check the blink without delay example how to do that
Thanks for the quick answer, rob!
robtillaart:
personally I would go for this flow
only possible if you can connect the web server to the Arduino of course
Android App > Web Server > Serial > Arduino > Xbee > Relays
But the ethernet shield does not use serial communication with the Arduino? Sorry if the question is stupid lol.
robtillaart:
Another option is to only control it when you are at home.
Then the Arduino could server as (simple) webserver too.
Yeah I have a code for this, if all go wrong I'll use this simpler way.
robtillaart:
As you need near real time communication you should avoid the delay() command at all costs.
Check the blink without delay example how to do that
That's a really nice tip, thanks!!!
Igor