ISSN2221-2574
Системы, сети и устройства телекоммуникаций
УДК 004.738.5
Организация взаимодействия с web-сервером на основе аппаратной платформы Arduino с помощью протокола WebSocket
Чипига А.Ф., Воронкин Р.А., Демченко Д.Ю.
Рассматриваются вопросы организации взаимодействия с web-сервером на основе аппаратной платформы Arduino с помощью протокола WebSocket спецификации HTML5.
Ключевые слова: web-технологии, HTML, HTTP.
На сегодняшний день web-технологии - это одно из самых перспективных направлений в развитии компьютерных сетей. Но некоторые из существующих стандартов уже не удовлетворяют возрастающих желаний пользователей и программистов, но все еще используются ими по причине их массовости и несовершенства альтернативных вариантов. Таковыми являются спецификация языка гипертекстовой разметки HTML 4.01 [1], используемого уже более 11 лет, и протокола прикладного уровня передачи данных (включая гипертекстовые документы) - HTTP.
На данный момент находится в разработке спецификация под названием HTML5, которая включает в себя не только обновленный язык гипертекстовой разметки, но и новые технологии, в том числе и WebSocket -протокол полнодуплексной двунаправленной связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени, которым в будущем планируется заменить решения на основе технологий Comet и AJAX [2].
Появление таких технологий открывает возможность говорить о более простой и менее трудоемкой реализации проектов из серии «Умный дом» путем использования web-технологий и аппаратных вычислительных платформ, к числу которых и принадлежит Arduino. Построение подобных систем с использованием уже устоявшихся стандартов web-программирования не позволяет достичь таких результатов, которые могут быть достигнуты с применением спецификации HTML5. Она предполагает более быстрый и
двусторонний обмен информацией между клиентом и сервером за счет единичного установления соединения, что позволяет в несколько раз сократить объем передаваемого кода (трафика) и количество времени на получение/отправку полезной информации [2].
В качестве аппаратной вычислительной платформы выступает плата Arduino, функциональность которой может быть расширена с помощью дополнительных плат, так называемых шилдов. Достаточным условием для построения web-сервера на основе платформы Arduino является наличие Arduino Ethernet shield. Помимо этой платы к Arduino может быть подключено по протоколам SPI, TWI и OneWire несколько дополнительных датчиков (рис. 1), таких как: цифровые и аналоговые термодатчики, гироскопы, акселерометры, датчики Холла и т. д. [3].
Arduino-сервер предполагает установление соединения с клиентом - процесс квитирования по протоколу WebSocket, а также отправку клиенту полезной информации, например, показаний датчиков. Обмен сообщениями между сервером и клиентом происходит по установленным в спецификации правилам - вся информация представляется побайтно и в кодировке UTF-8.
Также обязательным условием взаимодействия клиента и Arduino-сервера является доступ пользователя к web-странице, код которой выдает полученную от сервера информацию в удобочитаемом виде. Данную работу на клиентской стороне выполняет код, написанный на языке JavaScript, содержащий определенные объекты и методы, описанные в спецификации HTML5 [4].
Системы, сети и устройства телекоммуникаций
ISSN 2221-2574
Клиент
Arduino-сервер
Датчик 1 H
I /Датчик Ï
Arduínc Ethernet shield
Д*тчниК
Рис. 1. Обмен информацией по сети Интернет между web-сервером на основе АМшпо
и машиной клиента
Таким образом, применение WebSocket дает возможность облегчить процесс интеграции web-технологий в программируемые аппаратные вычислительные платформы, такие как АМшпо. Кроме того, применение WebSocket в данном случае, дает большие преимущества в виде снижения нагрузки на серверное оборудование, что критически важно из-за ограниченности ресурсов аппаратных платформ, уменьшения объема передаваемого по сети трафика и уменьшения
объема исполняемого кода, как на серверной стороне, так и на клиентской.
Литература
1. http://www.w3 .org/TR/1999/REC-html401 -19991224/
2. Лабберс П., Олберс Б., Салим Ф. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений: Пер. с англ. - М. : ООО «И. Д. Вильямс», 2011.
3. Michael Margolis. Arduino CookBook. -Sebastopol, CA: O'Reilly Media, 2011.
4. http://www.w3.org/TR/websockets/
Поступила 15 февраля 2012 г.
The problems of interaction with the web-server based on the Arduino hardware platform using the protocol specification WebSocket HTML5.
Key words: web-technology, HTML, HTTP.
Чипига Александр Федорович - к.т.н., профессор, директор института информационных технологий и телекоммуникаций Северо-Кавказского федерального университета.
Воронкин Роман Александрович - к.т.н., доцент, доцент кафедры информационной безопасности автоматизированных систем института информационных технологий и телекоммуникаций Северо-Кавказского федерального университета.
Демченко Денис Юрьевич - студент кафедры информационной безопасности автоматизированных систем института информационных технологий и телекоммуникаций СевероКавказского федерального университета. E-mail: [email protected].