Hlk rm04 подключение ethernet

Обновлено: 06.07.2024

Модуль можно настроить подключившись к нему как к точке доступа
Подключаем питание модуля, включаем, через 30-40 сек.
модуль должен заработать как точка доступа (он появится как HI-LINK_. ) , где последние символы соответствуют МАС адресу модуля, написанному у него на наклейке.
Подключаемся к нему и вводим пароль (12345678), настраиваем у машины TCP\IP протокол в сеть 192.168.16.ХХХ. Адрес модуля по умолчанию – 192.168.16.254, логин-пароль admin\admin.

Если Вы по какой то причине не смогли подключится как к точке доступа, то можно настроить через UART

Подключаем к WiFi модулю питание, пин 1(+5в), пин 2(GND)
Подключаем UART от Arduino D0(TX), RX(D1) к пинам 20(RX), пин 21(TX) модуля WiFi
Замыкаем пин RST на arduino, для того что бы ардуино работал в режиме UART моста
Скачиваем и запускаем на компьютере программу HLK-RM04_CONFIG для кофигурации модуля Wi-Fi
Настраиваем в программе модуль на нужный Вам режим WiFi
Соединяем пин rts модуля с пином Gnd на 1 сек. и жмем в проге кнопку Commit, и все настройки сохраняются в модуле
Теперь модуль будет виден любым устройством через WiFi, подключаемся к модулю через WiFI
Запускаем любой браузер и вбиваем IP модуля (который указали в настройках) в адресную строку
И видим веб интерфейс модуля.
Теперь все настройки можно менять через Web

Здесь можно настроить WiFi и ser2net

Сменить логин и пароль

Можно перепрошить модуль

Модуль настроили и что дальше?
Далее, ставим и настраиваем на компьютере программу Tibbo для Linux VSPDL
IP, Порт, скорость Serial и другие параметры, должны быть какими же как в настройках модуля WiFi

Если все настройки правильные , то в компьютере появится виртуальный serial port
При обращении к этому порту Вы будете обращаться к устройсту подключенному к WiFi модулю.


Для продвинутых пользователей модуль можно прошить прошивкой OpenWrt.

Список выводов модуля Wi-Fi при использовании с OpenWrt
1 VDD5V Power input
2 GND Power GND
3 WLAN_LED WIFI LED
4 3.3V 3.3V power output
5 LINK1 Net gape 1 LED indicte
6 USB_P USB signal D-
7 USB_M USB signal D+
8 I2S_SD I2C DATA/GPIO
9 I2S_CLK I2C CLK/GPIO
10 GIOP0 Universal GPIO
11 TXOP1 Net gape 1 TX-P
12 TXON1 Net gape 1 TX-N
13 RXIP2 Net gape 2 RX-P
14 RXIN2 Net gape 2 RX-N
15 RXIN1 Net gape 1 RX-P
16 RXIP1 Net gape 1 RX-P
17 TXON2 Net gape 2 TX-N
18 TXOP2 Net gape 2 TX-P
19 RTS_N All function serial RTS
20 UART_RX Simple serial RX
21 UART_TX Simple serial TX
22 RXD All function serial RX
23 LINK2 Net gape 2 LED I/O indicte
24 CTS_N All function serial CTS
25 RIN GPIO
26 TXD All function serial TX
27 1.8V Net gape 1.8V output
28 VDD5V 5V input

HLK-RM04 это новый, недорогой модуль со встроенными интерфейсами UART, USB, Ethernet и Wi-Fi. Конечно, есть более дешевые модули (например ESP-01 на контроллере ESP8266 [2]), но HLK-RM04 подкупает обилием интерфейсов. Причем интерфейсов Ethernet у него целых 2 штуки - чтобы их получить, нужно всего лишь подключить к дифференциальным сигналам приема/передачи Ethernet-трансформаторы. Модуль поддерживает стек TCP/IP, и может при соответствующей настройке гонять трафик между всеми имеющимися интерфейсами. Wi-Fi поддерживает режим как точки доступа, так и беспроводного клиента. С помощью модуля HLK-RM04 обычные микроконтроллерные устройства можно довольно легко подключить как к локальной сети, так и к Интернет.

HLK RM04 block diagram

[Основные возможности модуля]

• Беспроводное управление, телеметрия.
• Домашняя (системы "Умный дом") и производственная автоматизация.
• Автодиагностика OBD-II через Wi-Fi.

[Технические параметры]

HLK RM04 dimensions

Примечание: все логические уровни логики привязаны к напряжению питания 3.3V (т. е. лог. 0 близок к 0V, лог. 1 близка к 3.3V).

HLK RM04 typical SCH serial WiFi

HLK RM04 typical SCH serial Ethernet WAN

HLK RM04 typical SCH WiFi router with serial port

[Кнопка Exit/Default]

Эта кнопка при нажатии выдает на вывод модуля 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-команд.

HLK RM04 enter AT mode with ES RST pin

