Технологии Интернет во встраиваемых системах

   

А. Владимиров

Технологии Интернет во встраиваемых системах

Динамичное развитие интернета и технологий TCP/IP сделало возможным их широкое использование во встраиваемых системах. Вместо огромного набора закрытых внутрифирменных протоколов, сосуществующих во многих проектах, всё чаще разработчики выбирают широко доступные и открытые стандарты TCP/IP.

Интернет сегодня является одной из наиболее динамично развивающихся отраслей. Web-браузеры существуют практически на всех возможных платформах — под любую операционную систему, на персональных компьютерах, на портативных компьютерах, приставках, мобильных телефонах с WAP. Неудивительно, что Web-браузер становится основным элементом организации взаимодействия человека и разнообразных технических систем контроля, управления, связи, сбора и обработки данных и многих других. Вместо того, чтобы для каждого нового устройства или системы разрабатывать и отлаживать уникальные протоколы, свои отдельные интерфейсы, пульты управления, программное обеспечение, а потом обеспечивать поддержку и модификацию всего этого в течение времени жизни системы, можно воспользоваться широкодоступными и открытыми технологиями, лежащими в основе Интернета — технологиями TCP/IP.

Поддержка TCP/IP

Если устройство способно работать по TCP/IP, поддерживая хотя бы минимальное подмножество стандарта, то оно сможет работать с огромным количеством серийно выпускаемого оборудования, среди которого есть устройства практически для любых задач.

Поддержка TCP/IP в устройстве позволяет легко связывать неограниченное число самых разнородных устройств, расположенных как в рамках одной сети, так и в разных, в том числе территориально удалённых сетях, вплоть до масштабов страны и мира. Для организации каналов связи пригодны практически все существующие технологии — именно TCP/IP лежит в основе большинства современных сетей передачи данных.

Протоколы TCP/IP отлично масштабируются — от передачи единичных пакетов в несколько десятков байт на скоростях в десятки-сотни бит в секунду до пересылки гигантских объёмов информации на гигабитных скоростях. И для каждого диапазона скоростей существует большой выбор серийно выпускаемого оборудования.

Вся документация на протоколы TCP/IP доступна, отсутствует необходимость каких-либо лицензионных отчислений. Сущеcтвует большое число как свободно доступных, так и коммерческих реализаций практически под любые платформы, все современные операционные системы поддерживают TCP/IP.

Рис. 1. Структура протоколов TCP/IP

Встроенный Web-сервер

Встроенный в устройство Web-сервер, обращение к которому осуществляется через TCP/IP, позволяет резко упростить проектирование и реализацию пользовательского интерфейса — необходимые тексты, графика и управление могут быть легко реализованы и модифицированы общедоступными средствами языка HTML.

Не играет роли и тип физического соединения с устройством — RS-232, IrDA, Ethernet, радиоканал, сеть GSM, соединение через выделенную сеть или Интернет — во всех случаях пользовательский интерфейс будет выглядеть одинаково, и встроенное программное обеспечение будет работать одинаково, без каких-либо изменений.

В качестве клиентского терминала может использоваться персональный компьютер или любое другое устройство, имеющее встроенный Web-браузер, вплоть до мобильного телефона с поддержкой WAP или GPRS.

Весь пользовательский интерфейс находится в самом устройстве, на клиентских рабочих местах не требуется инсталлировать никакого специального программного обеспечения. Очень легко можно интегрировать совершенно разнородные системы, необходимые средства для этого предусмотрены в языке HTML.

Механизм гиперссылок открывает дополнительные возможности. Например, подробная документация на устройство со всеми последними изменениями может храниться на сервере поддержки производителя, а во встроенном в устройство Web-сервере будут содержаться лишь необходимые ссылки. Тем самым можно сильно экономить необходимые ресурсы устройства и обеспечить постоянное обновление информации.

Встроенный e-mail клиент

Встроенный в устройство почтовый клиент позволяет отправить письмо на нужный адрес. Эта технология может быть эффективно использована в распределённых системах сбора информации, построенных на базе TCP/IP-технологии. Встроенный в датчик e-mail клиент отправляет сообщения через находящийся в сети SMTP-сервер, откуда они доставляются адресатам в пределах сети, в другие сети или любому адресату через Интернет.

