HTML
HTML, или язык гипертекстовой разметки, является языком разметки документов в Интернете. Для отображения веб-страницы с вашего Arduino напишем простой HTML-документ, который создает кнопки и ползунки для отправки данных.
НТТР
НТТР, или протокол передачи гипертекста, определяет протокол для связи через World Wide Web (Всемирную паутину) и используется в браузерах. НТТР задает информацию заголовка, которая передается в виде части сообщения. Этот заголовок определяет, какая веб-страница будет отображаться и подтверждает успешное получение данных.
GET/POST
GET и POST определяют два способа передачи информации на удаленный вебсервер. Если вам встретится URL, который выглядит как www.jeremyblum.com/?s = arduino, то это запрос GET. GET определяет ряд переменных, следующих за вопросительным знаком в URL. В данном случае передается переменная s со значением arduino. Когда страница получает этот URL, он идентифицирует переменную s, выполняет поиск и возвращает страницу результатов. POST очень похож, но информация не видна непосредственно в URL. Вместо этого, данные передаются в фоновом режиме. POST обычно используется, чтобы скрыть конфиденциальную информацию.
DHCP
DHCP, или протокол динамической конфигурации узла, подключает устройства к локальной сети за один шаг. Чаще всего при подключении к Wi-Fi или проводной сети у вас на устройстве не установлен вручную IP-адрес, по которому маршру
- 305 -
тизатор может подключаться к вам. Как же маршрутизатор отправляет пакеты на сетевое устройство? При подключении к сети маршрутизатор инициирует запрос DHCP, что позволяет маршрутизатору динамически назначать вам доступный IP-адрес. В результате настройка сети оказывается гораздо проще, потому что не нужно заботиться о конфигурации сети для подключения к ней. Однако программа для Arduino усложняется, потому что следует выяснить, какой IP-адрес был присвоен.
DNS
Аббревиатура DNS расшифровывается как Domain Name System ( система домеых имен). Каждый веб-сайт, который расположен на сервере в сети Интернет, имеет уникальный IP-адрес. При вводе в www.google.com DNS-сервер смотрит на список, который информирует его о IP-адресе, связанном с этим URL. Затем он передает IP-адрес обратно в браузер вашего компьютера, чтобы браузер мог общаться с сервером Google. DNS позволяет вводить понятные имена вместо запоминания IP-адреса всех ваших любимых веб-сайтов. Можно образно сравнить DNS для вебсайтов со списком контактов в телефоне для телефонных номеров.
Клиенты и серверы
В этой главе вы узнаете, как использовать Arduino с платой расширения Ethernet shield в качестве сервера и клиента. Все устройства, подключенные к Интернету, выступают в роли сервера или клиента (хотя на самом деле часто исполняют обе роли). Сервер выдает информацию по запросу от запрашивающего компьютера, поступающему по сети. Это может быть запрос веб-страницы, данных из информационной базы, электронной почты и многого другого. Клиент - это устройство, которое запрашивает данные и получает ответ. При подключении компьютера к Интернету веб-браузер вашего компьютера выступает в качестве клиента.
Подключение к сети платы Arduino
Для всех примеров, приведенных в этой главе, необходимо использовать плату Arduino в паре с фирменным Ethernet-адаптером. Есть несколько версий этого адаптера, наши примеры протестированы на самой последней версии с контроллером WIZnet Ethernet. На более старых адаптерах установлен другой чип, что не гарантирует работу описанных примеров. Для экспериментов вы можете также взять плату Arduino Ethernet, которая содержит встроенный интерфейс Ethernet.
СоветЯ рекомендую использовать внешний Ethernet-адаптер, т. к. он работает устойчивее, чем плата Arduino Ethernet со встроенным интерфейсом.
Прикрепите Ethernet-адаптер к вашей плате Arduino и подключите порт Ethernet адаптера к свободному порту Ethernet на вашем домашнем маршрутизаторе с помощью кабеля Ethernet. Подойдет обычный Ethernet-кабель типа "crossover". Соедините плату Arduino кабелем USB с вашим компьютером для программирования.
- 306 -
Если маршрутизатор находится далеко от компьютера, используемого для программирования, сначала запрограммируйте плату, а затем подключайте ее к маршрутизатору. Тем не менее, в некоторых примерах потребуется вывод информации, необходимой для отладки, в монитор последовательного порта. Чтобы не быть привязанным к компьютеру, можно подключить ЖК-дисплей для отображения IP-адреса, который в рассмотренных примерах выводится в последовательный терминал. Здесь пригодятся сведения из главы 10.
Читать дальше