Go Down

Topic: getting to internet (Read 276 times) previous topic - next topic

TimCro

Hi All

So I have my Arduino ethernet project up and running fine at my house. It is plugged into my router and successfully uses DHCP and displays the web page correctly. However, the server does not show up on the real internet. I don't know if the router is blocking it or if this is something else I have to set up.

Any have any ideas on what I have to do to make this work?

Thanks!

wildbill

Generally, you have to configure your router to direct incoming traffic (probably on port 80) to your Arduino. How exactly varies by router manufacturer but if you point your browser at your router you'll likely get a login page for administration.

You will probably need to drop DHCP and give your Arduino a static IP address on your home network.

Poking such a hole in your firewall does have risks, but of course with an Arduino acting as a web server, there's little chance of it being hacked.

steve_mcdonald

Your Arduino registers with the router and the router assigns the internal IP Address by DHCP.  Clients outside the router (in the public space) cannot see the internal IP Address but only the public address of your router (the public address is the IP Address that your router is reached or known by to the outside web world).  So, to hit the Arduino, the router has to accept the call from the outside and direct it internally to your Arduino.  That's a process people refer to as Port Forwarding and Network Address Translation (NAT). 

On your router there will be a feature that allows you to set up Port Forwarding.  How to do that is different between routers and you will have to find out how to use the feature on your router.  In general, you will need to make an association between your Arduino internal IP Address including the port it responds on, and the port of the external address that your router is known by.  By default, client requests will come to your router from outside on port 80.  Your Arduino might have an internal address of 192.168.1.32 and it probably responds on port 80.  You will set up forwarding from external port 80 to internal 192.168.1.32:80 for TCP and UDP (transfer protocols - not important right now). 

That's great for now, and will all work, but, as noted by WildBill, you should set the Arduino to always use the same internal address because if you don't it could get issued a different IP address by DHCP next time and your port forwarding will fail.  There are several ways to do that, but if your router allows it, use a feature like "always use this address" in the config of the Arduino on the router device page.

TimCro

OK Thanks you guys. I will try it asap. Maybe tonight!!

TimCro

I did the port forwarding and it appears to be working now. I can view my web page on my phone with the wifi turned off.

Thanks again!!

TimCro

Now I just need someone to explain how to use a DNS server! :)

Any good reading anywhere?


Tim

Go Up