Администрирование Железо HLK-RM04: система AT-команд Thu, April 18 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

HLK-RM04: система AT-команд Печать
Добавил(а) microsin   

Модуль HLK-RM04 может конфигурироваться не только через WEB-интерфейс, но и с помощью текстовых AT-команд. Такой режим принцип управления позволяет конфигурировать модуль с помощью микроконтроллера через интерфейс TTL UART. Чтобы войти в режим AT-команд, нужно на вывод ES/RST модуля (ножка 10) подать импульс лог. 0 длительностью больше 0.1 секунды и меньше 5 секунд.

HLK RM04 enter AT mode with ES RST pin

Есть и другие способы входа в режим AT-команд, подробнее см. [1].

По умолчанию UART модуля HLK-RM04 настроен на скорость 115200 бод, 8 бит данных, 1 стоп-бит, без контроля четности. Обмен осуществляется через 2 сигнальных вывода UART_RX (ножка 20) и UART_TX (ножка 21).

[AT-команды модуля]

Почти все команды, приведенные ниже в таблице, могут использоваться в двух формах: для установки параметра, и для запроса значения параметра.

Установка параметра. Для установки параметра AT-команда должна быть введена так:

AT+команда=значение

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

Запрос параметра. Для того, чтобы узнать значение параметра, AT команда должна быть введена со знаком вопроса ? после символа =, например:

AT+команда=?

После этого модуль выдаст значение параметра.

Ниже в таблице приведены доступные команды и их краткое описание.

Команда Описание
C2_CLport UART2: локальный порт клиента TCP/UDP.
C2_mode UART2: режим последовательной сети.
C2_port UART2: номер сетевого порта, локальный или внешний.
C2_protocol UART2: сетевой протокол.
C2_remoteip UART2: доменное имя или IP-адрес внешнего сервера.
C2_tcp_auto UART2: автоматическое переподключение клиента TCP к серверу.
C2_tcp_client_check UART2: обнаружение состояния клиента TCP.
C2_timeout UART2: таймаут.
C2_uart Конфигурирование UART2.
C2_uartpacklen UART2: длина пакета.
C2_uartpacktimeout UART2: таймаут пакета.
Channel Канал WiFi.
CLport Локальный порт клиента TCP/UDP.
default Восстановить заводские настройки.
dhcpc Конфигурация клиента DHCP.
dhcpd Конфигурация сервера DHCP.
dhcpd_ip IP-адрес сервера DHCP.
dhcpd_dns Доменное имя сервера DHCP.
dhcpd_time Время аренды IP-адреса сервера DHCP.
escape Выход из режима прозрачной передачи.
Get_MAC Получить MAC-адрес.
mode Режим работы сетевого соединения - клиент или сервер.
net_commit Подтверждение сетевой конфигурации.
net_dns Сетевой адрес DNS-сервера.
net_ip Сетевой IP-адрес.
net_wanip IP-адрес WAN.
netmode Режим работы модуля как моста передачи данных.
out_trans Выход из режима прозрачного моста.
reconn Перезапуск служб.
reboot Перезагрузить модуль.
remoteip Доменное имя или IP-адрес внешнего сервера.
remoteport Номер порта сервера.
remotepro Тип сетевого протокола (TCP или UDP).
RTS Управление последовательным выходом (RS485).
S2N_Stat Последовательное функциональное состояние.
save Сохранение конфигурации.
suspend Приостановка работы системы.
tcp_auto Автоматическое пересоединение клиента TCP к серверу.
tcp_client_check Обнаружение состояния клиента TCP.
timeout Сетевой таймаут.
uart Конфигурация последовательного порта UART1.
uartpacklen Длина фрейма последовательного порта в битах UART1.
uartpacktimeout Таймаут фрейма последовательного порта UART1.
ver Версия ПО модуля.
wifi_conf Конфигурация WiFi.
wifi_ConState Состояние соединения клиента WiFi.
wifi_Scan Сканирование для получения списка сетей WiFi.
XON_XOFF Включение управления потоком XON/XOFF.

[Режим работы модуля]

Установка режима работы модуля (физическая среда передачи данных):

at+netmode=Режим

Запрос информации о текущем режиме:

at+netmode=?

Могут быть установлены следующие режимы:

Режим Описание
0 Режим по умолчанию
1 UART - Ethernet
2 UART - WiFi клиент
3 UART - WiFi точка доступа