Существуют гейты, преобразующие e-mail в голосовые сообщения при помощи специальных программ и доставляющие затем это сообщение на обычный телефон или заданный список телефонов. Так устройство может сообщить что-то человеку, вообще не имеющему доступа к интернет, а имеющему только голосовой телефон.

Большинство пейджерных компаний имеет гейты для приёма e-mail и отправки на пейджер. Стандартный пейджер может оказаться самым простым и дешёвым решением для беспроводного терминала к какому-либо устройству.

Технология e-mail хорошо интегрируется с технологией коротких сообщений SMS в мобильных сетях GSM. Практически во всех GSM-сетях существуют как общедоступные, так и коммерческие гейты, осуществляющие преобразование e-mail в SMS и наоборот. Это позволяет легко и эффективно использовать технологию e-mail для связи с устройствами на мобильных объектах.

В качестве получателя e-mail также может выступать встраиваемое устройство. Устройства, находящиеся где угодно, но подключенные к общей TCP/IP-сети, могут обмениваться сообщениями друг с другом в процессе работы. Такой обмен позволяет унифицировать протоколы работы различных устройств, обеспечить маршрутизацию, обработку и архивацию сообщений широко распространёнными стандартными средствами.

Реализация TCP/IP на микроконтроллерах

Времена, когда для поддержки TCP/IP требовался как минимум персональный компьютер, пусть даже во встроенном исполнении, ушли в прошлое. Ресурсов современных дешёвых микроконтроллеров вполне хватает для того, чтобы обеспечить реализацию необходимого подмножества TCP/IP-стека. На рис. 2 изображён один из самых маленьких Web-серверов в мире — webACE, построенный на простейшем микроконтроллере ACE1101 в корпусе SSOP8. Реализация подмножества протоколов IP, ICMP, TCP и SLIP занимает примерно 250 команд, оставляя ещё половину памяти программы для программной реализации последовательного интерфейса и реализации web-сервера.

Рис. 2. WebACE

Чуть более сложный Web-сервер на PIC16F84 (рис. 3) можно найти на странице Дениса Петрова [2]. Реализация занимает примерно 400 слов памяти программы, поддерживается подмножество протоколов SLIP, TCP, HTTP. Принципиальные схемы и все исходные тексты также доступны.

Рис. 3. Web-сервер на PIC16F84

В микропотребляющих системах своё место может найти и аппаратная реализация TCP/IP-стека — микросхема S7600A фирмы Seiko [3]. Микросхема поддерживает соединение по PPP через последовательный порт, реализует IP, UDP и TCP, содержит 10 Кб встроенного ОЗУ, имеет параллельный байтовый интерфейс к управляющему микроконтроллеру, работает на тактовой частоте 256 кГц и потребляет менее 3 мВт.

Фирма Scenix, известная своими высокопроизводительными микроконтроллерами [4], свободно предоставляет достаточно полную реализацию TCP/IP-стека — SX stack [5]. Web-сервер для встроенных приложений iSX обеспечивает поддержку PPP через последовательный порт, IP/ICMP, TCP и HTTP протоколов. Почтовый клиент eSX позволяет отправить е-mail на любой SMTP-сервер, то есть на любой доступный Интернетовский адрес. Реализация UDP-протокола, часто использующаяся в системах передачи голоса (VoIP) или видео через Интернет, также свободно доступна. Оценочная плата SX Stack изображена на рис. 4.

Рис. 4. Оценочная плата SX Stack