Способ 2: с помощью специально сформированной последовательности символов, переданной микроконтроллером. Этот способ работает, если он разрешен командой at+escape=1. Последовательность состоит из 3 символов "+" с интервалом между ними Tpt (время последовательного фрейма) from one another, затем пауза 500 мс (интервал между 400 мс и 600 мс), после чего посылаются 3 символа 0x1B с интервалом Tpt. После того, как модуль принял эту последовательность данных, он перейдет в режим AT-команд.

HLK RM04 enter AT mode with special ESC sequence

Способ 3: есть еще одна специальная последовательность симоволов для выхода из прозрачного режима, её работа разрешается командой at+escape2=1. Она состоит из 3 символов "+", см. диаграмму ниже. Перед этими треся символами должен быть интервал паузы Tescape (длительностью 2000 мс), и после него должен быть интервал времени Tpt (время последовательного фрейма).

HLK RM04 enter AT mode with special sequence Tescape2

По сравнению с предыдущим способом последний способ проще, однако из-за простоты может произойти неожиданный выход из прозрачного режима, если в потоке данных встретятся подряд три символа "+".

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

[Быстрый запуск]

Чтобы можно было использовать модуль HLK-RM04, нужна минимальная обвязка, позволяющая подключить его к сети Ethernet. Тогда через веб-интерфейс станет доступен интерфейс конфигурирования модуля. К Ethernet модуль подключается через стандартный Ethernet-трансформатор, что можно сделать самому. Однако удобнее всего купить внешнюю материнскую плату для модуля KIT-V2.3 (стоит она недорого, всего лишь $4.45 на aliexpress):

HLK RM04 KITV1 7 sch

Для питания модуля HLK-RM04 потребуется источник постоянного стабилизированного напряжения 5V на ток не менее 500 мА. Я взял для этой цели обычное зарядное устройство для смартфона (обычно такие зарядные устройства дают ток 1A и больше).

Чтобы сконфигурировать модуль HLK-RM04, нужно подключиться к его веб-серверу. Это можно сделать 2 способами - либо через интерфейс WAN, либо через интерфейс LAN. Оба эти способа отличаются друг от друга только сетевыми настройками - нужно подключить модуль к компьютеру через сеть. Дальше, если знать сетевой IP-адрес модуля, нужно подключиться к нему браузером к порту 80, ввести логин/пароль admin/admin, после чего откроется WEB-интерфейс конфигурирования модуля.

LAN. Этот интерфейс с завода имеет фиксированную настройку на IP-адрес 192.168.16.254 с маской 255.255.255.0. Поэтому потребуется настройка сетевого интерфейса компьютера так, чтобы они соответствовали этим фиксированным настройкам. Вбейте в настройку сетевой карты компьютера любой адрес, чтобы он попал в эту подсеть, например 192.168.16.100.

Итак, модуль подключен к сети, мы знаем его IP-адрес. Теперь запустите браузер, и введите в строке адреса браузера этот адрес IP. Для подключения через WAN это будет адрес, который дал сервер DHCP, а для подключения через LAN это будет адрес 192.168.16.254.

Веб-сервер модуля 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 поддерживает все существующие системы шифрования.

HLK RM04 mode default

В этом режиме включен Ethernet2 (WAN), остальные сетевые интерфейсы (WiFi, Ethernet1 LAN) отключены. При соответствующей настройке данные передаются между UART1 и Ethernet2. На интерфейсе Ethernet2 может быть сконфигурирован как динамический IP-адрес (через DHCP), так и статический IP-адрес.

HLK RM04 mode serial WAN

В этом режиме Wi-Fi включен в режиме клиента, интерфейсы Ethernet1 и Ethernet2 отключены. С помощью соответствующих установок данные могут передаваться между UART1 и сетью Wi-Fi. WiFi клиент может быть настроен как на получение IP-адреса через DHCP, таки и может быть настроен статический IP-адрес. Безопасность Wi-Fi поддерживает все существующие методы шифрования.

HLK RM04 mode serial WiFi client

В этом режиме Wi-Fi включен в режиме точки доступа (Access Point, AP), интерфейсы Ethernet1 и Ethernet2 отключены. С помощью соответствующих установок данные могут передаваться между UART1 и сетью Wi-Fi. Сервер DHCP модуля включен по умолчанию, он может раздавать адреса клиентам WiFi. Безопасность Wi-Fi поддерживает все существующие методы шифрования.

HLK RM04 mode serial WiFi AP

[Сетевые коммуникации модуля HLK-RM04]

Вышеуказанные методы настройки режима работы только определяют, как могут быть переданы через сеть данные, которые поступают в обоих направлениях через интерфейс UART модуля HLK-RM04. Другими словами это определение физической среды передачи данных через сеть. Но необходимо также настроить метод передачи данных на основе имеющихся сетевых протоколов. Для модуля HLK-RM04 имеется 4 таких метода:

• Сервер TCP
• Клиент TCP
• Сервер UDB
• Клиент UDB

Чаще всего обмен данными в сети происходит между двумя точками таким образом, что одна точка считается сервером, другая клиентом. Сервер является пассивной стороной соединения - он ждет, когда клиент к нему подключится. К одному серверу обычно может подключиться больше одного сетевого клиента. Модуль 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), система автоматически перезагрузится. После перезагрузки все настройки перейдут в заводское состояние. Заводские настройки следующие:

