");
// Добавить формы для управления
// дополнительными устройствами
sentHeader = true;
}
if (с=='\n' && currentLineisBlank) break;
if (с=='\n')
{
currentLineisBlank=true;
}
else if (с ! = '\r')
{
currentLineisBlank=false;
}
}
}
// Дать время веб-браузеру на получение данных
delay(5);
client.stop(); // Закрыть соединение
}
}
Приведенная программа выполняет все функции, описанные в предыдущих разделах. Измените MAC-адрес на значение, указанное на этикетке вашего Ethemet-адаптера. Если вы не найдете этот адрес, возьмите значение из листинга 14.2. Загрузите программу на плату Arduino и запустите монитор последовательного порта.
Убедитесь, что плата Arduino подключена к сети и в маршрутизаторе включен
DHCP. Через несколько секунд в мониторе последовательного порта появится сообщение о назначенном IP-адресе (рис. 14.4).
В случае, показанном на рис. 14.4, Arduino был назначен локальный IP-адрес 192.168.0.9. В вашей сети почти наверняка будет другой адрес. Зная IP-адрес, можно использовать его для доступа к веб-интерфейсу.
- 313 -
Рис. 14.4. Вывод в последовательный порт полученного по DHCP IP-адреса
14.3. Управление платой Arduino по сети
Теперь, когда код сервера работает, и ваша плата Arduino подключена к сети с действительным IP-адресом, вы можете с помощью браузера получить к ней доступ и осуществлять управление. Сначала сделаем это по локальной сети, а затем воспользуемся переадресацией портов на вашем роутере для доступа к плате Arduino из внешней сети.
14.3.1. Управление платой Arduino по локальной сети
Чтобы убедиться, что веб-интерфейс работает должным образом, проверьте, что ваш компьютер подключен к той же сети, что и плата Arduino (через Wi-Fi или Ethemet). Откройте ваш браузер и введите в адресную строку IP-адрес из предыдущего раздела. В результате должна открыться HTML-страница, созданная ранее.
Попробуйте нажать кнопки для включения/выключения цветов RGB-светодиода.
Переместите ползунок и нажмите кнопку установки частоты динамика. Плата Arduino должна отреагировать на ваши действия. Если открыть монитор последовательного порта Arduino IDE, вы увидите вывод в него отладочной информации.
Обратите внимание, что переменные передаются на сервер Arduino методом GET через адресную строку браузера (рис. 14.5).
Если управление платой Arduino по локальной сети проходит успешно, можно перейти к следующему разделу, чтобы управлять платой Arduino из любой точки мира.
- 314 -
Рис. 14.5. Управление платой Arduino через веб-интерфейс и вывод отладочной информации в последовательный порт
ПРИМЕЧАНИЕ
Видеоурок, демонстрирующий управление платой Arduino по локальной сети, можно посмотреть на странице http://www.exploringarduino.com/content/ch14. Этот видеофайл доступен также на сайте издательства Wiley.
14.3.2. Организация доступа к плате Arduino из внешней сети
В предыдущем разделе мы научились управлять платой 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. Попробуйте ввести этот адрес в адресную строку браузера, чтобы увидеть окно входа в систему. Введите учетные данные для входа к странице администрирования маршрутизатора ( это не данные для беспроводного соединения). Если вы никогда не меняли значения, заданные по умолчанию, то можете найти их в руководстве по настройке маршрутизатора.
Читать дальше