Если требуется высокая скорость передачи данных и большая универсальность, то в качестве среды передачи очень часто используется 10BASE-T — Ethernet по витой паре. Подключение к Ethernet тоже не представляет проблемы, и для этого тоже не требуются персональные компьютеры. Та же фирма Scenix свободно предоставляет реализацию TCP/IP-стека для Ethernet на микроконтроллере SX52 [6]. Оценочная плата SX-Ethernet (рис. 5) имеет интерфейсы 10BASE-T и RS-232, поддерживает протоколы IP/ICMP, TCP, UDP, ARP, DHCP, HTTP, SMTP, содержит EEPROM для хранения web-сайта объёмом до 32 Кб и имеет 16 свободных выводов портов для подключения произвольной периферии [7]. Реализация TCP/IP-стека и работы с Ethernet занимает около 3 Кслов памяти программы и около 150 байт ОЗУ, для пользовательской программы остаётся примерно 1 Кслов памяти программы и около 100 байт ОЗУ.

Рис. 5. Оценочная плата SX-Ethernet

Если задача требует более сложной обработки, то можно использовать, например, mCsimm [8] — модуль на процессоре Motorola DragonBall размерами со стандартный 30-выводный SIMM, содержащий интерфейсы 10BASE-T, SPI, RS-232 и параллельный и возможность подключения QVGA LCD с матрицей 640х480 (рис. 6). Модуль имеет 8 Мб ОЗУ, 2 Мб флэш программы и работает под операционной системой mCLinux — клоном Linux для встроенных приложений.

Обновление и отладка

Часто перед разработчиком стоит задача — как обеспечить обновление программного обеспечения того или иного устройства. Если оно способно работать через Интернет, эта задача решается очень легко. Устройство само может периодически заходить на Web-сайт поддержки, находить нужный раздел, проверять версию находящегося там программного обеспечения и, при необходимости, автоматически обновлять свою программу или отдельные компоненты. Эта технология уже давно и широко используется различными приложениями для Windows — браузерами, почтовыми клиентами, компиляторами и многими другими программами. Функция обновления программного обеспечения может выполняться как по инициативе пользователя, так и автоматически.

Некоторые современные микроконтроллеры, например, PIC16F87x, Scenix, некоторые микроконтроллеры Motorola, имеют возможность внутрисхемной отладки в реальном времени при помощи специального недорогого эмулятора-отладчика, подключаемого к нескольким выводам микроконтроллера. Если такой эмулятор-отладчик встроен в устройство, а доступ к нему осуществляется по TCP/IP, то становится возможной не только удалённое программирование и обновление версий, но и удалённая отладка программного обеспечения. Разработчик может находиться за десятки тысяч километров от отлаживаемого устройства и осуществлять необходимые изменения прямо со своего рабочего места. Такая технология также актуальна, если находиться рядом с отлаживаемым устройством опасно или некомфортно. Эти технологии ранее считались достаточно дорогостоящими в реализации и использовались в основном в сложных системах, например, телефонных централях. Сегодня они становятся доступными и для относительно простых устройств, имеющих в том или ином виде доступ к Интернет.

Применение на производстве

В промышленных системах сбора, обработки информации и управления технологическими процессами TCP/IP давно используется на верхних уровнях обработки — в системах SCADA для связи между собой центральных компьютеров, создания систем уровня цеха, предприятия и объединения между собой удалённых филиалов. Для отображения данных о ходе техпроцесса в Интернет может использоваться работающая в реальном времени база данных (например, Industrial SQL Server от Wonderware) [9] и взаимодействующий с ней Web-сервер.

Оператор больше не должен быть привязан к рабочему месту, если в качестве терминала используется мобильный телефон, поддерживающий WAP. Cоответствующие программные средства (например, Klinkmann WAP Tool) [10] позволяют оператору формировать запросы в свободном формате (считывание и запись) между стандартным Microsoft SQL сервером или сервером от Wonderware и телефонами WAP или другими терминалами WAP. Если же в устройство встроен WAP-совместимый Web-сервер, то управлять им и получать с него данные можно непосредственно с мобильного телефона.

Сегодня технологии TCP/IP опускаются на более низкий уровень систем DCS, обеспечивая связь с отдельными микрокомпьютерами, PLC и датчиками. Вместо большого числа несовместимых, часто закрытых внутрифирменных протоколов, используемых во многих системах DCS, происходит быстрый переход к открытым протоколам TCP/IP, к единым механизмам контроля и управления на основе встроенных Web-серверов и единым механизмам обмена данными, базирующимся на e-mail. Большинство фирм, работающих в области промышленной автоматизации, начинает выпускать PLC с поддержкой этих функций, например, SoftPLC от FAMA [11].

