Выбрать главу

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 должно заработать. Дайте этот адрес другу, чтобы проверить функционирование удаленно.

14.4. Отправка данных в реальном времени в графические сервисы

В предыдущем разделе вы узнали, как превратить плату Arduino в веб-сервер, который предоставляет интерфейс для управления контактами платы по локальной сети или через Интернет. Существует еще одна распространенная причина для подключения Arduino к Интернету - создание сети датчиков. Поскольку датчики обычно только передают информацию, а не принимают команды, Arduino будет инициализировать запрос к известному ресурсу в Интернете (через онлайн-сервис графиков) и вам не придется заботиться о переадресации IP-адресов, резервировании IP-адреса и т. п.

В этом разделе используется веб-ресурс Xively (ранее Cosm) для создания графиков данных, получаемых с платы Arduino.

14.4.1. Создание потока данных на Xively

В рассматриваемом примере мы с помощью веб-сервиса Xively через Интернет будем строить графики данных, получаемых платой Arduino от датчиков. При подключении к сайту Xively вы будете освобождены от большей части нетворческой работы, которую приходится делать для отображения данных в Интернете.

Создание учетной записи Xively

Для начала, посетите страницу http://www.xively.com и создайте бесплатный аккаунт. Перейдите по ссылке, содержащейся в электронном письме с подтверждением, и вы сможете войти на сайт.

Создание потока данных

Как только аккаунт будет создан, нажмите кнопку Develop в верхней части страницы, чтобы создать канал. Затем нажмите кнопку Add Device. В окне (рис. 14.6) вам будет предложено назвать свой канал и добавить его описание. Вы также можете сделать ваш канал публичным или приватным.

После ввода необходимых данных нажмите кнопку Add Device. Появится страница с сообщением о созданном новом потоке. Оставьте страницу открытой, т. к.