Особенности применения WI-FI-модулей HF-LPB100/HF-LPT100/HF-LPT120

Опубликовано в номере:
PDF версия

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

В этой статье рассмотрен принцип работы и конфигурирования бюджетных модулей High-Flying HF-LPB100/HFLPT100/HF-LPT120.

moduli-serii-hf-lpb100

Рис. 1. Модули серии HF-LPB100

 

 

Технические характеристики модулей

Wi-Fi-модули HF-LPB100 и HF-LPT100 построены на одном и том же чипсете и в них применяется один и тот же контроллер. Различия касаются размеров и способа монтажа модуля. HF-LPB100 обладает краевыми площадками под пайку, в то время как модули HF-LPT100/LPT120 имеют разъем для установки. Модули могут быть исполнены как со встроенной печатной антенной, так и с разъемом IPEX для подключения внешней антенны, например антенны Molex 47950-й серии, с различной длиной кабеля. Антенна на клейком основании идеально подходит для крепления под корпус изделия.

 

hf-lpt120

Рис. 4. Внешний вид модулей серии

Модули серии HF-LPB100 относятся к линейке малопотребляющих модулей. Ток потребления в пике не превышает 200 мА, среднее потребление составляет примерно 20 мА. При этом устройства способны работать в режимах «клиент/сервер» и точки доступа. Открытая архитектура позволяет реализовывать свои приложения на базе встроенного микроконтроллера, то есть в некоторых приложениях можно обойтись без внешнего микроконтроллера. К тому же модуль поддерживает до пяти TCP-соединений, с возможностью одновременного опроса клиентов.

Модули серии HF-LPT100 относятся к линейке компактных решений. Подключение модуля осуществляется при помощи однорядного разъема с шагом 2 мм. Показатели по потреблению и все функции полностью аналогичны параметрам модуля HF-LPB100. Также на базе SDK можно реализовать ряд своих приложений или команд. Предусмотрена возможность настройки модуля по веб-интерфейсу.

tehnicheskie-harakteristiki-modulej-hf-lpb100

Таблица 1. Технические характеристики модулей HF-LPB100

tehnicheskie-harakteristiki-modulya-hf-lpt100

Таблица 2. Технические характеристики модуля HF-LPT100

tehnicheskie-harakteristiki-modulya-hf-lpt120

Таблица 3. Технические характеристики модуля HF-LPT120

Модули серии HF-LPT120 — это новый продукт, продолжающий серию HF-LPT100, но имеющий более доступную цену. Таким образом, HF-LPT120 является самым бюджетным из представленных решений. Подобная оптимизация достигнута за счет ограничения некоторых возможностей модуля, например, одновременно он поддерживает до трех соединений вместо пяти. Уменьшился объем свободной памяти для пользовательских программ. Однако все основные функции работают так же, как и в модулях старшей серии. Реализованы режимы «клиент/сервер», а также точки доступа и станции.

 

Пример настройки модулей

Далее мы рассмотрим конфигурирование Wi-Fi-модулей на примере HF-LPB100/LPT100. Настройка HF-LPT120 существенных отличий от описанного далее примера не имеет. Как уже было сказано, модуль поддерживает все популярные режимы, TCP-клиент, ТСР-сервер, точку доступа и режим станции.

Наиболее удобно работать с модулем в режиме ТСР и «прозрачном» режиме последовательного порта, применяя такие сценарии:

  1. Сценарий № 1. «Связь с центром». Модуль настраивается в режим STA (station) и в режим TCP-клиента. Задаются параметры для подключения к WiFi, а также IP-адрес и порт удаленного сервера. Настраивается тайм-аут ТСР-соединения (для постоянного соединения — 0). После настройки модуль готов работать автономно. Наиболее удобно использовать «прозрачный» режим вместо режима команд, который применяется при конфигурации. После подачи питания модуль самостоятельно подключится к Wi-Fi и установит соединение с удаленным сервером (выполнит три попытки). После этого данные, посланные с сервера, будут отправлены в последовательный порт модуля и наоборот.
  2. Сценарий № 2. «Настройка без проводов». Модуль настраивается в режим AP (access point) и ТСР-сервера. Задаются параметры Wi-Fi, а также IP-адрес и слушающий порт. Настраивается тайм-аут соединения. Здесь тоже предпочтительна работа в «прозрачном» режиме последовательного порта. После настройки модуль готов работать автономно. После подачи питания или сброса модуль автоматически активирует Wi-Fi, подсоединившись с ноутбука или мобильного устройства, далее программа ТСР-клиента подключается к заданному IP-адресу и порту модуля. Данные, отправленные в установленный сокет, «прозрачно» передаются в последовательный порт и наоборот. В режиме работы устройство, в котором использован Wi-Fi-модуль LPB100, работает с модулем как с обычным последовательным портом. Работа с Wi-Fi и по ТСР происходит полностью автономно.

 