Подробнее про режимы см. статью [1], раздел "Режимы работы модуля HLK-RM04 как моста для передачи данных".

Команда управляет прозрачным режимом модуля.

at+out_trans=Значение

Фактически этой командой не может быть произведен выход из прозрачного режима, если команда посылается через UART1, когда модуль работает в прозрачном режиме.

Значение Описание
0 Вход в прозрачный режим
1 Выход из прозрачного режима

Перезапуск служб, которые формируют мост для передачи данных между UART1 и сетевыми интерфейсами.

at+reconn=Значение

Значение Описание
0 Недействительно
1 Перезапуск служб

[Конфигурирование WiFi]

Устанавливает используемый канал Wi-Fi. По умолчанию установлен канал 0, может быть установлен любой из каналов от 0 до 14. Пример установки канала 1:

at+Channel=1

Запрос текущего канала:

at+Channel=?

Команда позволяет узнать IP-адрес на интерфейсе WAN. Синтаксис:

at+net_wanip=?

Команда позволяет узнать состояние соединения WiFi. Синтаксис:

at+wifi_ConState=?

Команда позволяет установить и узнать конфигурацию соединения WiFi. Синтаксис установки конфигурации:

at+wifi_conf=ssid,encrypt_type,password

Здесь:

ssid идентификатор точки доступа WiFi
encrypt_type протокол шифрования трафика WiFi
password пароль для подключения к точке доступа WiFi

Возможные варианты шифрования трафика:

encrypt_type Описание
none Открытая сеть
wep_open Шифрование WEP, открытая аутентикация
wep Шифрование WEP, шифрованная аутентикация
wpa_tkip WPA TKIP
wpa_aes WPA AES
wpa2_tkip WPA2 TKIP
wpa2_aes WPA2 AES
wpawpa2_tkip WPA/WPA2 TKIP
wpawpa2_aes WPA/WPA2 AES

Синтаксис запроса конфигурации:

at+wifi_conf=?

Сканирование для получения списка доступных сетей WiFi. Синтаксис:

at+wifi_Scan=?

[Настройка клиента DHCP]

Команда разрешает / запрещает работу клиента DHCP на модуле. Синтаксис:

at+dhcpc=Значение

Значение Описание
0 Статическое назначение IP-адреса
1 Получение IP-адреса от сервера DHCP

[Настройка сервера DHCP]

Команда разрешает / запрещает работу сервера DHCP на модуле. Синтаксис:

at+dhcpd=Значение

Значение Описание
0 Закрыть сервер DHCP
1 Запустить сервер DHCP

Настройка адресов DNS, которые сервер DHCP предоставляет клиентам. Синтаксис:

at+dhcpd_dns=dns1,dns2

Здесь dns1 и dns2 - первичный и вторичный адреса серверов DNS. Адреса вводятся в обычном формате A.B.C.D, без кавычек и пробелов.

Синтаксис запроса параметра:

at+dhcpd_dns=?

Настройка диапазона IP-адресов, которые выдаются клиентам DHCP. Синтаксис:

at+dhcpd_ip=ip_start,ip_end,mask,gateway

Здесь:

ip_start начало диапазона адресов
ip_end конец диапазона адресов
mask маска подсети
gateway адрес шлюза для сети

Запрос параметров:

at+dhcpd_ip=?

Устанавливает время аренды IP-адреса клиентом DHCP в секундах. По умолчанию установлено время аренды 86400 секунд. Синтаксис (пример установки времени 50000 секунд):

at+dhcpd_time=50000

Запрос параметра:

at+dhcpd_time=?

[Настройка сетевого интерфейса]

Команда позволяет получить значение MAC-адреса. Синтаксис:

at+Get_MAC=?

Подтверждение правильности сетевых настроек. Если настройки подтверждены, они будут сохранены соответствующей командой. Синтаксис:

at+net_commit=Значение

Значение Описание
0 Настройки недействительны
1 Настройки подтверждены

Настройка параметров сетевого адреса (статический адрес). Эта команда не действует, когда включена функция клиента DHCP. Синтаксис:

at+net_ip=ip,mask,gateway

Здесь:

ip IP-адрес
mask маска подсети
gateway адрес шлюза для сети

Запрос параметров:

at+net_ip=?

Настройка параметра адресов DNS. Эта команда не действует, когда включена функция клиента DHCP. Синтаксис:

