HLK-RM04 это новый, недорогой модуль со встроенными интерфейсами UART, USB, Ethernet и Wi-Fi. Конечно, есть более дешевые модули (например ESP-01 на контроллере ESP8266 [2]), но HLK-RM04 подкупает обилием интерфейсов. Причем интерфейсов Ethernet у него целых 2 штуки - чтобы их получить, нужно всего лишь подключить к дифференциальным сигналам приема/передачи Ethernet-трансформаторы. Модуль поддерживает стек TCP/IP, и может при соответствующей настройке гонять трафик между всеми имеющимися интерфейсами. Wi-Fi поддерживает режим как точки доступа, так и беспроводного клиента. С помощью модуля HLK-RM04 обычные микроконтроллерные устройства можно довольно легко подключить как к локальной сети, так и к Интернет.
[Основные возможности модуля]
• Wi-Fi, совместимый с IEEE802.11b/g/n (2.4 ГГц), работающий в режиме точки доступа и станции (WPS/WDS). Поддержка протоколов безопасности WEP64/WEP128/TKIP/AES, WEP/WPA-PSK/WPA2-PSK. • TTL UART со скоростью 1200..500000 бод. Через этот интерфейс может осуществляться обмен данными с другими интерфейсами и управление AT-командами. • Ethernet интерфейсы WAN и LAN, с поддержкой протоколов стека TCP/IP: PPPoE, UDP, DDNS, DHCP, HTTP. • Встроенный WEB-сервер для конфигурирования.
Области применения:
• Беспроводное управление, телеметрия. • Домашняя (системы "Умный дом") и производственная автоматизация. • Автодиагностика OBD-II через Wi-Fi.
[Технические параметры]
Параметр
Значение
Примечание
Типовые параметры DC (питание)
Напряжение питания VDD
+5V
Допустимый максимальный диапазон 3.9..5.5V.
Ток потребления при работе только Wi-Fi
~140mA
Обмен данными Serial - Wi-Fi.
Ток потребления при использовании одного RJ45
~120mA
Обмен данными Serial - RJ45.
Ток потребления при использовании двух RJ45
~135mA
Обмен данными WAN - LAN.
Использование WiFi и двух RJ45.
~160mA
Режим по умолчанию / заводские настройки.
Типовые радиочастотные характеристики
Чувствительность приема
-70dBm(802.11n)
Максимальная выходная мощность передатчика
18dBm/15dBm/13.5dBm
IEEE802.11b/g/n
Волновое сопротивления коннектора и кабеля для антенны
50 Ω
2.4..2.5 ГГц
Коэффициент стоячей волны по напряжению (VSWR)
2:1
2.4..2.5 ГГц
Точность установки частоты
±25ppm
Дополнительно допускается ±15ppm.
Периферийные устройства, выходы
UART
Сигналы UART_RX, UART_TX
Диапазон скоростей 1200 бод .. 500 кбод.
RJ45 LAN
Сигналы TXOP1, TXON1, RXIP1, RXIN1
Поддерживается протокол DHCP (сервер).
RJ45 WAN
Сигналы TXOP2, TXON2, RXIP2, RXIN2
Поддерживается PPPoE, протокол DHCP (клиент).
Выход стабилизатора 1.8V
+1.8V
Ток до 300mA, возможный диапазон выходного напряжения 1.65..1.9V.
Выход стабилизатора 3.3V
+3.3V
Ток до 300mA, возможный диапазон выходного напряжения 3.1..3.5V.
Напряжение выводов GPIO
3.3V
Диапазон напряжений 3.1..3.5V.
Габаритные размеры:
Цоколевка выводов:
№
Мнемоника
Описание
1
VCC5V
Напряжение питания +5V±10%.
2
GND
Аналоговая земля.
3
WIFILED
Светодиод активности Wi-Fi.
4
VO3.3
Выход стабилизатора 3.3V/300mA.
5
LINK1
Светодиод активности 1-го порта 10/100 PHY (LAN Ethernet), активный уровень лог. 0.
6
USB_P
Зарезервировано. Может использоваться как сигналы порта USB.
7
USB_M
8
GPIO0
Вывод порта ввода/вывода, может использоваться как SDA интерфейса I2C.
9
GPIO1
Вывод порта ввода/вывода, может использоваться как SCK интерфейса I2C или сигнал управления приемопередатчиком RS485.
10
ES/RST
Вход для выхода из режима прозрачной передачи данных. Также используется для восстановления заводских настроек по умолчанию (подключается к кнопке SW2 Exit/Default).
11
TXOP1
Дифференциальные сигналы передачи 1-го порта 10/100 PHY Ethernet (должен подключаться к трансформатору наподобие HR911105A).
12
TXON1
13
RXIP2
Дифференциальные сигналы приема 2-го порта 10/100 PHY Ethernet (должен подключаться к трансформатору наподобие HR911105A).
14
RXIN2
15
RXIN1
Дифференциальные сигналы приема 1-го порта 10/100 PHY Ethernet (должен подключаться к трансформатору наподобие HR911105A).
16
RXIP1
17
TXON2
Дифференциальные сигналы передачи 2-го порта 10/100 PHY Ethernet (должен подключаться к трансформатору наподобие HR911105A).
18
TXOP2
19
GPIO2
Вывод порта ввода/вывода, может использоваться как RTS_N (сигнал RTS аппаратного управления потоком интерфейса RS232).
20
UART_RX
UART RXD
21
UART_TX
UART TXD
22
GPIO3
Вывод порта ввода/вывода, RX второго интерфейса UART.
23
LINK2
Светодиод активности 2-го порта 10/100 PHY (WAN Ethernet), активный уровень лог. 0.
24
GPOI4
Вывод порта ввода/вывода, может использоваться как CTS_N (сигнал CTS аппаратного управления потоком интерфейса RS232).
25
WPS/RST
WiFi Protected Setup (WPS) / восстановление заводских настроек по умолчанию (подключается к кнопке SW1 WPS/Default).
26
GPIO5
Ножка порта ввода/вывода, TX второго интерфейса UART.
27
VO1.8
Выход стабилизатора 1.8V/300mA.
28
VCC5V
Напряжение питания +5V±10%.
Примечание: все логические уровни логики привязаны к напряжению питания 3.3V (т. е. лог. 0 близок к 0V, лог. 1 близка к 3.3V).
Эта кнопка при нажатии выдает на вывод модуля ES/RST логический 0. Если после включения питания нажать на эту кнопку на длительность больше 0.1 сек, но меньше 5 сек, то модуль HLK-RM04 перейдет в режим конфигурирования AT-командами. Если же после включения питания нажать и удерживать кнопку больше 5 сек, и потом отпустить её, то модуль сбросит все свои настройки и установит заводские настройки по умолчанию.
[RS-232 (UART1)]
Интерфейс UART1 может работать в 2 режимах - прозрачный (включен по умолчанию после включения питания) и режим AT-команд. По умолчанию UART1 настроен с параметрами 115200 бод, 8 бит данных, 1 стоп-бит, без контроля четности. Переключение между прозрачным режимом и AT-режимом может осуществляться либо с помощью вывода ES/RST (выход из прозрачного режима импульсом лог. 0 длительностью около 200 мс), либо с помощью специальной последовательности символов. Обратное переключение из AT-режима в прозрачный режим может произойти либо перезагрузкой модуля, либо специальной AT-командой.
Режим AT-команд это режим, который позволяет Вам поменять все настройки через интерфейс UART (с помощью микроконтроллера).
Перевести модуль в режим AT-команд можно тремя способами:
Способ 1: выдать импульс лог. 0 на вывод ES/RST на время больше Tes и меньше Trst; здесь по умолчанию Tes = 100 мс Trst = 6 с. Таким образом, если удерживать вывод ES/RST в лог. 0 на время около 200 мс, то модуль перейдет в режим AT-команд.
Способ 2: с помощью специально сформированной последовательности символов, переданной микроконтроллером. Этот способ работает, если он разрешен командой at+escape=1. Последовательность состоит из 3 символов "+" с интервалом между ними Tpt (время последовательного фрейма) from one another, затем пауза 500 мс (интервал между 400 мс и 600 мс), после чего посылаются 3 символа 0x1B с интервалом Tpt. После того, как модуль принял эту последовательность данных, он перейдет в режим AT-команд.
Способ 3: есть еще одна специальная последовательность симоволов для выхода из прозрачного режима, её работа разрешается командой at+escape2=1. Она состоит из 3 символов "+", см. диаграмму ниже. Перед этими треся символами должен быть интервал паузы Tescape (длительностью 2000 мс), и после него должен быть интервал времени Tpt (время последовательного фрейма).
По сравнению с предыдущим способом последний способ проще, однако из-за простоты может произойти неожиданный выход из прозрачного режима, если в потоке данных встретятся подряд три символа "+".
И наконец, есть еще четвертый, неявный вариант перехода из прозрачного режима в режим AT-команд. После включения питания, если все в порядке, модуль входит в прозрачный режим. Но когда модуль не смог установить требуемую сетевую конфигурацию, т. е. в случае серьезной ошибки, когда требуется вмешательство пользователя, модуль перейдет в режим AT-команд.
[Быстрый запуск]
Чтобы можно было использовать модуль HLK-RM04, нужна минимальная обвязка, позволяющая подключить его к сети Ethernet. Тогда через веб-интерфейс станет доступен интерфейс конфигурирования модуля. К Ethernet модуль подключается через стандартный Ethernet-трансформатор, что можно сделать самому. Однако удобнее всего купить внешнюю материнскую плату для модуля KIT-V2.3 (стоит она недорого, всего лишь $4.45 на aliexpress):
Для питания модуля HLK-RM04 потребуется источник постоянного стабилизированного напряжения 5V на ток не менее 500 мА. Я взял для этой цели обычное зарядное устройство для смартфона (обычно такие зарядные устройства дают ток 1A и больше).
Чтобы сконфигурировать модуль HLK-RM04, нужно подключиться к его веб-серверу. Это можно сделать 2 способами - либо через интерфейс WAN, либо через интерфейс LAN. Оба эти способа отличаются друг от друга только сетевыми настройками - нужно подключить модуль к компьютеру через сеть. Дальше, если знать сетевой IP-адрес модуля, нужно подключиться к нему браузером к порту 80, ввести логин/пароль admin/admin, после чего откроется WEB-интерфейс конфигурирования модуля.
WAN. Этот вариант подключения требует наличия внешнего сервера DHCP. Это может быть, примеру, DHCP-сервер домашнего роутера, через который Вы подключаетесь к Интернет. При подключении модуля через интерфейс WAN модуль HLK-RM04 получит IP-адрес. Этот адрес можно узнать из утилиты администрирования DHCP-сервера (для домашнего роутера это обычно HTTP-админка).
LAN. Этот интерфейс с завода имеет фиксированную настройку на IP-адрес 192.168.16.254 с маской 255.255.255.0. Поэтому потребуется настройка сетевого интерфейса компьютера так, чтобы они соответствовали этим фиксированным настройкам. Вбейте в настройку сетевой карты компьютера любой адрес, чтобы он попал в эту подсеть, например 192.168.16.100.
Итак, модуль подключен к сети, мы знаем его IP-адрес. Теперь запустите браузер, и введите в строке адреса браузера этот адрес IP. Для подключения через WAN это будет адрес, который дал сервер DHCP, а для подключения через LAN это будет адрес 192.168.16.254.
[HTTP-сервер модуля HLK-RM04]
Веб-сервер модуля HLK-RM04 предназначен для администрирования. Вот его основные функции:
• Экспорт и импорт настроек через выгрузку/загрузку файла. • Перепрошивка модуля (обновление firmware). • Изменения логина/пароля админки. • Настройка скорости и параметров последовательного интерфейса. • Настройка режима, параметров и настроек безопасности Wi-Fi. • Настройка интерфейсов WAN и LAN. • Установка общего режима работы модуля.
[Режимы работы модуля HLK-RM04 как моста для передачи данных]
Модуль может быть сконфигурирован в 4 основных режимах: режим по умолчанию как точка доступа WiFi и всеми включенными интерфейсами (как модуль приходит с завода), мост UART - Ethernet, мост UART - клиент WiFi, мост UART - точка доступа WiFi. Режим может быть настроен либо через WEB-интерфейс, либо AT-командами. Эти режимы определяют физический сетевой канал связи, по которому данные будут поступать в интерфейс UART1 и обратно.
В этом режиме Wi-Fi включен в режиме точки доступа (Access Point, AP), Интерфейсы Ethernet1 (LAN) и Ethernet2 (WAN) включены. При соответствующей настройке данные передаются между UART1 и сетевыми интерфейсами. Безопасность Wi-Fi поддерживает все существующие системы шифрования.
В этом режиме включен Ethernet2 (WAN), остальные сетевые интерфейсы (WiFi, Ethernet1 LAN) отключены. При соответствующей настройке данные передаются между UART1 и Ethernet2. На интерфейсе Ethernet2 может быть сконфигурирован как динамический IP-адрес (через DHCP), так и статический IP-адрес.
В этом режиме Wi-Fi включен в режиме клиента, интерфейсы Ethernet1 и Ethernet2 отключены. С помощью соответствующих установок данные могут передаваться между UART1 и сетью Wi-Fi. WiFi клиент может быть настроен как на получение IP-адреса через DHCP, таки и может быть настроен статический IP-адрес. Безопасность Wi-Fi поддерживает все существующие методы шифрования.
В этом режиме Wi-Fi включен в режиме точки доступа (Access Point, AP), интерфейсы Ethernet1 и Ethernet2 отключены. С помощью соответствующих установок данные могут передаваться между UART1 и сетью Wi-Fi. Сервер DHCP модуля включен по умолчанию, он может раздавать адреса клиентам WiFi. Безопасность Wi-Fi поддерживает все существующие методы шифрования.
[Сетевые коммуникации модуля HLK-RM04]
Вышеуказанные методы настройки режима работы только определяют, как могут быть переданы через сеть данные, которые поступают в обоих направлениях через интерфейс UART модуля HLK-RM04. Другими словами это определение физической среды передачи данных через сеть. Но необходимо также настроить метод передачи данных на основе имеющихся сетевых протоколов. Для модуля HLK-RM04 имеется 4 таких метода:
Чаще всего обмен данными в сети происходит между двумя точками таким образом, что одна точка считается сервером, другая клиентом. Сервер является пассивной стороной соединения - он ждет, когда клиент к нему подключится. К одному серверу обычно может подключиться больше одного сетевого клиента. Модуль HLK-RM04 поддерживает в режиме сервера до 20 одновременных подключений.
Клиент устроен так, что к нему не может подключиться другой клиент или сервер, но клиент может подключиться к серверу. Для подключения клиенту нужно знать IP-адрес и номер порта сервера.
Это сетевые протоколы, которые используют сервер и клиент при обмене данными. Основное отличие этих протоколов в том, что TCP гарантирует доставку данных с переотправкой в случае наличия повреждения данных (или выдаст ошибку, если данные невозможно доставить), а протокол UDP ничего не гарантирует. Протокол TCP медленнее передает данные, чем протокол UDP.
По этим причинам у этих протоколов разные сферы применения - TCP лучше всего подходит для передачи файлов и защищенных данных, требующих 100% целостности. UDP применяется для приложений, требующих быстрой доставки с минимальными задержками когда допустимо некоторое количество ошибок (передача потокового видео, звука).
В режиме сервера TCP модуль начинает прослушивать указанный порт TCP как сервер telnet (по умолчанию 8080), и может принимать соединения клиентов (до 20 одновременно). После того, как клиент подключился, все данные, полученные от клиента, будут прозрачно пересланы через UART1, и все данные, поступившие на UART1, будут прозрачно пересланы клиенту telnet.
В режиме клиента TCP модуль подключается как telnet-клиент к серверу telnet по указанному IP-адресу и номеру порта. При этом также все принятые и переданные данные прозрачно проходят в обоих направлениях через UART1. Если по какой-то причине соединение оказалось разорванным, то модуль может (если это разрешено соответствующей опцией) делать попытки повторного подключения с серверу.
В режиме сервера UDP модуль слушает сокет на указанном номеру порта. Как только поступил UDP-пакет на этот порт, его данные прозрачно передаются через UART1, и IP-адрес, с которого пришел пакет, запоминается. После того, как на UART1 поступили данные, эти данные передаются в UDP пакете по тому адресу, который был запомнен последний раз. Имейте в виду что модуль запоминает IP-адрес только последнего пришедшего пакета, по этой причине нельзя обработать несколько UDP-соединений одновременно.
В режиме клиента UDP модуль прозрачно пересылает полученные через UART1 данные на сервер UDP (на указанный адрес и порт). И аналогично все данные, приходящие от этого сервера, прозрачно передаются в интерфейс UART1.
[Сброс настроек модуля HLK-RM04 в заводское состояние]
Для сброса настроек в состояние по умолчанию используется вывод ES/RST (ножка 10 модуля). На материнской плате этот сигнал подключен к специальной кнопке Exit/Default:
Если по какой-то причине необходимо сбросить настройки модуля (например, Вы забыли сетевые настройки, и не можете подключиться к модулю), выполните следующие действия. Подключите источник питания 5V/500mA, и удерживая вывод ES/RST в лог. 0 подождите около 2.5 минут (для этого нужно удерживать кнопку Exit/Default в нажатом состоянии), пока система модуля загрузится, после чего отпустите вывод ES/RST (отпустите кнопку Exit/Default), система автоматически перезагрузится. После перезагрузки все настройки перейдут в заводское состояние. Заводские настройки следующие:
Параметр
Значение
Логин HTTP-админки
admin
Пароль HTTP-админки
admin
IP/маска LAN
192.168.16.254/255.255.255.0
IP/маска WAN
не установлено (можно получить настройки по DHCP)
SSID
HL-LINK_xxx
Пароль WiFi
0000000000 или 12345678
Настройка UART
115200,8,n,1
Длина последовательного фрейма
64
Таймаут последовательного фрейма
10
Сетевой режим
Клиент
IP адрес внешнего сервера
192.168.11.245
Порт локального или внешнего сервера
8080
Сетевой протокол
UDP
Сетевой таймаут
0
TES
100 мс
TRST
5 сек (иногда в документации указано 6 сек)
Tescape2
2 сек
Примечание: интервалы времени TES, TRST, Tescape2 относятся к специальным длительностям импульса лог. 0 на выводе ES/RST. TES: если длительность лог. 0 будет больше TES и меньше TRST, то модуль перейдет в режим обработки AT-команд. Если длительность лог. 0 превысит TRST, то модуль сбросит свои настройки в состояние по умолчанию (заводские настройки).
Хочу использовать этот модуль для передачи файлов в станок ЧПУ. Подключил, настроил, передаю. Если дынные идут из СОМ порта в ТСР, то все ок, но в обратную строну станок говорит что ошибка четности. Слушаю Сом порт, и в мониторе получаю кашу из символов - но не всех, не которые передаются правильно, а остальные подменяются на что то другое. Выглядит как кодировка неправильная. Что я только не делал ничего не помогает. Могли бы вы подсказать что-нибудь, или указать что почитать, или у кого спросить?
Здравствуйте sendsay, не могли бы поделится как настроили hlk-rm04 ?
Хочу использовать этот модуль для передачи файлов в станок ЧПУ. Подключил, настроил, передаю. Если дынные идут из СОМ порта в ТСР, то все ок, но в обратную строну станок говорит что ошибка четности. Слушаю Сом порт, и в мониторе получаю кашу из символов - но не всех, не которые передаются правильно, а остальные подменяются на что то другое. Выглядит как кодировка неправильная. Что я только не делал ничего не помогает. Могли бы вы подсказать что-нибудь, или указать что почитать, или у кого спросить?
Комментарии
Здравствуйте sendsay, не могли бы поделится как настроили hlk-rm04 ?
RSS лента комментариев этой записи