Ethernet Shield connect to internet


I am newly converted PIC to Arduino fan and seem to struggle with something related to both.

I have a Arduino conected to a ethernet shield broadcasting data on my home network and setup as a server. I need to get access to the same window via the web but i am struggling a bit with the hosting and registering of this on the net as i am clueless on the method.

I tried using no-ip sevice with the arduino but it does not register the arduino on the net. The arduino ethernet is plugged into a router which connects to the internet and my home pc runs through the same router to the net as well as the other devices connected to the router.

When i type the http://192,xxxx,103 in my PC browser i get the data from the arduino via a simple html script. I just need some advice on how i will be able to get the same from outside my home network. This is just the begining so if there is a free webhosting service or something that i can use please advice. I have now been struggling with this for almost 2 weeks and no luck.

You will need to put the Arduino ip in your dmz (port forwarding) on the router. What model router do you use?

Then you use the public ip assigned to the router, if your ISP does not block port 80 requests to your ip.

When you said...

When i type the http://192,168,10,103 in my PC browser i get the data from the arduino via a simple html script.

... I'm assuming that you meant some simple html served up from the Arduino?

In which case, you've made a very good start.

To access that from "the outside world", is not TERRIBLY difficult... perhaps the biggest issue being how to know "where" your router is, i.e. it's (current) IP address in the wider world of "the internet", i.e. NOT its LOCAL IP address, the one that probably starts 192.168...

"The answer" is often to use a DYNDNS service.

Use of DMZ not always necessary... but you probably DO want to set aside some addresses on your LAN as NOT used by the router's DCHP service. Confused yet? Sigh.

Much more on all of these topics at...

... but you have ALREADY CRACKED half of your problems! Alternatively, my FarWatch pages may be more to your taste... cover the same topics..


Thanks alot for the replys. I am using a Trendnet router model TEW-655BR3G which is a wifi router with a LAN conection where I plug a simple 3G modem into. Where I stay internet is unfortunately not yet freely available so this is my only option to get onto the NET.

The info from the routers page is as follows:
IP Address 197xxxxx.232
Subnet Mask
Gateway 10.xxxxx.64
Domain Name Server xxxx0.29 , xxxxx.61

I will read up a bit on these sites and see where to go from here.

I would not be surprised at all if the 3G service blocks port 80 inbound requests. You will be limited to a client if that is true.

The test: Try to connect to that ip ( with a web browser on a localnet computer. You should get the login page for that router setup functions. Then try from a friend's computer that is not on you network. If your friend's computer fails to get the router login page, then the 3G service blocks port 80 requests.

edit: You can "cheat" by using a port other than port 80. You can use a port like 8085.

So i tried doing that and on the local net i get onto the page but from a outside PC no luck so i asume the port 80 is blocked.

How do I "cheat" as i am very unfamiliar in these tricks? Where do i select or change these port settings?

Then the 3G ISP blocks port 80. I use port forwarding for this stuff.

In the Arduino code, you should change the port from 80 to 8085.
In the router, you should forward (destination nat) port 8085 to your localnet ip for the Arduino. Can you find that in your router setup stuff?

edit: Then from your friend's computer:

I now set the service port on the router to 8085 on IP 192.xxxx.103 which is the IP adress off the arduino on the network. I also set the port on the Arduino to 8085 and I do not get access to the html via the local net or from my IPAD(not connected to local net "Friends Computer") As soon as i set both the router and Arduino back to 80 then i get local access.

I just sense that i am am missing something.

The routers setup page's heading is Virtual Server where it is the only page i am seeing something to do with port 80.

If you are localnet, you need to use the port with the ip address.
If the ip is not, change that part, but it needs the ":8085" tacked on it.

The settings are in the user manual you can download here. The settings that will apply to you start on page 26.

Slowly bit surely winning.

Ok so on the localnet i get access via the ip:8085 now and i checked all the settings according to the manual and it is done as explained.

I just do not get access via the web to the arduino unless it is on the same localnet. I do have wpa-psk and wpa2-psk authentication active on the router but that should only be for wi-fi??

Where else could there be something blocking me from accessing it outside my localnet? DMZ host is also enabled for that ip?

Am i correct in saying that to connect to it via the WEB I should type http://197.xxxxx.232:8085? And localnet http:192.1xxxxxx.103:8085?

Beyond this I can't offer much help. The 3G connection may not allow any inbound requests. Not that I blame them. I've received two lawsuit threats from Paramount because my clients were uploading pirated videos using bittorrent. It uses this same type connection.


So i tried everything and i still cannot get conection from outside.

What is the alternative to this? Do i need to change ISP's(not preferable as i am on contract)

There was mention of seting up a client. What does that entail? If I can for now just switch on a pin and get a analog reading on the web it would be fine. From there i can build the rest.

The client code would need a server to store and retrieve the data so you could access it from other clients. It sounds like you need the server code.

Talk to your ISP. Maybe they have a solution for you.

Ask your service provider about an 'unrestricted APN'.