at+net_dns=dns1,dns2

Здесь dns1 и dns2 - первичный и вторичный адреса серверов DNS. Адреса вводятся в обычном формате A.B.C.D, без кавычек и пробелов.

Запрос параметров:

at+net_dns=? 

[Настройка сетевого подключения]

Устанавливает локальный порт TCP/UDP. Синтаксис:

at+CLport=номер_локального_порта

Настраивается режим работы сетевых соединений. Синтаксис:

at+mode=Режим

Режим Описание
None Не установлено
Client Клиент TCP/UDP
Server Сервер TCP/UDP

Настройка IP-адреса или доменного имени для внешнего сервера. Синтаксис:

at+remoteip=remoteip

Здесь адрес remoteip вводится в обычном формате A.B.C.D, либо в обычном формате доменного имени без кавычек и пробелов.

Запрос параметра:

at+remoteip=? 

Настраивается протокол сетевых соединений. Синтаксис:

at+remotepro=Протокол

Протокол Описание
None Протокол не установлен
Tcp Протокол TCP
Udp Протокол UDP

Установка порта подключения для внешнего сервера. Синтаксис:

at+remoteport=номер_порта

Опция задает автоматически восстанавливать потерянное соединение TCP (когда модуль работает как клиент TCP). Синтаксис:

at+tcp_auto=значение

Здесь значение 0 отключает функцию восстановления соединения, значение 1 включает.

Состояние обнаружения подключения клиента. Синтаксис:

at+tcp_client_check=Значение

Значение Описание
0 Закрыто
1 Открыто

Устанавливает таймаут сервера в секундах. Если сетевое соединение с клиентом не использовалось в течение указанного времени, сервер разорвет соединение. По умолчанию установлено 0, что означает, что сервер никогда не разорвет соединение. Синтаксис:

at+timeout=timeout

[Настройка последовательного порта UART1]

Команда разрешает / запрещает выход из прозрачного режима передачи с помощью специальной последовательности символов, поступающей на вход UART1. Подробнее см. [1], раздел "RS-232 (UART1)". Синтаксис:

at+escape=Значение

Значение Описание
0 Последовательность выхода из прозрачного режима выключена
1 Последовательность выхода из прозрачного режима включена.

Также имеется еще одна упрощенная последовательность символов, включаемая командой at+escape2=1. Подробнее см. статью [1].

Команда разрешает / запрещает выход из прозрачного режима передачи с помощью упрощенной последовательности символов, поступающей на вход UART1. Подробнее см. [1], раздел "RS-232 (UART1)". Синтаксис:

at+escape2=Значение

Значение Описание
0 Последовательность выхода из прозрачного режима выключена
1 Последовательность выхода из прозрачного режима включена.

Команда управляет сигналом аппаратного управления потоком RTS - разрешена его работа или нет. Также этот сигнал используется для управления приемопередатчиком RS485. Синтаксис:

at+RTS=Значение

Значение Описание
0 Работа сигнала RTS запрещена.
1 Работа сигнала RTS разрешена.

Опрос состояния последовательного соединения. Синтаксис:

at+S2N_Stat=?

Настройка последовательного интерфейса UART1. Синтаксис:

at+uart=baud,data,parity,stop

Здесь:

baud скорость в бодах(число в диапазоне 1200..500000), по умолчанию 115200
data количество бит данных, по умолчанию 8
parity наличие бита контроля четности, по умолчанию n (контроль четности отключен)
stop количество стоп-битов, по умолчанию 1

Запрос параметров:

at+uart=?

Задает размер пакета последовательного интерфейса в битах, по умолчанию 64. Синтаксис:

at+uartpacklen=длина_фрейма_в_битах

Задает таймаут последовательного интерфейса в миллисекундах (длительность фрейма), по умолчанию 10. Синтаксис:

at+uartpacktimeout=длительность_фрейма_мс

Команда управляет работой программного управления потоком XON/XOFF - разрешена эта функция или или нет. Синтаксис:

at+XON_XOFF=Значение

Значение Описание
0 XON/XOFF запрещен.
1 XON/XOFF разрешен.

[Настройка последовательного порта UART2]

Набор команд для UART2 такой же, как и для UART1, только к команде добавляется префикс C2.

Настраивается режим работы сетевых соединений. Синтаксис:

at+C2_mode=Режим