Рассмотрим оба варианта подробнее

Общая информация

После включения питания модуль находится в «прозрачном» режиме. Если он настроен по первому сценарию, то пытается подключиться к заданной Wi-Fi-сети, а затем и к удаленному серверу (модуль предпримет три попытки). Если модуль успешно подключился к WiFi-сети, она установит сигнал Link в активный уровень. После присоединения к серверу модуль готов принимать и передавать данные. Если модуль настроен по второму сценарию, он сразу начинает работать в качестве точки доступа. При этом сигнал Link не устанавливается. В этом режиме модуль примет соединение в качестве ТСР-сервера. Всего модуль может принять до пяти соединений одновременно. Возможный логический конфликт между несколькими клиентами модуль разрешает следующим образом. Пакеты от ТСР-клиентов отправляются в последовательный порт в порядке поступления. Пакеты, пришедшие из последовательного порта, передаются всем клиентам одновременно. Селекция и адресация клиентов здесь не предусмотрены. Как в режиме ТСР-клиента, так и в режиме ТСР-сервера можно использовать не только «прозрачный» режим, но и режим команд. Однако это менее удобно по нескольким причинам. Во-первых, нужно отслеживать момент соединения, периодически подавая команду. Это относится как к WiFi-соединению, так и к соединению по ТСР. Во-вторых, в режиме сервера при отправке установлен тайм-аут (3 с). Независимо от заданного в команде отправки количества байт, модуль будет ожидать 3 с после приглашения. То есть появляется значительный дополнительный тайм-аут. В-третьих, при запросе полученных данных нужно указывать значительное количество байт (например, 100). Иначе возможна следующая ситуация. Допустим, модуль получил 32 байт по ТСР. Микроконтроллер запрашивает 10 байт, и модуль их отдает. В это время по ТСР приходит новый пакет в 25 байт, который затирает оставшиеся в буфере модуля 22 байт. Таким образом, при запросе следует указывать, например, 100 байт, и модуль передаст микроконтроллеру от 0 до 100 байт за один раз. Это создает неудобства. При работе по первому сценарию используется Socket B. При работе по второму сценарию — Socket A. Команды записи-чтения (если в модуле применен режим команд) разные. При настройке обязательно нужно настроить тайм-аут соединения, так как по умолчанию через 300 с модуль разорвет соединение. Клиентское соединение при этом придется восстанавливать, перезапустив модуль или подав команду. Подключение к Wi-Fi (или создание точки доступа) модуль осуществляет после сброса. Сброс возможен при помощи включения питания, подачи сигнала Reset на модуль или команды AT+Z в командном режиме. В любой момент времени из «прозрачного» режима можно перейти в режим команд, подав на модуль “+++” и затем “a”. После подачи “+++” модуль ответит “a”, а после подачи “a” модуль ответит “+ok”. Он готов принимать команды. Обратно, в удобный для работы «прозрачный» режим, можно вернуться, подав AT+ENTM. В заводской версии модуль не может функционировать в качестве маршрутизатора и хорошо работает только с одним сетевым интерфейсом. Режим APSTA использовать не следует!

  1. Работаем в качестве ТСР-клиента и клиента Wi-Fi. Здесь команды приведены в кавычках. При общении с модулем кавычки не используются! Для ТСР-клиента IP-адрес не имеет значения, будем пользоваться адресом, полученным по DHCP от точки доступа.

1.1. Переходим в режим команд, подав “+++”, а затем “a”.

1.2. Подаем команду настройки режима станции “AT+WMODE=STA”.

1.3. Подаем команду настройки ID-сети, к которой подключаемся. В нашем случае сеть «Guest». “AT+WSSSID=Guest”.

1.4. Подаем команду настройки пароля и шифрования в сети. В нашем случае пароль “Plus+”, шифрование AES, безопасность WPA2PSK. “AT+WSKEY=WPA2PSK,AES,Plus+”.

1.5. Настраиваем IP-адрес и порт сервера, к которому планируем подключиться. Также можно использовать и доменное имя сервера. В нашем случае вместо IP-адреса — ТСР-порт 80. Кавычки не используются! “AT+SOCKB=TCP,80,ya.ru”.

1.6. Настраиваем нулевой тайм-аут сокета B, чтобы модуль не разрывал соединение. “AT+TCPTOB=0”.

1.7. Подаем команду перезагрузки модуля. “AT+Z”.

1.8. Модуль готов принимать и передавать данные!

rezhim-komand

 

 

  1. Работаем в качестве ТСР-сервера и точки доступа. Клиенты будут подключаться и получать адреса по DHCP.

2.1. Переходим в режим команд, подав “+++”, а затем “a”.

2.2. Подаем команду настройки режима точки доступа “AT+WMODE=AP”.

2.3. Зададим параметры нашей локальной сети (Wi-Fi).

Адрес сервера пусть будет 192.168.0.1, маска 24 бит.