Предприятие и его филиалы теперь не привязаны к определённому месту, возникает понятие всемирного предприятия, разбросанного по разным странам и континентам и организующего свою работу через Интернет. С переходом на единые технологии TCP/IP можно говорить о всемирной цифровой системе, объединяющей различные предприятия всего мира, о едином поле применения встраиваемых систем.

Применение в быту

Известная корейская фирма LG в июне 2000 года представила холодильник с доступом к Интернет. Холодильник имеет встроенный 15” TFT LCD дисплей с сенсорным вводом и сетевой интерфейс и позволяет получать в реальном времени цены на продукты, сроки хранения, режимы хранения и заморозки для хранимых продуктов [12].

В декабре 1999 года компания Ariston представила первую стиральную машину, подключаемую к Интернет — “Маргарита 2000” [13]. Машина имеет встроенный web-сайт, на котором владелец “Маргариты 2000” может ознакомиться с текущим состоянием машины, а также отдать все необходимые команды. Владельцы мобильных телефонов могут также управлять машиной прямо с телефона. В этой машине используется протокол WRAP (Web Ready Appliances Protocol), на базе которого компания Ariston планирует разработать целую серию бытовых устройств, имеющих возможность подключения к Сети.

В октябре 2000 стиральную машину с доступом к Интернет представила и фирма LG. При помощи встроенного программного обеспечения машина может самостоятельно связаться через Интернет с Web-сайтом поддержки, выбрать и загрузить необходимые программы для стирки [14]. Также LG вскоре планирует анонсировать микроволновую печь с доступом к Интернет и другие изделия бытовой электроники.

Телевизоры с доступом к Интернет тоже доступны уже сегодня. В начале этого года американская компания NetTV продемонстрировала телевизор нового поколения, способный вести цифровую запись видео, воспроизводить DVD-фильмы и CD аудиодиски и встроенный кабельный модем для доступа к Интернет и просмотра телевизионных каналов, вещающих в on-line [15].

Возможно, пока эта статья готовилась к печати, уже появились кофемолки и чайники с доступом к интернет. В ближайшие годы нас ожидает большой бум в области устройств бытовой техники, имеющих доступ к интернет. Они будут объединяться в домашнюю локальную сеть, построенную по технологии TCP/IP, и при помощи комбинации различных проводных и беспроводных (Bluetooth, в первую очередь) технологий соединяться с глобальной сетью Интернет.

Типовые ограничения

При выборе возможного варианта готового TCP/IP-стека для встроенного приложения следует обратить внимание на ограничения той или иной реализации.

Самые простые реализации обеспечивают установление соединения только по протоколу SLIP, не поддерживая более широко распространённый и современный протокол PPP. Если устройство должно самостоятельно устанавливать связь с Интернет по телефону через какого-либо провайдера, оно должно поддерживать протокол PPP. Если же устройства будут работать только с локальным сервером, входящим в систему, можно обойтись SLIP.

Простейшие реализации web-серверов могут не поддерживать в должном объёме протокол HTTP — выбор страниц будет осуществляться выбором номера порта, а не указанием полного пути к странице. Такие web-серверы лучше всего подходят для простейших применений, где вся информация находится на одной странице.

В несложных web-серверах обычно не поддерживается обработка TCP-пакетов, пришедших не по порядку. Такие пакеты просто отбрасываются сервером и будут автоматически перепосланы браузером с другой стороны через какое-то время. Это может быть критично в ситуации, когда между сервером и браузером существует ненадёжный канал с потерями пакетов, а задержка доступа к серверу недопустима.