Режим Описание
None Не установлено
Client Клиент TCP/UDP
Server Сервер TCP/UDP

Настройка IP-адреса или доменного имени для внешнего сервера. Синтаксис:

at+C2_remoteip=remoteip

Здесь адрес remoteip вводится в обычном формате A.B.C.D, либо в обычном формате доменного имени без кавычек и пробелов.

Запрос параметра:

at+C2_remoteip=? 

Установка порта подключения для внешнего сервера. Синтаксис:

at+C2_remoteport=номер_порта

Настраивается протокол сетевых соединений. Синтаксис:

at+C2_remotepro=Протокол

Протокол Описание
None Протокол не установлен
Tcp Протокол TCP
Udp Протокол UDP

Опция задает автоматически восстанавливать потерянное соединение TCP (когда модуль работает как клиент TCP). Синтаксис:

at+C2_tcp_auto=значение

Здесь значение 0 отключает функцию восстановления соединения, значение 1 включает.

Состояние обнаружения подключения клиента. Синтаксис:

at+С2_tcp_client_check=Значение

Значение Описание
0 Закрыто
1 Открыто

Устанавливает таймаут сервера в секундах. Если сетевое соединение с клиентом не использовалось в течение указанного времени, сервер разорвет соединение. По умолчанию установлено 0, что означает, что сервер никогда не разорвет соединение. Синтаксис:

at+С2_timeout=timeout

Настройка последовательного интерфейса UART2. Синтаксис:

at+C2_uart=baud,data,parity,stop

Здесь:

baud скорость в бодах(число в диапазоне 1200..500000), по умолчанию 115200
data количество бит данных, по умолчанию 8
parity наличие бита контроля четности, по умолчанию n (контроль четности отключен)
stop количество стоп-битов, по умолчанию 1

Запрос параметров:

at+C2_uart=? 

Задает размер пакета последовательного интерфейса в битах, по умолчанию 64. Синтаксис:

at+С2_uartpacklen=длина_фрейма_в_битах

Задает таймаут последовательного интерфейса в миллисекундах (длительность фрейма), по умолчанию 10. Синтаксис:

at+С2_uartpacktimeout=длительность_фрейма_мс

[Другие команды]

Команда восстанавливает настройки модуля по умолчанию (заводские настройки). Синтаксис:

at+default=1

Команда немедленно перезагружает модуль. Синтаксис:

at+reboot=1

Команда принимает или отменяет изменения конфигурации и перезапускает службы. Синтаксис:

at+save=Значение

Значение Описание
0 Отменить изменения настроек.
1 Сохранить изменения настроек.

Команда приостанавливает работу модуля. Синтаксис:

at+suspend=Значение

Значение Описание
0 Не оказывает никакого влияния.
1 Приостанавливает работу модуля.

Показывает версию модуля. Синтаксис:

at+ver=?

err

escap

excxxx

gpio_mode

gpio_read

gpio_save

gpio_write

pm

settings

settings_done

status

suspend

uart

uartpackintertimeout

XON_XOFF

[Значения по умолчанию для AT-команд]

Команда Значение параметра
at+C2_CLport 0
at+C2_mode 0
at+C2_port 8081
at+C2_protocol 1
at+C2_remoteip 192.168.1.245
at+C2_tcp_auto 1
at+C2_tcp_client_check 1
at+C2_timeout 0
at+C2_uart 57600,8,n,1
at+C2_uartpacklen 64
at+C2_uartpacktimeout 10
at+Channel 1
at+dhcpc 1
at+dhcpd 1
at+dhcpd_dns 192.168.16.1,8.8.8.8
at+dhcpd_ip 192.168.16.100,192.168.16.200,255.255.255.0,192.168.16.1
at+dhcpd_time 86400 (секунд)
at+escape 0
at+escape2 1
at+mode server
at+net_dns 192.168.11.1,8.8.8.8
at+net_ip 192.168.11.254,255.255.255.0,192.168.11.1
at+netmode 0
at+remoteip 192.168.11.245
at+remoteport 8080
at+remotepro tcp
at+tcp_auto 1
at+timeout 0
at+uart 115200,8,n,1
at+uartpacklen 64
at+uartpacktimeout 10
at+wifi_conf Hi-Link_,wpa2_aes,12345678

[Ссылки]

1. HLK-RM04.

 

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


Защитный код
Обновить

Top of Page