Управление встраиваемым Wi-Fi-модулем WIZ610wi компании Wiznet
Введение
Высокоскоростные технологии беспроводной передачи данных позволяют пользователю быть всегда на связи независимо от местоположения и времени. Данная возможность становится еще более актуальной для программно-аппаратного оборудования, входящего в состав различных систем автоматизации. В последнее время намечается тенденция к использованию малогабаритных приемопередатчиков Wi-Fi в области телеметрии и охраны объектов, например для защищенной передачи и оперативного анализа данных с контролируемого объекта, а также для получения доступа к удаленным узлам посредством сети Интернет.
Cтандарт Wi-Fi нацелен «на обеспечение взаимодействия оборудования разных производителей» [1]. Его открытость дает возможность пользователям, применяющим разные платформы, работать в одной и той же беспроводной локальной сети, что является довольно существенным фактором для беспроводных локальных сетей общего доступа. Основным преимуществом технологии Wi-Fi перед другими стандартами беспроводного обмена данными (Bluetooth, ZigBee, nanoLOC) является возможность организации высокоскоростных сетей. Начиная с 1977 г. скорость передачи данных в канале Wi-Fi выросла с 1-2 до 54 Мбит/с.
Технологии стандарта Wi-Fi постоянно развиваются, улучшаются характеристики оборудования, уменьшается стоимость приемопередатчиков. При построении системы на базе модуля WIZ610wi появляется возможность стандартного сопряжения с персональным компьютером (ПК) или другим мобильным Wi-Fi-устройством (карманный ПК, коммуникатор, мобильный телефон).
Характеристики WIZ610wi
Модуль беспроводной передачи данных WIZ610wi [2] (рис. 1) предназначен для работы под управлением микропроцессорного ядра системы. Для связи с ядром модуль имеет два интерфейса. Первый — универсальный асинхронный приемопередатчик (UART), который используется для относительно медленных приложений со скоростью обмена данными до 115 кбит/с. Данный интерфейс имеется практически во всех современных микроконтроллерах, поэтому оснащение системы беспроводным интерфейсом Wi-Fi с помощью модуля WIZ610wi удобно и не представляет технических сложностей (рис. 2а).
Второй интерфейс является высокоскоростным и предназначен для соединения с FastEthernet-устройством. Интерфейс MII (Media Independent Interface — не зависящий от среды передачи интерфейс) модуля WIZ610wi позволяет достигать пропускной способности 25 Мбит/с при скорости передачи данных в канале 54 Мбит/с (рис. 2б). В настоящее время существует ряд микроконтроллеров с интерфейсом MII и встроенным TCP/IP-стеком. В случае отсутствия встроенного интерфейса MII у ядра системы возможно применение специальных преобразователей, например W5300 компании Wiznet, подключаемых по интерфейсу доступа к внешней памяти [3].
Основные технические характеристики модуля WIZ610wi приведены в таблице.
Модуль | WIZ610wi |
Стандарты передачи данных | IEEE 802.11b/g (Wi-Fi) |
Частотный диапазон, МГц | 2412–2483 |
Максимальная выходная мощность, дБм/мВт | 16/40 (802.11b), 14/25 (802.11g) |
Чувствительность приемника, дБм | –65 (802.11b), –76 (802.11g) |
Способ управления настройками | команды UART/веб-интерфейс |
Рабочий температурный диапазон, °С | –5…+55 |
Относительная влажность, % | 10…90 |
Напряжение питания, В | 3,3 |
Максимальный ток потребления, мА | 470 |
Размеры, мм | 39×32×4,7 |
Вес, г | 8 |
Следует обратить внимание, что рабочий температурный диапазон устройства предусматривает его использование преимущественно внутри помещений. Модуль имеет два разъема: двухрядный 36-контактный НЧ-разъем с шагом 1,27 мм для подключения к базовой плате и миниатюрный антенный ВЧ-разъем U.FL размером 3×3 мм. Небольшие габариты модуля позволят разработчику создать систему с беспроводным интерфейсом Wi-Fi в компактном исполнении.
Режимы работы и настройка модуля WIZ610wi
Модуль поддерживает три режима работы: 1 — точка доступа (Access Point); 2 — шлюз (Gateway); 3 — клиент (Client). В первом режиме (рис. 3а) модуль обеспечивает беспроводное соединение для клиентских устройств. Клиент может обмениваться данными с любыми другими клиентами, находящимися в одной подсети, определяемой модулем WIZ610wi. Во втором случае (рис. 3б) модуль работает как точка доступа, но в то же время обеспечивает соединение в режиме шлюза, в котором допустим обмен данными между различными подсетями. В режиме клиента (рис. 3в) модуль WIZ610wi может присоединяться к существующей точке доступа и обмениваться данными с другими клиентами.
Управление настройками модуля WIZ610wi может быть выполнено тремя способами:
- специальными командами по последовательному интерфейсу UART;
- при помощи веб-интерфейса по проводному каналу Ethernet с персонального компьютера (потребуется преобразователь физического уровня для сопряжения с ПК);
- по беспроводному каналу Wi-Fi, используя веб-интерфейс.
Производитель поставляет специальную плату (рис. 4) для удобства ознакомления и тестирования модулей WIZ610wi. На плате имеется микросхема физического интерфейса Ethernet и разъем RJ45 для подключения сетевого кабеля. Также предусмотрено подключение платы к COM-порту ПК, для этого на плате предусмотрен преобразователь уровней MAX232. «Переключатель» служит для включения последовательного порта в режим передачи данных или в режим команд (контакт 4 на разъеме модуля WIZ610wi). Кнопка «Сброс» служит для сброса настроек модуля Wi-Fi в начальное состояние, заданное производителем (контакт 17 на разъеме модуля). Выключение питания не приводит к сбросу настроек. В отладочный комплект входит также модуль WIZ610wi, антенна, блок питания от сети 220 В, интерфейсные кабели и диск с описанием.
При подаче питания на отладочной плате загорается светодиод красного цвета («Индикатор» на рис. 4) и начинается выполнение внутренней инициализации Wi-Fi-модуля. Этот процесс занимает примерно 40 с, что обусловлено особенностями архитектуры ядра модуля, управляющее программное обеспечение которого построено на ОС Linux. О готовности к работе сигнализирует светодиод зеленого цвета («Связь» на рис. 4, контакт 15 на разъеме модуля).
В качестве проверочного теста на работоспособность Wi-Fi-модуля можно воспользоваться интерфейсом RS-232 и осуществить обмен командами между ПК и модулем WIZ610wi. Производитель предоставляет специальную утилиту Device Terminal для передачи данных (рис. 5). Программа позволяет организовать проверку связи по интерфейсу RS-232 и Ethernet. Скорость обмена данными по последовательному порту в модуле установлена равной 38400 бит/с. Команды вводятся в строке, расположенной слева от кнопки Send. Особенность их формата заключается в наличии специальных символов начала и конца команды. По умолчанию это символы ‘<‘ (16-ричное значение 3C) и ‘>’ (3E). Коды могут быть изменены в настройках модуля через веб-интерфейс. Символы команд вводятся в верхнем регистре. В качестве теста на рис. 5 приведены результаты выполнения команд чтения данных [2]:
<RF> -<Sv1.1.1> — версия программного обеспечения;
<RA> -<S000.08.dc.15.35.86_100.08.dc.15.35.85> — MAC-адрес Ethernet (00:08:dc:15:35:86), MAC-адрес беспроводной сети Wi-Fi (00:08:dc:15:35:85);
<RB> -<S38001> — настройки UART (38400 бит/с, 8 бит данных, нет паритета, нет управления потоком, 1 стоповый бит). Из примера видно, что результат выдается в виде строки в «скобках» и с префиксом в виде символа S. Команда <WB18001> позволяет установить скорость передачи данных по последовательному порту 115200 кбит/с. Признаком успешного выполнения команды служит ответ <S>. Для продолжения работы на новой скорости следует закрыть соединение кнопкой Close, поменять параметр Baudrate на значение 115200 и нажать на кнопку Open. Ответ на команду <RB> теперь будет <S18001>.
Настройки модуля с помощью веб-интерфейса достаточно подробно описаны в руководстве пользователя [2]. Рассмотрим способы настройки встраиваемого модуля Wi-Fi по последовательному каналу UART, что может быть реализовано напрямую со стороны управляющего микроконтроллера.
При сбросе настроек модуль WIZ610wi конфигурируется в режим точки доступа. После подачи питания и завершении внутренней инициализации устройство готово к работе. С помощью другого модуля Wi-Fi, подключенного к ПК, можно наблюдать появление нового устройства в списке точек доступа. В первой строке таблицы, представленной на рис. 6, расположена информация о модуле WIZ610wi: SSID WLANAP, безопасность отключена, MAC-адрес сети Wi-Fi 00:08:dc:15:35:85, канал номер 1.
Проверить состояние настроек можно с помощью следующих команд:
<RI> -<S192.168.1.254> — считать IP-адрес;
<RS> -<S255.255.255.0> — считать значение маски подсети;
<RG> -<S0.0.0.0> — считать значение шлюза;
<RA> –<S000.08.dc.15.35.86_100.08.dc.15.35.85> — MAC-адрес Ethernet (00:08:dc:15:35:86), MAC-адрес беспроводной сети Wi-Fi (00:08:dc:15:35:85);
<RD> -<S1> — включен — считать состояние DHCP-сервера;
<RH> -<S192.168.1.2_192.168.1.100> — считать диапазон DHCP-адресов;
<DB> -<S0> — 11b+g — считать режим Wi-Fi;
<DO> -<S0> — AP (Access Point) — считать режим работы;
<DS> -<SWLANAP> — считать идентификатор сети SSID (Service Set IDentifier);
<DC> -<S1> — считать номер канала;
<DP> -<S14> — 14 дБм/~25 мВт — считать значение мощности передатчика;
<DU> -<S0_0> — отключено/открытый доступ — считать настройки безопасности.
Модуль WIZ610wi поддерживает стандарты защиты данных WEP (длина ключа 64/128), WPA/ WPA2 (алгоритмы PSK/AES/TKIP) и протоколы: ARP, UDP, TCP, Telnet, ICMP, IGMP, DHCP, BOOTP, HTTP, TFTP. Подробное описание режимов безопасности изложено в руководстве пользователя [2].
Рассмотрим некоторые команды для изменения настроек. Для конфигурации WIZ610wi в режиме точки доступа необходимо выполнить следующие действия:
- установить IP-адрес точки доступа;
- включить DHCP-сервер;
- выбрать режим Access Point;
- задать идентификатор сети SSID;
- выбрать канал и частотный диапазон;
- выбрать режим безопасности.
<WI192.168.0.2> -<S> — установить новый IP-адрес (<S> — успешное выполнение команды);
<RI> -<S192.168.0.2> — считать IP-адрес;
<GSTEST> -<S> — установить новый идентификатор сети SSID TEST;
<DS> -<STEST> — считать идентификатор сети SSID;
<GC4> -<S> — задать номер канала (4);
<DC> -<S4> — считать номер канала;
<GU5_3_0_0_password> -<S> — установить безопасность согласно стандарту WPA-PSK с алгоритмом криптографического преобразования AES, пароль password (длина варьируется в диапазоне от 8 до 63 символов);
<DU> -<S5_3_0_0_password> — считать настройки безопасности.
Результат новых настроек приведен на рис. 7. Подобным образом модуль WIZ610wi может быть настроен в любой другой предусмотренный производителем режим работы. Режим шлюза Рис. 5. Окно утилиты Device Terminal v.1.0 Рис. 6. обеспечивает соединение между беспроводной и проводной сетями. Настройки, связанные с параметрами сети, режимом беспроводного доступа и безопасностью, могут быть выполнены по аналогии с режимом конфигурации точки доступа. Необходимо также добавить конфигурацию порта. IP-адрес может быть настроен как статический или как DHCP-клиент.
В режиме клиента WIZ610wi имеет возможность соединения с любой точкой доступа. IP-адрес устройства может быть статическим либо динамическим (DHCP-клиент) и назначается из диапазона, который поддерживает точка доступа. Режим беспроводного доступа устанавливается в значение Client, задается SSID и номер канала точки доступа. Устанавливаются параметры режима безопасности, например пароль доступа в сеть. При управлении со стороны микроконтроллера необходимо анализировать ответ от WIZ610wi, дожидаться прихода последовательности <S>или кода ошибки и только после этого продолжать настройку.
Как говорилось выше, настройка модуля WIZ610wi может выполняться через вебинтерфейс. Рассмотрим один из вариантов настройки на примере обновления программного обеспечения.
Обновление программного обеспечения WIZ610wi
После сброса параметров модуль WIZ610wi автоматически переходит в режим работы Access Point с идентификатором сети SSID WLANAP и IP-адресом 192.168.1.254. Для доступа к настройкам WIZ610wi беспроводной клиент должен подключиться к точке доступа WLANAP в режиме открытого доступа с отключенными функциями защиты. Поскольку функции защиты отключены, то в качестве Wi-Fi-клиента может быть использован любой внешний Wi-Fi-модуль стандарта IEEE 802.11b/g или, например, встроенный Wi-Fi-адаптер ноутбука и карманного ПК.
Адрес клиенту выдается автоматически DHCP-сервером модуля WIZ610wi, например, 192.168.1.2. После проверки доступности IP-адреса (рис. 8) в строке интернет-проводника указывается адрес 192.168.1.254 и осуществляется переход к странице Others->Upgrade. С помощью кнопки «Обзор…» выбирается файл с новой прошивкой, например, WLANAP_v1.1.5.HTTPUPGRADE. WIZNET-NOLOGO-20091130153736.bin.
Обновление выполняется по кнопке Upload (рис. 9а). Данный процесс занимает около минуты. Затем автоматически появляется сообщение о перезагрузке системы с отображением оставшегося времени (рис. 9б). После перезагрузки видно, что программное обеспечение обновлено до версии 1.1.5 (рис. 9в). Последняя версия программного обеспечения доступна на сайте производителя wiznet.co.kr или на веб-странице http://wless.ru/ дистрибьютора Wiznet ООО «ЭФО».
Передача данных с помощью модуля WIZ610wi
Рассмотрим процесс обмена данными с использованием порта UART модуля WIZ610wi. Настройки последовательного порта и режим передачи данных приведены на рис. 10. Сначала выбирается протокол обмена данными (например, TCP) и режим работы модуля: сервер, клиент или смешанный. В режиме сервера WIZ610wi ожидает соединения со стороны клиента. В режиме клиента WIZ610wi пытается организовать соединение с сервером по заданному порту и IP-адресу сервера. В смешанном режиме доступны оба варианта соединения.
В рассматриваемом случае настроен режим работы TCP-сервер: IP-адрес 192.168.1.254 (по умолчанию), номер порта 5000, скорость обмена данными 115200 кбит/с, 8 бит данных, нет бита четности, 1 стоповый бит, нет управления потоком. Таким образом, второе устройство, с которым предстоит обмен данными, будет работать в режиме клиента. Для этого требуется подключить клиентское оборудование Wi-Fi к точке доступа WLANAP для получения динамического IP-адреса (192.168.1.2) и открыть соединение, например с помощью программы HyperTerminal (рис. 11а). Второе окно программы HyperTerminal открывается в режиме последовательного порта с соответствующими настройками (рис. 11б). Для демонстрации в окне клиента набирается текст «Hello, WIZ610wi!», который появляется в окне сервера. В окне сервера набирается текст «Hi, Client! Ready.», он появляется в окне клиента (рис. 11в).
Настройки режима передачи данных на стороне сервера таковы, что символы, набираемые на клавиатуре, немедленно передаются клиенту. Они могут быть изменены путем установки параметров Time, Size, Char (рис. 10):
- Time — время ожидания перед посылкой пакета в миллисекундах. Например, при Time=1000 данные будут переданы по истечении секунды после ввода последнего символа.
- Size — предельное значение размера буфера, данные формируются в пакет и отсылаются только после достижения заданного значения. В случае превышения предельного значения отсылается первый пакет размером Size и начинается заполнение нового пакета.
- Char — 16-ричное значение управляющего символа, сигнализирующего об отсылке пакета. Сам символ в пакет не помещается. Нулевые значения Time, Size и Char отключают функции обработки данных параметров.
На рис. 12 приведена спектрограмма односторонней передачи данных по последовательному беспроводному каналу Wi-Fi. В верхней части окна отображается зависимость уровня сигнала от времени, где можно наблюдать дискретный характер появления в канале Wi-Fi пакетов небольшого объема. В средней части окна изображен текущий спектр сигнала Wi-Fi, а в нижней фиксируется максимальный уровень спектра. При включении режима накопления данных на спектрограмме заметно действие других точек Wi-Fi, присутствующих в зоне видимости спектроанализатора. Подобный анализ оказывает существенную помощь при изучении обстановки в случае возникновения перебоев со связью в канале Wi-Fi, например при настройке различных точек доступа на один и тот же канал.
Заключение
Модуль WIZ610wi рекомендуется применять внутри помещений для организации обмена данными в беспроводных сетях передачи данных стандарта Wi-Fi, в том числе для передачи данных в сеть Интернет. Максимальная пропускная способность канала составляет 25 Мбит/с, что обусловлено затратами трафика на передачу управляющей информации IP-протоколов. Довольно большая потребляемая мощность модуля (470 мА) вызывает нагрев корпуса и предполагает наличие внешнего источника питания.
Модуль WIZ610wi является удобным решением для компактных встраиваемых приложений. К достоинствам модуля можно отнести удобство монтажа и настройки, а также наличие двух интерфейсов: последовательный UART и высокоскоростной MII (FastEthernet). Модуль поддерживает все необходимые режимы работы приемопередатчика Wi-Fi, а также современные стандарты защиты передаваемых данных.
- Рошан П., Лиэри Д. Основы построения беспроводных локальных сетей стандарта 802.11 / Пер. с англ. М.: Издательский дом «Вильямс». 2004.
- WIZ610wi User Manual. Technical Specification. WIZnet Co., Inc. 2009.
- WIZ5300 User Manual. Technical Specification. WIZnet Co., Inc. 2009.