Another House Monitor Project

Hi There. I'm looking for a little guidance with a home monitoring/control project. I am using a mega 2560 with an internet shield and it is currently running a slightly modified web server sketch to monitor mains and battery voltage in the home as well as keep an ultrasonic 'eye' on the basement sump level. Future expansion to include some entrance and light monitoring and control. My house is connected to the internet via a fixed 4g wireless radio on the roof. My original plan was to use port forwarding through my router to allow me to interact with the webserver remotely but I know that DHCP would occasionally change my internet ip address and I was not sure how to overcome this. However I have just learned that my isp provider allots a 50 mb web access on my account and if I manage to put a webpage on my isp server and can figure out how to send the input/output from the mega to this web page I think it would be a better design. If anyone can offer any guidance or suggestions regarding this approach, I would appreciate hearing from you. I have to admit up front that I am not very knowledgeable in this whole web server field.

Dynamic IP services like no-ip below are the usual solution for changing IP addresses. I've been using their free service for years.

Thank you for the link. I'm not sure how to use it though. Do I somehow forward the arduino webserver to this ip address?

Services like this manage DNS for you, which means that they'll give you a URL that points to your public IP address. Since that address isn't static, you also need to run their software on a PC on your internal network which will periodically tell what your IP address is at the moment.

Thus, you can always hit your web server using the URL and can ignore the changing IP. Sadly it looks like noip, just like the service I use, expires after 30 days for the free account if you don't let them know you're still using it.

OK. I have my account almost setup and I understand how this works now. I'm going to do some reading and see if I can get a better grasp of this project. I think the next step is to tell the dns service to point to my arduino webserver and open the port.

I signed with for dynamic dns. You should see me here although I'm messing around there as we speak, so it's up and down.

Dyn give you free reign over the first part of the name (like jimboza), and you can choose from a whole bunch of second parts (I chose gotdns) and it's dot com.

My ADSL router manual explained how to do port forwarding, but I had to experiment till I found one that worked. ISP seems not to let me use :80, so I found :8085 eventually.

Then to keep the ever-changing IP known to Dyn, I used their dashboard thingy on my laptop which keeps an eye on it and updates them. Then I found another part of my router manual.... dyn is known to the router and I could just pick dyn from a list in the router config, so my router keeps dyn up to date all the time.

Yes, I see you. Thanks for the info. I’d better start by digging up my router manual.

I think the next step is to tell the dns service to point to my arduino webserver and open the port.

More or less. The dns service will map your chosen URL to your public IP address. You'll need to configure your router to direct traffic on port 80 to your arduino. As JimboZA observes though, your ISP may block inbound use of 80 so you may need to use a different port.

Great. I think have the info I need now to get my little server onto the web.

Yes, I see you.

It's usually a more "sophisticated" page with at least real time from a DS1302 RTC and room temp from an LM35, but I'm busy playing I mean developing.

If you go to you can download their port checker thing. Then when you run a line like EthernetServer server(8085); in your sketch, you can run the checker to see if that port is open or not. That's how I knew :80 wasn't working for me.

Here is what I have been working on my sump water level project. It's monitored upstairs and website real-time update. It has been working great.