Если этот IP-адрес не работает, придется назначить его вручную. В Windows можно вызвать командную строку и ввести в нее команду ipconfig. Используйте адреса шлюза по умолчанию для активного сетевого подключения. В ОС Mac выберите в меню Системные настройки пункт Сеть, нажмите кнопку Дополнительно, перейдите на вкладку TCP/IP и используйте значение адреса маршрутизатора. Если вы находитесь в Linux, откройте терминал, наберите route -n и задайте в качестве адреса маршрутизатора последний Gateway, отличный от нуля.
Резервирование IP-адреса для Arduino в DHCP
После того как вы окажетесь в консоли администратора маршрутизатора, необходимо зарезервировать адрес DHCP. При этом гарантируется, что каждый раз при подключении к маршрутизатору устройства с определенным MAC-адресом ему будет присвоен одинаковый локальный IP-адрес. При резервировании IP-адреса DHCP никогда не отдаст этот адрес клиентам с MAC-адресом, отличным от указанного, даже если клиент с зарезервированным адресом в настоящее время не подключен к маршрутизатору. Резервируя в DHCP IP-адрес платы Arduino, вы всегда будете иметь возможность направить трафик к нему на следующем шаге.
- 316 -
Как только вы найдете эту опцию, зарезервируйте текущий IP-адрес платы Arduino, назначив ее MAC-адрес, установленный в предыдущей программе. Для применения настройки необходима перезагрузка маршрутизатора. Убедитесь в правильности настройки, перезагрузив маршрутизатор и посмотрев, что Arduino получает тот же IP-адрес после восстановления.
ПРИМЕЧАНИЕ
Аналогичного эффекта можно добиться, назначив плате Arduino статический IP (не используя DHCP) в программе. Узнать, как это сделать, вы можете на странице
http://arduino.cc/en/Reference/EthernetlPAddress.
Перенаправление порта 80 на плату Arduino
Теперь, когда у вас есть неизменный локальный IP-адрес для платы Arduino, необходимо перенаправить входящий интернет-трафик на внутренний IP-адрес. Port
Forwarding- это прослушивание трафика на определенном порту маршрутизатора и перенаправление его на определенный внутренний IP-адрес. Порт 80 по умолчанию предназначен для НТТР-связи. Найдите пункт Port Forwarding в панели администрирования маршрутизатора и назначьте перенаправление внешнего порта 80 на внутренний порт 80, на IP-адрес вашей платы Arduino. Если маршрутизатор определяет диапазон для портов, просто выберите опцию 80-80. Теперь весь трафик к маршрутизатору через порт 80 будет идти на вашу плату Arduino.
Обновление динамического DNS
Последний шаг - получение доступа к маршрутизатору из сети Интернет. Возможно, у вас задан статический глобальный IP-адрес. Это бывает довольно редко для домашних интернет-соединений, но все же иногда встречается. Если вы знаете статический IP, то можете получить доступ к этому IP-адресу из любой точки мира и направить трафик на плату Arduino. Можно даже приобрести доменное имя и настроить серверы DNS на ваш IP-адрес.
Но может оказаться, что у вас динамический глобальный IP-адрес. Провайдер, скорее всего, меняет ваш IP-адрес один раз в несколько дней или недель. Таким образом, даже если удастся выяснить ваш глобальный IP-адрес на сегодняшний день и получить доступ к Arduino через этот IP-адрес, он может перестать работать завтра.
Способ решения этой проблемы - использование динамических служб IP. Эти службы запускают небольшую программу на маршрутизаторе, которая периодически проверяет ваш глобальный IP-адрес и сообщает его на удаленный веб-сервер.
Веб-сервер обновляет ваш поддомен (например, myarduino.dyndns.org), и вы всегда попадаете на глобальный IP-адрес маршрутизатора, даже если он изменяется.
DynDNS - это сервис, программное обеспечение которого встроено в большинство современных маршрутизаторов. Поищите на странице администрирования маршрутизатора, какой сервис DynDNS он поддерживает. Некоторые из них бесплатны, некоторые взимают ежегодную плату. Вы можете следовать инструкциям по установке в панели администрирования маршрутизатора, чтобы создать учетную запись с одной из этих служб и подключить его к маршрутизатору. В итоге вы сможете получить доступ к Arduino удаленно, даже с динамически меняющимся
- 317 -
глобальным IP-адресом. Если ваш маршрутизатор не поддерживает услуги DynDNS, имейте в виду, что некоторые сервисы предлагают услуги DynDNS клиентам, которые будут работать на компьютерах в вашей сети, а не на маршрутизаторе.
Как только будет определен ваш публичный IP-адрес (или динамически обновляемый URL ), его можно указать в вашем браузере и подключение к Arduino должно заработать. Дайте этот адрес другу, чтобы проверить функционирование удаленно.
Читать дальше