Controlling arduino outside of the same network?

So I just got the wifi shield and set up a simple 7-segment display that will display a number based on what number you click. The code is basically the "simple web server" example. Basically you click 9, it displays 9 etc.

It works just fine on all devices on the same network but I tried to get my sister in a different city to try it and it the web page wouldn't load. So I got on my phone, disabled wifi (to use the cellular network) and it wouldn't load either.

So basically I'm asking if there's some special firewall I have to disable, or something I have to add to the code to enable clients from outside the same network.

I'm brand new to the wifi shield but have some experience with arduino and computers in general.

You will probably need to route the public ip on the router to the private ip of the Arduino. Then you must determine if your ISP allows port 80 requests to your ip. If you do not have a commercial account, they may block port 80 requests to your ip.

See if you can ping that ip from your sister's computer.

Umm how would I go about doing that?

  1. Sign public ip to arduino tcp/ip shield. direct connect. ( make sure turn firewall at tcp/ip shield)
  2. Put arduino tcp/ip shield into DMZ zone of firewall.
  3. Set port forwarding at firewall, forwarding port number.
  4. Set VPN client at arduino tcp/ip shield.
  5. Set Reverse SSH Tunneling at arduino tcp/ip shield.
    I am sure there are a lot of other way you could do NAT to NAT connect, but I list only common one here.

You might need dynamic DNS setup, if your ISP do not give you static one.

Go to dyndns.com and read their help and faqs. They do this kind of thing for a living and helped me get my device on the internet. They used to have free accounts that you could get, but that's gone now. You can still get to their support and such to get information. There's another free service dnsquackie that is still free and has information on what you need, but I haven't used it yet.

The key to this is to find out your externally visible ip address. You can get that by going to http://checkip.dyndns.org and looking at the page it gives back. Once you have that, you can use the address to access your house modem (cable, dsl, etc), but you'll have to go into the menus on the modem to allow access to a particular machine you have, but that differs for every modem out there. There's lots of help for this on the web, but you'll have to search for it. The last wrinkle is that the IP address you have will change over time and you have to keep checking it and doing whatever is necessary to set it back up. But, you'll learn about this stuff as you research the process.

No, I don't work for any of them.

I use the still free no-ip.com below.