Многие несложные реализации TCP/IP имеют ограничение на число одновременно обрабатываемых соединений. Типовой браузер на персональном компьютере обычно может одновременно открыть 4–8 соединений, например, текст и 3 картинки с web-сайта будут передаваться одновременно. Если реализация TCP/IP в устройстве может поддерживать лишь 1–2 одновременных соединения, то при обращении к такому устройству из браузера будет наблюдаться некоторое торможение, пока все элементы web-сайта в устройстве не будут переданы. Это следует учитывать при разработке встроенного web-сайта и не перегружать его большим числом отдельных элементов.

Немного о безопасности

Описанные технологии открывают безграничные возможности создания встраиваемых систем нового поколения, работающих по технологии TCP/IP. Однако, при практической реализации следует тщательно продумывать вопросы их безопасности. Кратко рассмотрим основные принципы построения безопасных систем.

Любой не контролируемый полностью, от начала и до конца, канал связи следует рассматривать как открытый. При передаче любых критичных данных по открытому каналу связи следует учитывать возможности перехвата, подмены и потери сообщения. Для исключения перехвата используется шифрование, для исключения подмены используется проверка подлинности и целостности сообщения.

Возможность потери отдельных сообщений и выхода из строя отдельных каналов связи должна быть предусмотрена на этапе проектирования системы. Должны быть использованы механизмы перепосылки сообщений и резервирования каналов связи. В рамках сетей на базе TCP/IP оба механизма могут быть организованы стандартными средствами.

Шифрование основывается на криптографических алгоритмах, обычно представляющих собой две связанные математические функции — одну для шифрования, другую для дешифрирования. Если безопасность алгоритма основана на сохранении его в тайне, то это ограниченный алгоритм. На сегодня такие алгоритмы представляют лишь исторический интерес, поскольку они не могут быть использованы изменяющимися по составу группами пользователей, а также не допускают качественного контроля и стандартизации.

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

Алгоритмы с открытыми ключами (асимметричные алгоритмы) разработаны таким образом, что ключ шифрования отличается от ключа дешифрирования, и ключ дешифрирования не может быть рассчитан по ключу шифрования. Ключ шифрования в таких системах может быть открытым — кто угодно может зашифровать сообщение с этим ключом, но только адресат сможет его расшифровать. Использование именно таких алгоритмов наиболее эффективно в системах с передачей данных по открытым каналам, в том числе через Интернет.

Отличное практическое руководство по криптографии — книга Брюса Шнайера “Прикладная криптография” [16], недавно переведённая на русский язык [17]. Эта книга сочетает в себе живое введение в криптографию и достаточно полный справочник с исходными текстами и описаниями алгоритмов. Книга предоставляет необходимые инструменты для защиты информации, передаваемой по открытым каналам.

Подводя итоги

Уже сегодня разработчикам доступны все средства и технологии, необходимые для перехода на TCP/IP во встраиваемых системах. Использование технологии TCP/IP не требует больших аппаратных и программных затрат, но открывает безграничные возможности по расширению, взаимодействию и унификации решений в самых разных областях техники. Ежедневно появляется огромное число новых продуктов, основанных на технологии TCP/IP, большинство ведущих мировых фирм в области электроники уже выпускают широкую номенклатуру устройств, позволяющих иметь доступ к ним через Интернет. Без сомнения, в области встраиваемых систем технология TCP/IP будет доминировать уже в ближайшем будущем.

Литература

  • Internet RFC/STD/FYI/BCP Archives. .
  • ~zhengxi/wwwpic/source.htm.
  • .
  • Владимиров А. Виртуальная периферия становится реальностью // Инженерная микроэлектроника. — 1998. — № 2. — С. 24–25. ().
  • .
  • .
  • .
  • .
  • Products/mmi/insql.htm.
  • Решения для GSM и мобильного доступа в интернет. .
  • .
  • Introducing Internet Digital DIOS Refrigerator, Jun. 21, 2000. ().
  • .
  • LGE Introduces Internet LG Turbodrum Washing Machine, Oct.12, 2000. ().
  • MGI Software NetTV Demonstrate Personalized Digital Entertainment System. .
  • Applied Cryptography. Second Edition. By Bruce Schneier. ().
  • Брюс Шнайер. Прикладная криптография: Пер. — 2-е издание. ().

    E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript






  • Рекомендуемый контент




    Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.