Изучаем Arduino: инструметы и методы технического волшебства - [80]
Попробуйте нажать кнопки для включения/выключения цветов RGB-светодиода.
Переместите ползунок и нажмите кнопку установки частоты динамика. Плата Arduino должна отреагировать на ваши действия. Если открыть монитор последовательного порта Arduino IDE, вы увидите вывод в него отладочной информации.
Обратите внимание, что переменные передаются на сервер Arduino методом GET через адресную строку браузера (рис. 14.5).
Если управление платой Arduino по локальной сети проходит успешно, можно перейти к следующему разделу, чтобы управлять платой Arduino из любой точки мира.
- 314 -
Рис. 14.5. Управление платой Arduino через веб-интерфейс и вывод отладочной информации в последовательный порт
ПРИМЕЧАНИЕ
Видеоурок, демонстрирующий управление платой Arduino по локальной сети, можно посмотреть на странице http://www.exploringarduino.com/content/ch14. Этот видеофайл доступен также на сайте издательства Wiley.
В предыдущем разделе мы научились управлять платой Arduino из любой точки локальной сети, поскольку IP-адрес платы находился за маршрутизатором. Если требуется связать плату Arduino с компьютерами за пределами вашей локальной сети, следует воспользоваться передовыми технологиями, позволяющими получить доступ к устройству через ваш маршрутизатор из внешней сети.
- 315 -
Чтобы сделать это, нужно осуществить три действия:
1. Зарезервировать локальный адрес DHCP, используемый платой Arduino.
2. Перенаправить внешний порт на маршрутизаторе к внутреннему порту платы Arduino.
3. Подключить маршрутизатор к службе DNS.
ВНИМАНИЕ!
Последовательность действий зависит от типа маршрутизатора. Я буду опускать подробности, т. к. предполагаю наличие у вас некоторых знаний по администрированию маршрутизатора. Подробные указания для конкретного маршрутизатора можно отыскать в Интернете. Если это ваш первый опыт администрирования маршрутизатора, то можно нарушить настройки домашней сети. Некоторые маршрутизаторы даже не поддерживают все функции, необходимые для включения переадресации портов и динамического обновления DNS. Если вы совсем не знакомы с сетевым администрированием, ограничьтесь доступом к плате Arduino из локальной сети.
Сначала необходимо войти в панель администрирования маршрутизатора. URL-адресом панели администрирования является IP-адрес шлюза для вашей сети. Почти во всех конфигурациях домашних сетей это первые три значения локального IP-адреса платы Arduino, разделенные точками и дополненные единицей. Если, например, IP-адрес вашей платы Arduino равен 192.168.0.9, то ваш адрес шлюза, скорее всего (но не обязательно), будет 192.168.0.1. Попробуйте ввести этот адрес в адресную строку браузера, чтобы увидеть окно входа в систему. Введите учетные данные для входа к странице администрирования маршрутизатора ( это не данные для беспроводного соединения). Если вы никогда не меняли значения, заданные по умолчанию, то можете найти их в руководстве по настройке маршрутизатора.
Если этот 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.