HLK-RM04 |
![]() |
Добавил(а) microsin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. Области применения: • Беспроводное управление, телеметрия. [Технические параметры]
Габаритные размеры: Цоколевка выводов:
Примечание: все логические уровни логики привязаны к напряжению питания 3.3V (т. е. лог. 0 близок к 0V, лог. 1 близка к 3.3V). [Кнопка 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-команд. Способ 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 предназначен для администрирования. Вот его основные функции: • Экспорт и импорт настроек через выгрузку/загрузку файла. [Режимы работы модуля 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 таких метода: • Сервер TCP Чаще всего обмен данными в сети происходит между двумя точками таким образом, что одна точка считается сервером, другая клиентом. Сервер является пассивной стороной соединения - он ждет, когда клиент к нему подключится. К одному серверу обычно может подключиться больше одного сетевого клиента. Модуль 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, то модуль сбросит свои настройки в состояние по умолчанию (заводские настройки).
[Ссылки] 1. Hi-Link HLK-RM04 site:wiki.openwrt.org. |