Примечание: интервалы времени TES, TRST, Tescape2 относятся к специальным длительностям импульса лог. 0 на выводе ES/RST. TES: если длительность лог. 0 будет больше TES и меньше TRST, то модуль перейдет в режим обработки AT-команд. Если длительность лог. 0 превысит TRST, то модуль сбросит свои настройки в состояние по умолчанию (заводские настройки).


ncrmnt , ты тут пропиарил HLK во все щели, ану давай подробностей народу (интересует исключительно в паре с openwrt):
- ты его заводил на openwrt? судя по образу из 4МБ флеша останется около 500кБ для своих нужд - верно? (я в курсе про 8МБ версию, но мало ли как китайцы приколят, плюс слышал что видеть все 32МБ РАМ надо будет постараться)
- сколько штук у тебя вращается за все время использования?
- насколько надежны (в смысле зависаний, потери wifi и прочие мелкие неприятности)?
- не схлопнется ли производитель в ближайшие пару лет? (может слышал слухов каких. требуется для оценки пригодности решения в маленьком недоэнтерпрайзе на несколько лет)
- с какой точностью можно будет выдержать тайминги на GPIO? 10мс будет предостаточно.

use case - стадо девайсов (100-150шт) на площади 3-5тыс метров - сбор данных, управление выводами, трафик небольшой, даже очень маленький.

ну и в целом - если есть какие истории успеха/неуспеха - буду очень признателен за уделенное время.


- ты его заводил на openwrt? судя по образу из 4МБ флеша останется около 500кБ для своих нужд - верно? (я в курсе про 8МБ версию, но мало ли как китайцы приколят, плюс слышал что видеть все 32МБ РАМ надо будет постараться)

йеп. Взял 2 штуки, потом еще взял базовую платку. 32/8 версии тогда не было, флеш и рам перепаивал на более емкие. Для того, чтобы увидел 32 надо залить другой бут (по крайней мере на моих, как сейчас - не знаю).

- сколько штук у тебя вращается за все время использования?

выше написано, взял для пары проектов, пока не было времени воткнуть никуда толком.

- насколько надежны (в смысле зависаний, потери wifi и прочие мелкие неприятности)?

В 16 мб версии может придти ООМ и всех поубивать. 32мб несколько часов на тестах пахала, в продакшене в курятнике пока не поставил, так что таких тестов нет.

- не схлопнется ли производитель в ближайшие пару лет? (может слышал слухов каких. требуется для оценки пригодности решения в маленьком недоэнтерпрайзе на несколько лет)

Никаких гарантий, це китай.

- с какой точностью можно будет выдержать тайминги на GPIO? 10мс будет предостаточно.

use case - стадо девайсов (100-150шт) на площади 3-5тыс метров - сбор данных, управление выводами, трафик небольшой, даже очень маленький.

HLK-RM04 RM04 Uart серийный Порты и разъёмы для оптоволкна Вай-Фай Беспроводной модуль с адаптером набор «сделай сам»

Характеристики: полный набор функций беспроводного маршрутизатора:

2. Модуль Встроенный 10 / 100 м адаптивный интерфейс Ethernet, с последовательным Максимальная скорость передачи данных до 230,4 кбит/с 1, последовательного порта WI-FI модуль, последовательного порта модуля локальной сети "Ethernet, Ethernet Многофункциональный WIFI модуль, серийный Серверный модуль, позволяет вам легко установить сеть, полностью прозрачную двустороннюю передачу данных, чтобы обеспечить максимальную простоту использования и совместимость

3,3. Используя Всемирную верхнюю микросхема сети поставщика Lei Ling ralink, сырье используется TDK/Murata и другими крупными производителями, чтобы заложить стабильную и надежную основу

4. Надежное системное ядро для безопасности и длительной работы

5. Маленький размер: 40*29 (на одну третью меньше кредитной карты)

6. Рабочая температура: -20

7. Встроенный 360M MIPS CPU, 16M и 4M FLASH и беспроводной baseband и RF передний конец и различные периферийные шины

8. Поддерживает IEEE 802,11 b / g / n через CE и FCC, поддерживает прозрачный протокол передачи данных

9. Поддержка подавляющего большинства WIFI шифрования и алгоритмов, WEP / WAP-PSK / WAP2-PSK / WAPI, тип шифрования WEP64 / WEP128 / TKIP / AES

10. Предоставьте по + конфигурацию набора инструкций, предоставьте дружественную веб-страницу конфигурации, через веб-конфигурацию

11. Дополнительная Встроенная или внешняя антенна

12. Поддержка беспроводной работы в режиме AP и режиме node (station), реальная аппаратная точка доступа, поддержка iphone мобильный телефон android системы и все другие WIFI подключения, поддержка AP и станции в то же время онлайн функции

14. Поддержка DHCP автоматического получения IP, поддержка работы в режиме AP для распределения IP от устройства

15, последовательный порт регулируется, максимальная поддержка 230400

16, Сильная техническая поддержка, может обеспечить индивидуальные потребности.

Читайте также: