Uno + Ethernet + Android


I am working on a home automation project but I need some advises on where to start and what to choose.

I have an Arduino Uno with enc28j60 ethernet device and want it to be controlled via Android App that I also need to develop so that it can work through the web.

My challenges are: - I don't have a public IP - I need to make it simple so that I don't use a server (but may use if necessary & flexible) - I'm trying to make the project from scratch and not use ready made libraries.

I have already looked up and found that I can register my Android app to Google Cloud Messaging so that I can send to it using HTTP POST requests but I don't know how to make my Arduino send that request.

I found some solutions including a webserver (HTML page) hosted on the Arduino so that I can access through the browser but I want to make it native app.

My concept in mind is similar to Blynk app but rather simpler and supporting only the Uno.

So what is the best and simplest way to do this thing so that my App can get notifications, monitor sensors data, send commands to ports to control relays...??

Thank you in advance for your support.


i have realized a heating and monitoring system for my cat’s house.
The Arduino Uno Rev.3 with ethernet shield is connected to the internet and to the sensors (internal humidity+temp sensor - external temp sensor - light sensor - relay board to power on the heater)

My arduino sketch reproduces a web interface with buttons i can press to turn on or off certain functions as well as appliance on the realy.

I also made the possibility to tweet messages to me if something happens (ip changes, or overheating)

I also wanted to build an app but i think it is much more advanced than what i want and know right now.
It could be , for me, a future development but for now i’m happy with this.

I was thinking that i could modify my sketch so that i can tweet commands to be executed so i could receive values or send comands to turn on and off things.

If you think it could interest you take a look here : (select the arduino tag)