“AT+LANN=192.168.0.1,255.255.255.0”

2.4. Задаем ID сети, которую создаст модуль.

Имя сети будет “Drug”. Сеть запустим в полном варианте (b/g/n) на шестом канале.

“AT+WAP=11BGN,Drug,CH6”.

2.5. Зададим уровень безопасности и пароль. AES, WPA2PSK, пароль drugdruga. “AT+WAKEY=WPA2P SK,AES,drugdruga”.

2.6. Включаем режим сервера. Модуль будет слушать на своем адресе 192.168.0.1. Слушающий порт 23456. “AT+NETP=TCP,Server,23456,192.168.0.1”.

2.7. Задаем нулевой тайм-аут сокета A. “AT+TCPTO=0”

2.8. Перезагружаем модуль командой “AT+Z”.

2.9. Модуль готов принимать и передавать данные

rezhim-komand-2

 

Несколько полезных команд.

  1. “AT+VER” и “AT+LVER” — версия ПО модуля.
  2. “AT+PING=10.10.100.150”. Проверить доступность данного IP-адреса (или доменного имени). Ответ “success” или “time-out”.
  3. “AT+” — команда, на которую модуль ответит “+ok”. С эхом или без эха.

 

Настройка при помощи веб-интерфейса

При помощи веб-интерфейса доступно большинство функций модуля. При производстве можно устанавливать модули в готовое устройство заказчика в состоянии поставки и программировать нужные функции «по воздуху» после включения. Так как модули после включения со стороны последовательного порта работают в «прозрачном» режиме, а необходимые функции по Wi-Fi и IP выполняют самостоятельно, их можно подключать к уже разработанному устройству для замены RS-232 или USB-2-Com, не изменяя ПО этого устройства и не меняя логики его работы.

Рассмотрим настройку модуля LPB100/LPT100 по веб-интерфейсу. Для примера настроим модуль для подключения к сети Guest-Wi-Fi (режим станции — клиента) и подключение к серверу по адресу 1.2.3.4 порт 23900 (ТСР-соединение). Параметры авторизации будут видны по рисункам. Скорость последовательного порта должна быть 115200, 1 стоп-бит, четности нет.

В состоянии поставки, а также после сброса модуль работает в качестве Wi-Fi-точки доступа с открытым доступом и SSID HF-LPB100 (это же имя и у LPT100). Если необходимо, сбросим модуль длительным нажатием кнопки nReload (замыкание вывода nReload и GND на 5 с) во время работы или перейдем в режим команд по последовательному порту («+++», затем «a») и подадим команду AT+RELD. Модуль сбросится.

При помощи технологического компьютера/ноутбука/планшета и т. д. подключаемся к сети HF-LPB100. В адресной строке браузера набираем адрес веб-страницы настроек 10.10.100.254. В появившемся окне авторизации вводим логин и пароль admin/admin.

Если необходимо, переключаем на стартовой странице язык, выбрав English в верхнем правом углу.

Выбираем закладку Work Mode. Здесь в выпадающем списке задаем режим клиента — STA.

rezhim-komand-3

 

Нажимаем кнопку Save. Далее веб-интерфейс предложит перезагрузить модуль Restart или вернуться к настройкам Back. Здесь обязательно следует выбрать Back, иначе дальнейшие настройки будут невозможны!

rezhim-komand-4

 

Активируем закладку STA Setting. Здесь настроим четыре параметра: 1. Название сети (SSID), Guest-Wi-Fi в данном случае. 2. Метод и алгоритм шифрования, WPA2PSK и AES. 3. Пароль от сети. И наконец, проверим Enable в автоматическом получении IP-адреса.

rezhim-komand-5

 

 

Также сохраним настройки и откажемся от рестарта.

Активируем закладку Other Setting. Здесь настроим параметры соединения с ТСР-сервером в Интернете или локальной сети, а также параметры последовательного порта. Для нашего случая зададим скорость 115200, 8 бит, None четность, 1 Stop Bit. И отсутствие управления потоком CTSRTS Disable. Для соединения по IP-сетям зададим тип TCP-client, то есть ТСР-клиент, номер порта Port ID 23900, IP-адрес сервера 1.2.3.4. Время «накопления» данных по IP-каналу (300 мс) оставим без изменения. Это время до отправки данных по последовательному порту.

rezhim-komand-6

 

Также нажмем кнопку Save. В данном случае настройка закончена, и можно нажать одну из кнопок: Restart в веб-интерфейсе, подать сигнал Reset модулю или выключить и снова включить питание.

rezhim-komand-7

 

После успешного подключения к заданной сети Wi-Fi (Guest-Wi-Fi) модуль переведет сигнал nReady в низкий логический уровень (включится светодиод nReady).

Если при настройке произошла ошибка, можно повторно сбросить конфигурацию модуля, нажав и в течение 5 с удерживая кнопку nReload.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *