I have been able to set up my WiFi Shield Web Server and access it from my computer and Android phone by going to the IP address in my web browser. My next step in the project I am doing it to be able to access the web server from a separate network.
I believe the way to do that is with a DDNS. My question is how to set one up. Does anyone have experience with this and can point me in the right direction? Any help is appreciated.
The first thing you will need to do is access your router and change some settings.. You can add DDNS later afterwards..
Assuming you have a static ip for your arduino? You can use DHCP but if it ever gets a different IP then it will break. Lets just say your arduino IP address is 192.168.1.100.. you are accessing that from your internal network using port 80.. Unless you specify a port it defaults to port 80.. You need to forward that ip address in your router settings so you can see it from the outside world..
I suggest going to port forwarding settings and entering your IP address of your arduino and port 80 as default internal port.. For the outside port I suggest something other then port 80, just to help keep it anonymous, and also because some providers do not allow the use of port 80.. make it 8085, or 9090, or something like that.. Once you apply those settings you should be able to see the arduino from the outside world by entering the outside ip address followed by a colon and the port you chose..
I'm tired and I'm probably explaining it poorly but what your doing is redirecting traffic from outside to your internal network and specifically the arduino using port 80..
Say you used port 8080 your web request and your outside address is 123.456.789 your request would like like this... http://123.456.789:8080
Once you have that working you can try and incorporate DDNS so you can find your ip address even if it your provider changes it.. I use http://freedns.afraid.org/.. It's free or very cheap if you make a donation.. There are others as well, sure everyone has their favorite.. you need to either run a script on a computer on a regular basis to update their records or you can set your router to do it all by itself.. Totally depends on what your router is..