Содержание
AT команда служит для управления некоторыми функциями модема. Команды можно вводить специальными программами, это намного проще чем встроенным в Windows XP hyperterminal. Для этого можно использовать программы: My Huawei Terminal или DC-Unlocker. Перед использованием данных программ нужно закрыть все другие программы которые могут использовать модем. Для модемов Huawei нужно подключаться на COM порт «3G PC UI Interface«, для модемов ZTE MF на COM порт «ZTE Proprietary USB Modem«. Как пользоваться смотрим картинки, всё достаточно просто. Если команд несколько, сначала вводим одну — жмём Enter, потом следующую и опять жмём Enter.ТерминалТерминал — программа терминала для прямой работы с беспроводными модемами Huawei, а также (ограниченно) с любыми другими модемами.Скачать: ТерминалMy Huawei Terminal (Хуавей модем терминал)Huawei Terminal — программа терминала для прямой работы с беспроводными модемами Huawei, а также (ограниченно) с любыми другими модемами. Как вести код через my huawei terminal командыЗапускаем My Huawei Terminal. В окне нужно выбрать HUAWEI Mobile Connect — 3G PC UI Interface Нажимаем Подключить (Connect)Для уверенности, что вы действительно подключились, наберите команду AT и нажмите отправить: Если в ответ от модема OK. Значит вы все сделали правильно и все готово для работы с модемом.AT^CARDLOCK=»NCK Code», где NCK Code — это код разблокировки который вы приобрели у нас. Например код 43963141 тогда наша команда будет иметь такой вид AT^CARDLOCK=»43963141″. Вставляем команду AT^CARDLOCK=»43963141″ и нажимаем кнопку ENTER клавиатуре.Скачать: My Huawei TerminalDC-UnlockerDC-Unlocker client первая в Мире программа которая начала специализироваться на разблокировке беспроводных 2G3G4G модемов форм-фактора USBPCMCIA. Со временем модельный ряд начал расширятся мобильными телефонами, смартфонами, WiFi роутерами . Как вести код через DC-Unlocker clientКачаем программу DC-Unlocker client и устанавливаем ее. После чего запускаем. 1. Далее меняем язык на русский. Нажимаем Options и выбираем Russian2. Выбираем производителя модема или роутера в нашем случаи это Huawei. Нажимаем на Лупу как показано на картинке и пойдет чтение информации. Внимание! родная программа от модема должна быть закрыта). После прочтения информации вы увидите Статус SIM блокировки — Блокировано3. Далее нам необходимо вести команду AT^CARDLOCK=»NCK Code», где NCK Code — это код разблокировки который вы приобрели у нас. Например код 12860791 тогда наша команда будет иметь такой вид AT^CARDLOCK=»12860791″. Вставляем команду AT^CARDLOCK=»12860791″ внизу прочитанной информации и нажимаем кнопку ENTER клавиатуре.4. После нажатия на ENTER произойдет ввод кода в наше устройство и выйдет сообщение OK5. Нажимаем еще раз на Лупу, чтобы прочитать заново информацию. И вы увидим, где Статус SIM блокировки — надпись РазблокированВот и все. Наше устройство успешно разблокировано. AT^CARDLOCK=»NCK Code» – ввод кода снятия блокировки (8-значное число). NCK Code — это код разблокировки. Пример команды AT^CARDLOCK=»12345678″ СкачатьВерсия программы 1.00.1336Новые версииздесьPuTTYСкачать: PuTTYMMD X Mini Mobile DataТак же в этой программе можно посмотреть другие параметры модема.Скачать: MMD X Mini Mobile DataВвод NCK кода разблокировки если модем не запрашивает.Скачиваем программу Huawei Modem Tool v3.3, вставляем модем БЕЗ СИМ карты — если запуститься программа модема то закрываем, запускаем huawei modem tool и ждём пока определиться модем, вводим код разблокировки и нажимаем Send Unlock code. После этого модем разблокируется.Смотрим картинку там всё подробно нарисовано.Скачать: Huawei Modem Tool v3.3Внимание: После ввода команды, во всех трёх программах должен быть ответ ОК. Это значит что команда была принята.Huawei data card unlocker v1.1Программа предназначена для разблокировки модемов Huawei E220, E62X, E630, E870, E169G, E27X, E618, E630+Скачать: Huawei data card unlocker v1.1Список доступных at команды модема Huawei и ZTE MF смотрим здесь: AT команды для модемов Huawei и для ZTE MF</span>ДомойДля начинающих
В предыдущей статье мы говорили о модуле SIM800l. В этой статье я хотел бы рассказать об управлении этим модулем. Как было сказано ранее — модуль управляется через UART интерфейс посредством AT команд. Конечно, все AT команды я перечислять не буду — для этого существует даташит, в котором все они подробно расписаны. Даташит вы можете скачать в конце статьи. Остановимся на самых распространенных и необходимых AT командах управления модулем SIM800l. Но прежде, я вкратце расскажу о том как подключить модуль. Итак, с питанием понятно — напряжение 4В и ток не менее 2А. Также понадобится переходник USB-UART, например такой. Подключаем переходник в свободный USB порт компьютера устанавливаем драйвера, далее подключаем RX вывод переходника к TX выводу модуля, а TX вывод модуля к RX выводу переходника. Вот и все. Запускаем любую терминальную программу (Hyper Terminal или PuTTy), и вносим настройки. Собственно по настройкам:
- Номер COM порта (смотрим в диспетчере устройств),
- Скорость соединения — 9600 (Хотя изначально модуль настроен на автоопределение).
- Четность — (8-N-1 4)
- Управление потоком — нет.
После подключения шлем модулю первую команду — AT и жмем Ентер. Если все правильно модуль должен ответить — OK. Теперь несколько команд для принудительной настройки UART порта модуля:
AT+IPR=115200 — эта команда настраивает скорость порта на 115200. Можно поставить любое значение: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200. Если поставить 0, то это означает автоопределение скорости (настройка по умолчанию). На команду модуль отвечает OK, или ERROR — если что-то не так. Чтобы узнать текущую установленную скорость даем команду AT+IPR?
AT+ICF=3,3 — эта команда служит для установки четности порта модуля. Имеет два параметра. Первый — отвечает за кол-во бит в посылке/четность/стопбит. Вот все варианты: 1 – 8/0/2, 2 – 8/1/1, 3 – 8/0/1, 4 – 7/0/2, 5 – 7/1/1, 6 – 7/0/1. Второй параметр — четность. Варианты: 0 – нечётный, 1 – чётный, 3 – нет. Т.е. команда AT+ICF=3,3 означает 8/0/1 (8 бит посылка, четность нет, стоп бит — 1). Для проверки текущей четности вводим AT+ICF?.
AT+IFC=0,0 — эта команда для установки контроля передачи данных. Первый параметр – терминалом от модуля, второй параметр – модулем от терминала. Возможные варианты: 0 – нет контроля, 1 – программный, 2 – аппаратный. По умолчанию контроль выключен.
Далее команды о состоянии модуля. Думаю принцип понятен и их я приведу уже в виде таблиц для удобства.
Команда | Ответ | Описание |
AT+GCAP | Возможности модуля | |
AT+GMM | Идентификатор модуля | |
AT+GMR | Ревизия | |
AT+GSN | IMEI |
AT+COPS? | Информация об операторе |
AT+COPS=? | Доступные операторы |
AT+CPAS | Информация о состояние модуля 0 – готов к работе 2 – неизвестно 3 – входящий звонок 4 – голосовое соединение |
AT+CREG? | Тип регистрации сетиПервый параметр: 0 – нет кода регистрации сети 1 – есть код регистрации сети 2 – есть код регистрации сети + доп параметрыВторой параметр: 0 – не зарегистрирован, поиска сети нет 1 – зарегистрирован, домашняя сеть 2 – не зарегистрирован, идёт поиск новой сети 3 – регистрация отклонена 4 – неизвестно 5 – роуминг |
AT+CSQ | Уровень сигнала: 0 -115 дБл и меньше 1 -112 дБл 2-30 -110..-54 дБл 31 -52 дБл и сильнее 99 – нет сигнала. |
AT+CCLK? | Текущая дата и время телефона. |
AT+CBC | Монитор напряжения питания модуляПервый параметр: 0 – не заряжается 1 – заряжается 2 – зарядка оконченаВторой параметр: 1-100 % — уровень заряда батареиТретий параметр: Напряжение питание модуля (VBAT), мВ |
AT+CADC? | Значение АЦП (до 2,8В) |
Команды настроек вызовов
Команда | Ответ | Описание |
AT+CLIP=1 | OK | АОН 1 – вкл / 0 – выкл |
AT+GSMBUSY=0 | OK | Запрет входящих звонков 0 – разрешены 1 – запрещены |
ATS0=0 | OK | Автоответ 0 – ручной 1-более – автомотический после заданного количества звонков |
Команды настроек СМС
Команда | Ответ | Описание |
AT+CMGF=1 | OK | Текстовый режим 1 – включить 0 – выключить см. примечание |
AT+CSCS= «GSM» | OK | Кодировка текстового режима Доступны следующие кодировки: IRA, GSM, UCS2, HEX, PCCP, PCDN, 8859-1 см. примечание |
AT+CSCB=0 | OK | Приём специальных сообщений 0 – разрешен (по умолчанию) 1 – запрещен |
Прочие команды настроек модуля
Команда | Ответ | Описание |
ATE0 | OK | ЭХО 1 – вкл (по умолчанию) / 0 – выкл |
ATV1 | OK | Формат ответа модуля 0 – только ответ 1 – полный ответ с ЭХО (по умолчанию) |
AT+CMEE=0 | OK | Информация об ошибках 0 – отключён (по умолчанию) 1 – код ошибки 2 – описание ошибки |
AT+CCLK=»13/09/25,13:25:33+05″ | OK | Установка часов «yy/mm/dd,hh:mm:ss+zz» Где: год/месяц/дата, часы:минуты:секунды +часовой пояс |
AT+CPIN=XXXX | Ввод PIN кода | |
ATZ0 | Сброс настроек до значений по умолчанию (не до заводских) 0 или 1 – выбор профиля | |
AT&F | Сброс настроек до заводских | |
AT&W | OK | Сохранение настроек для текущего профиляПараметр 0 или 1 — выбор профиля Параметр указывать сразу за командой (AT&W0) |
AT+CPOWD=1 | NORMAL POWER DOWN | Выключение модуля 0 – срочное 1 – нормальное |
AT+CFUN=1,1 | Энергосберегающий режим и перезагрузкаПервый параметр: 0 – минимальный функционал 1 – нормальный режим (по умолчанию) 2 – выключения цепей приёма и передачи сигналаВторой параметр: 0 – выполнить без перезагрузки 1 – перезагрузить (доступно только в нормальном режиме, т.е. параметры = 1,1) |
Команды для осуществления телефонных звонков
Команда | Ответ | Описание |
ATD+380XXXXXXXX; | OK | Позвонить на номер +380XXXXXXXX; |
ATDL | OK | Позвонить по последнему исходящему номеру |
ATA | OK | Ответить на звонок |
ATH0 | OK | Повесить трубку/ разорвать соединение |
RING | Входящий звонок | |
AT+CLIP=1 | OK | см. настройки |
RING
+CLIP: «+380XXXXXXXX»,145,»»,,»»,0 |
Входящий звонок с включенным АОН Где:Первый параметр – номер телефона входящего звонка 2 – тип входящего номера 129 – не определен 161 – национальный 145 – интернациональный 177 – сетевой, специальный |
Команды для отправки СМС сообщений
Команда | Ответ | Описание |
AT+CMGS=
«+380XXXXXXXX» >Test sms.elschemo.ru |
Отправка СМС. Указываем номер получателя в кавычках и отправляем модулю с символом переноса строки (13 в ASCII). После приглашения «>» вводим текст сообщения. Для отправки в конце сообщения отправляем символ SUB (26 в ASCII) или ESC (27) для отмены. | |
+CMTI: «SM»,4 | Уведомление о приходе СМС.Второй параметр номер пришедшего СМС. | |
AT+CMGL=»REC UNREAD» | Чтение групп СМС. Всего 5 групп: REC UNREAD – входящие непрочитанные REC READ – входящие прочитанные STO UNSENT – Пользовательские непрочитанные STO SENT – пользовательские прочитанные ALL – прочитать все сообщения | |
AT+CMGR=2 | Чтение SMS сообщений. Запрос:Первый параметр – номер сообщения.Второй параметр (необязателен): 0 – обычный режим (по умолчанию) 1 – не изменять статус сообщения Ответ:Первый параметр – группа сообщений, см предыдущий пункт.Второй параметр – номер отправителя 3 – дата отправки Далее следует текс сообщения. | |
AT+CMGDA=»DEL SENT» | OK | Удаление групп СМС: DEL READ — прочитанные DEL UNREAD — не прочитанные DEL SENT — отправленные DEL UNSENT — не отправленные DEL INBOX — полученные DEL ALL — всех сообщения |
AT+CMGD=4 | OK | Удаление СМС.Первый параметр – номер сообщенияВторой параметр: 0 – удаление указанного сообщения (по умолчанию) 1 – удаление прочитанных сообщений 2 – удаление прочитанных и отправленных сообщений 3 – удаление прочитанных, отправленных и не отправленных сообщений 4 – удаление всех сообщений |
AT+CSCA? | Возвращает номер сервис центра отправки сообщений. |
Тоновый набор (DTMF)
Тоновые сигналы: 0-9,#,*,A-D
Команда | Ответ | Описание |
AT+VTD=3 | OK | Длительность тоновых сигналов для AT+VTD. Значение параметра 1..255 |
AT+VTS=»1,4,#,A,6,7,0″ | OK | Отправить последовательность тоновых сигналов (до 20). Длительность задается командой AT+VTS. |
AT+CLDTMF=7, «1,4,#,A,6,7,0» | OK | Проиграть на модуле (через аудио выход) тоновые сигналы.Первый параметр — длительность 1-100Второй параметр – строка тоновых сигналов, до 20. |
USSD
Команды приведены для текстового режима и в GSM кодировке.
Команда | Ответ | Описание |
AT+CUSD=1,»#100#» | USSD запросПервый параметр – режим обработки операции: 0 – выполнить запрос, ответ проигнорировать 1 – выполнить запрос, вернуть ответ 2 – отменить запросВторой параметр – запрос в кавычках. | |
ATD#100#; | Упрощенный USSD запрос (работает только при GSM кодировке) |
GPRS Настройка и установка GPRS соединения:AT+SAPBR=1,1 — установка GPRS связиAT+SAPBR=2,1 — полученный IP адрес+SAPBR: 1,1,«10.229.9.115»AT+SAPBR=4,1 — текущие настройки соединенияAT+SAPBR=0,1 — разорвать GPRS соединение
Bluetooth модуль HC-05 подключается по шине UART и способен выполнять AT-команды. AT-команда это строка начинающаяся с букв «AT» (от английского attention — «внимание»). Модуль выполняет поступившую команду и отправляет обратно ответ (результат выполнения команды), который также является строкой. В Bluetooth модулях HC-05 каждая команда (как и ответ) должна заканчиваться символами перевода строки «rn».
Подключение:
- Управлять Bluetooth модулем HC-05 можно либо с компьютера, либо через микроконтроллер, например, Arduino. Вывод RX модуля подключается к выводу TX, а вывод TX модуля подключается к выводу RX того устройства с которого он будет управляться.
- Для подключения модуля к компьютеру (без микроконтроллеров) потребуется адаптер USB-UART, или адаптер RS232-UART, или программатор с выводами TX RX, вместо адаптера USB-UART можно использовать плату Arduino, как описано в статье Wiki — используем Arduino как USB — UART преобразователь. Для отправки команд в модуль потребуется установить программу терминал. Одним из таких терминалов является свободно распространяемая программа Termite с поддержкой Русского языка.
- Для подключения модуля к Arduino можно воспользоваться аппаратной или программной шиной UART. При использовании аппаратной шины, модуль подключается к выводам TX и RX указанным на плате. При использовании программной шины, модуль подключается к назначаемым выводам TX и RX Arduino.
Настройка:
Модуль Bluetooth HC-05 сможет принимать команды только если правильно настроены следующие параметры последовательного порта:
- Номер порта: Его можно узнать экспериментально, отключите адаптер или Arduino, посмотрите какие порты доступны. Подключите адаптер или Arduino и вновь посмотрите какие порты доступны. Появившийся порт и есть тот самый.
- Скорость передачи данных: В обычном режиме, Bluetooth модуль HC-05 сохраняет последнюю установленную скорость передачи данных, но по умолчанию она равна 38400 бит/сек (редко 9600 бит/сек). Если обе скорости не подойдут, то смотрите примечание в конце статьи.
- Параметры передачи данных: Модуль сохраняет последние установленные параметры передачи данных. Значения параметров по умолчанию: количество бит в пакете — 8, размер стопового бита = 1, без проверки чётности.
- Передаваемый текст: Нужно установить пункт «добавлять символы CR & LF(NL)» это символы перевода строки «rn» которые Вы не сможете ставить самостоятельно в конце AT-команд.
Для настройки этих параметров в программе Termite, нажмите на кнопку «Настройки» (Settings). В том же окне можно установить Русский язык.
При использовании Arduino, номер порта указывается во вкладке «Инструменты». Параметры передачи данных используются по умолчанию. Для добавления символов NL & CR воспользуйтесь меню в правом нижнем углу монитора последовательного порта.
Проверка:
После каждого подключения питания или перезагрузки модуля, до того как отправлять команды, нужно кратковременно нажать на кнопку модуля. Если у модуля нет кнопки, то кратковременно подать высокий уровень на вывод K. После чего модуль останется в обычном режиме, но будет воспринимать AT-команды. Помимо обычного режима, модуль может работать в режиме AT-команд. О том как войти в этот режим и чем он отличается от обычного, рассказано ниже, в разделе примечание.
Для проверки связи с Bluetooth модулем отправьте тестовую команду AT (введите текст AT и нажмите Enter). Если связь установлена корректно, то модуль ответит OK. После этого можно отправлять остальные AT-команды.
AT-команды:
Если в программе терминал указано добавлять символы CR & LF или NL & CR то символы «rn» в командах ставить не нужно!Команды могут быть обычными: AT+КОМАНДАrn, запросами: AT+КОМАНДА?rn, или установками: AT+КОМАНДА=ПАРАМЕТР(Ы)rn.
AT-команда: | Ответ: | Назначение: | |
---|---|---|---|
AT | ATrn | OKrn | Команда Тест:Используется для проверки связи с модулем. |
RESET | AT+RESETrn | OKrn | Команда программной перезагрузки модуля:Модуль ведёт себя так, как после кратковременного отключения питания. |
VERSION | AT+VERSION?rn | +VERSION:ВЕРСИЯrnOKrn | Запрос версии прошивки модуля:Модуль возвращает версию в виде строки до 32 байт.Пример ответа: +VERSION:hc01.comV2.1rnOKrn |
AT+ORGL | AT+ORGLrn | OKrn | Сброс пользовательских настроек:Модуль сбрасывает следующие настройки:CLASS=0, IAC=9e8b33, ROLE=0, CMODE=0, UART=38400,0,0, PSWD=1234, NAME=hc01.com. |
ADDR | AT+ADDR?rn | +ADDR:АДРЕСrnOKrn | Запрос адреса модуля:Модуль возвращает три части своего адреса NAP:UAP:LAP разделённые двоеточием.Каждая часть состоит из шестнадцатиричных цифр.Пример ответа: +ADDR:1234:56:789ABCrnOKrn |
NAME | AT+NAME?rn | +NAME:ИМЯrnOKrn | Запрос / установка имени модуля:Имя модуля представлено строкой до 32 байт.Пример ответа: +NAME:iArduinornOKrnПример установки: AT+NAME=iArduinornНекоторые модули реагируют на команду AT+NAME?rn только при нажатой кнопке модуля или наличии высокого уровня на входе K. |
AT+NAME=ИМЯrn | OKrn | ||
RNAME | AT+RNAME? АДРЕСrn | +RNAME:ИМЯrnOKrn | Запрос имени найденного Bluetooth устройства:Адрес вводится после пробела, а части адреса (NAP,UAP,LAP) разделены запятой. Модуль возвращает имя найденного Bluetooth устройства находящегося в зоне действия, адрес которого был в запросе.Пример запроса: AT+NAME? 1234,56,789ABCrnПример ответа: +RNAME:iArduinornOKrn |
ROLE | AT+ROLE?rn | +ROLE:РОЛЬrnOKrn | Запрос / установка роли модуля:Роль модуля представлена цифрой:0 — ведомый, 1 — ведущий, 2 — ведомый в цикле*.Пример ответа: +ROLE:1rnПример установки: AT+ROLE=0rn |
AT+ROLE=РОЛЬrn | OKrn | ||
CLASS | AT+CLASS?rn | +CLASS:ТИПrnOKrn | Запрос / установка типа устройства:Тип устройства представляется 32 битным числом, по которому можно определить назначение модуля: Bluetooth клавиатура, Bluetooth мышь, гарнитура …Пример установки: AT+CLASS=0rn |
AT+CLASS=ТИПrn | OKrn | ||
IAC | AT+IAC?rn | +IAC:КОДrnOKrn | Запрос / Установка кода общего доступа GIAC:Код представлен 32 битным числом и используется для обнаружения Bluetooth устройств.В роли ведущего, по данному коду модуль будет получать доступ к другим Bluetooth устройствам для их поиска (опроса), а в роли ведомого по данному коду будет предоставляться доступ для опроса модуля другими ведущими.Пример ответа: +IAC:9e8b33rnOKrnПример установки: AT+IAC=9e8b33rn |
AT+IAC=КОДrn | OKrnилиFAILrn | ||
INQM | AT+INQM?rn | +INQM:РЕЖИМ,КОЛ,ВРЕМЯrnOKrn | Запрос / Установка режима опроса модулей:Используемые параметры являются настройками для команды поиска (опроса) других Bluetooth устройств.- Режим поиска представлен цифрой:0-стандартный, 1-поиск по интенсивности сигнала.- Количество представлено цифрой определяющей предельное количество найденных Bluetooth устройств, после которого требуется прекратить поиск.- Время поиска задаёт таймаут после которого поиск прекращается. Реальное время поиска в секундах равно указанному числу умноженному на 1,28.Пример ответа: +INQM:1,1,48rnOKrnПример установки: AT+INQM:1,1,48rn |
AT+INQM=РЕЖИМ,КОЛ,ВРЕМЯrn | OKrnилиFAILrn | ||
PSWD | AT+PSWD?rn | +PSWD:КОДrnOKrn | Запрос / Установка PIN-кода:Код доступа представлен строкой до 16 байт.Код модуля в роли ведомого устройства является паролем доступа к текущему модулю.Код модуля в роли ведущего устройства является паролем доступа к внешним Bluetooth устройствам.Пример ответа: +PSWD:1234rnOKrnПример установки: AT+PSWD=1234arduinorn |
AT+PSWD=КОДrn | OKrn | ||
UART | AT+UART?rn | +UART:СКОР,СТОП,ПРОВrnOKrn | Запрос / установка скорости UART:Скорость представлена числом бит/секСтоп бит представлен цифрой: 0 — один, 1 — дваПроверка представлена цифрой: 0 — без проверки,1 — проверка нечётности, 2 — проверка чётности.Пример ответа: +UART:38400,0,0rnOKrnПример установки: AT+UART=38400,0,0rn |
AT+UART=СКОР,СТОП,ПРОВrn | OKrn | ||
CMODE | AT+CMODE?rn | +CMOD:РЕЖИМrnOKrn | Запрос / установка режима подключения:Режим представлен цифрой:0 — модуль в роли ведущего подключается только к тому Bluetooth устройству, адрес которого указан командой AT+BIND.1 — модуль в роли ведущего подключается к любому ведомому Bluetooth устройству.2 — модуль в роли ведомого работает в цикле*Пример ответа: +CMOD:0rnOKrnПример установки: AT+CMOD=1rn |
AT+CMODE=РЕЖИМrn | OKrn | ||
BIND | AT+BIND?rn | +BIND:АДРЕСrnOKrn | Запрос / установка фиксированного адреса:Если модуль находится в роли ведущего (ROLE=1) и установлен режим подключения к фиксированному адресу (CMODE=0), то он будет подключаться только к тому Bluetooth устройству, адрес которого указан данной командой.Части адреса вводятся: при установке — через запятую, а при ответе — через двоеточие.Пример ответа: +BIND:1234:56:789ABCrnOKrnПример установки: AT+BIND=0,0,0rn |
AT+BIND=АДРЕСrn | OKrn | ||
POLAR | AT+POLAR?rn | +POLAR:ЛОГ,ЛОГrnOKrn | Запрос / установка активного логического уровня для включения светодиодов:Полярность представлена цифрой 0 или 1 соответствующей активному логическому уровню.Первый параметр указывает логический уровень для включения светодиода подключённого к выводу PIO8 (отображает режим работы), а второй для светодиода подключённого к выводу PIO9 (отображает статус соединения).Пример ответа: +POLAR:1,1rnOKrnПример установки: AT+POLAR=1,1rn |
AT+POLAR=ЛОГ,ЛОГrn | OKrn | ||
PIO | AT+PIO=НОМЕР,УРОВЕНЬrn | OKrn | Установка логического уровня PIO:Позволяет установить логический уровень на выводе PIO. Номер вывода представлен числом от 2 до 11, кроме 8 и 9. Уровень представлен цифрой 0 или 1.Пример установки: AT+PIO=11,0rn |
MPIO | AT+MPIO?rn | +MPIO:ЧИСЛОrnOKrn | Запрос / установка логических уровней PIO:Позволяет узнать или установить логические уровни сразу на всех выводах PIO.Уровни представлены шестнадцатиричным числом, каждый бит которого соответствует уровню вывода PIO.Пример ответа: +MPIO:1F0rnOKrnПример установки: AT+MPIO:CFCrn |
AT+MPIO=ЧИСЛОrn | OKrn | ||
IPSCAN | AT+IPSCAN?rn | +IPSCAN:А,Б,В,ГrnOKrn | Запрос / установка параметров IP сканирования:А — интервал сканированияБ — продолжительность сканированияВ — интервал страницГ — количество страницПример ответа: +IPSCAN:1024,512,1024,512rnOKrnПример установки: AT+IPSCAN:1024,512,1024,512rn |
AT+IPSCAN=А,Б,В,Гrn | OKrn | ||
SNIFF | AT+SNIFF?rn | +SNIFF:А,Б,В,ГrnOKrn | Запрос / установка параметров энергосберегающего режима:А — максимальное времяБ — минимальное времяВ — период повторовГ — таймаутПример ответа: +SNIFF:0,0,0,0rnOKrnПример установки: AT+SNIFF=0,0,0,0rn |
AT+SNIFF=А,Б,В,Гrn | OKrn | ||
ENSNIFF | AT+ENSNIFF=АДРЕСrn | OKrn | Переход в энергосберегающий режим:Части адреса вводятся через запятую (NAP,UAP,LAP)Пример команды: AT+ENSNIFF=1234,56,789ABCrn |
EXSNIFF | AT+EXSNIFF=АДРЕСrn | OKrn | Выход из энергосберегающего режима:Части адреса вводятся через запятую (NAP,UAP,LAP)Пример команды: AT+EXSNIFF=1234,56,789ABCrn |
SENM | AT+SENM?rn | +SENM:СЕКРЕТ,ШИФРrnOKrn | Запрос / установка параметров безопасности:Режим секретности представлен цифрой:0 — выключен1 — незащищённое соединение2 — защита на сервисном уровне3 — защита на уровне соединения4 — неизвестный режимРежим шифрования представлен цифрой:0 — без шифрования1 — шифруется только трафик PTP2 — шифруется весь трафикПример ответа: +SENM:0,0rnOKrnПример установки: AT+SENM:0,0rn |
AT+SENM=СЕКРЕТ,ШИФРrn | OKrn | ||
PMSAD | AT+PMSAD=АДРЕСrn | OKrn | Удаление устройства из списка пар:Удаление Bluetooth устройства из списка приведёт к необходимости заново образовывать пару для подключения к нему.Части адреса удаляемого устройства вводится через запятую (NAP,UAP,LAP)Пример команды: AT+PMSAD=1234,56,789ABCrn |
RMAAD | AT+RMAADrn | OKrn | Удаление всех устройств из списка пар:Очистка данного списка приведёт к необходимости заново образовывать пары с Bluetooth устройствами для подключения к ним. |
FSAD | AT+FSAD=АДРЕСrn | OKrnилиFAILrn | Поиск устройства в списке пар:Если Bluetooth устройство с указанным адресом имеется в списке, то модуль вернёт OKrn иначе FAILrn.Части адреса вводятся через запятую (NAP,UAP,LAP)Пример запроса: AT+FSAD=1234,56,789ABCrn |
ADCN | AT+ADCN?rn | +ADCN:КОЛИЧЕСТВОrnOKrn | Запрос количества устройств в списке пар:При образовании пары ведущий-ведомый, данные о паре автоматически попадают в список пар и для последующих подключений (даже после отключения питания) не требуется повторно устанавливать пару.Пример ответа: +ADCN:10rnOKrn |
MRAD | AT+MRAD?rn | +MRAD:АДРЕСrnOKrn | Запрос адреса устройства из списка пар:Модуль вернёт адрес Bluetooth устройства из списка пар с которым выполнялось последнее успешное соединение.Части адреса выводятся через двоеточие (NAP:UAP:LAP)Пример ответа: +MRAD:1234:56:789ABCrnOKrn |
STATE | AT+STATE?rn | +STATE:СТАТУСrnOKrn | Запрос статуса модуля:Модуль вернёт свое текущее состояние в виде строки:INITIALIZED — инициализацияREADY — готовPAIRABLE — образование парыPAIRED — пара образованаINQUIRING — запросCONNECTING — подключениеCONNECTED — подключёнDISCONNECTED — отсоединёнNUKNOW — неизвестное состояниеПример ответа: +STATE:CONNECTEDrnOKrn |
INIT | AT+INITrn | OKrnилиFAILrn | Инициализация профиля SPP:Профиль SPP эмулирует последовательный порт. |
INQ | AT+INQrn | +INQ:АДРЕС,ТИП,СИГНАЛrn+INQ:АДРЕС,ТИП,СИГНАЛrn…+INQ:АДРЕС,ТИП,СИГНАЛrn | Поиск (опрос) Bluetooth устройств:Команда доступна модулю в роли ведущего.Модуль ищет Bluetooth устройства в радиусе действия и выводит каждый найденный модуль на новой строке. Режим поиска (опроса) устанавливается командой AT+INQM, код опроса устанавливается командой AT+IAC, тип искомых устройств указывается командой AT+CLASS. Поиск завершается по достижении предельного количества найденных Bluetooth устройств, или по достижении таймаута, или командой AT+INQC.Пример ответа: +INQ:1234:56:789ABС,240404,7FFF |
INQC | AT+INQCrn | OKrn | Завершить поиск (опрос) Bluetooth устройств:Досрочно завершает поиск Bluetooth устройств инициированный командой AT+INQ |
PAIR | AT+PAIR=АДРЕС,ТАЙМАУТrn | OKrnилиFAILrn | Создать пару с Bluetooth устройством:Создание пары или сопряжение Bluetooth устройств инициируется ведущим устройством.Таймаут указывается десятичным числом в секундах.Если пара создана, то информация о ней автоматически запишется в список пар, модуль ответит OKrn после чего можно подключить Bluetooth устройство командой AT+LINK. Если пара не создана (например не подошёл PIN-код или истек таймаут), то модуль ответит FAILrn.Пример команды: AT+PAIR=1234,56,789ABC,10rn |
LINK | AT+LINK=АДРЕСrn | OKrnилиFAILrn | Подключиться к Bluetooth устройству:После выполнения данной команды можно общаться с подключённым Bluetooth устройством.Команда доступна модулю в роли ведущего.Пример команды: AT+LINK=1234,56,789ABCrn |
DISC | AT+DISCrn | +DISC:РЕЗУЛЬТАТrnOKrn | Отключиться от Bluetooth устройства:Команда указывает модулю отключиться от Bluetooth устройства с которым установлено соединение. После отключения от Bluetooth устройства информация о нём сохраняется в списке пар. Если потребуется вновь подключиться к этому устройству, то создание пары будет необязательно (если Bluetooth устройство намеренно не удалить из списка пар).После выполнения команды модуль ответит результатом её выполнения:SUCCESS — успехLINK_LOSS — соединение потеряноNO_SLC — отсутствует SLCTIMEOUT — истекло время ожиданияERROR — ошибкаПример ответа: +DISC:SUCCESSrnOKrn |
* Ведомый в цикле — это ведомая роль модуля в которой он отправляет обратно всё что получает от ведущего.** На некоторые команды модуль реагирует только при нажатой кнопке модуля или наличии высокого уровня на выводе K.
Описание ошибок выдаваемых модулем:
Если отправить команду, которую модуль не знает, не может выполнить, или у команды неправильные аргументы, то модуль вернёт строку «ERROR:(НОМЕР)», где по указанному шестнадцатиричному номеру можно определить, на что «ругается» модуль.
№ ошибки | Описание ошибки |
---|---|
1 | Результат по умолчанию |
2 | Ошибка сохранения пароля |
3 | Слишком длинное имя устройства (более 32 байт) |
4 | Имя устройства не указано |
5 | Часть адреса NAP слишком длинная (более 4 разрядов в шестнадцатиричной системе) |
6 | |
7 | |
8 | Не указана маска порта PIO |
9 | Не указан номер вывода PIO |
A | |
B | Слишком длинный тип (класс) устройства |
C | Не указан общий код доступа IAC (Inquire Access Code) |
D | Слишком длинный общий код доступа IAC (Inquire Access Code) |
E | Недопустимый общий код доступа IAC (Inquire Access Code) |
F | Не указан пароль (или пароль пуст) |
10 | |
11 | Недопустимая роль модуля |
12 | Недопустимая скорость передачи данных |
13 | Недопустимый размер стоп-бита |
14 | Недопустимая настройка бита четности |
15 | Устройство отсутствует в списке пар (списке сопряжённых Bluetooth устройств) |
16 | Профиль последовательного порта (SPP, Serial Port Profile) не инициализирован |
17 | |
18 | Недопустимый режим опроса Bluetooth устройств |
19 | Слишком большое время опроса |
1A | Не указан адрес Bluetooth устройства |
1B | Недопустимый режим безопасности (секретности) |
1C | Недопустимый режим шифрования |
Примечание:
Если Вы хотите иметь возможность «нажимать» на кнопку программно, но у Вашего модуля нет вывода K, воспользуйтесь командой AT+PIO=11,УРОВЕНЬrn, где уровень представляется цифрой 1 или 0 соответствующий устанавливаемому логическому уровню. (AT+PIO=11,0rn — кнопка отпущена, AT+PIO=11,1rn — кнопка нажата).
У некоторых модулей есть вывод En который управляет питанием и подтянут к Vcc. Если на вывод En подать низкий логический уровень, то отключится питание чипов. Данный вывод можно использовать для программного входа в режим AT-команд. Если сразу после снятия низкого уровня с вывода En подать команду AT+PIO=11,1rn это будет эквивалентно включению модуля с нажатой кнопкой.
Создание ведомого ожидающего подключения ведущего:
- AT+DISCrn — Разорвать соединение (на случай если модуль соединён).
- AT+ORGLrn — Сбросить пользовательские настройки в значения по умолчанию.
- AT+RMAADrn — Очистить список пар (авторизованных устройств) чтоб к модулю не подключился тот кого отсоединили.
- AT+NAME=iArduinorn — Установить имя модуля (не более 32 символов).
- AT+PSWD=1234rn — Установить PIN-код для подключения к модулю (не более 16 символов).
- AT+ROLE=0rn — Установить модулю роль ведомого (если она не установилась при сбросе пользовательских настроек).
- AT+RESETrn — Перезагрузить модуль.
Не раньше чем через пол секунды после перезагрузки (командой AT+RESETrn) нужно кратковременно нажать на кнопку или подать кратковременный высокий уровень на вход K модуля, иначе он не будет воспринимать новые AT-команды.
Если модуль с ведущей ролью подключается к ведомым модулям по их адресу, а не через их имя, то адрес данного (ведомого) модуля можно узнать выполнив команду AT+ADDR?rn.
Создание ведущего с подключением к ведомому:
- AT+DISCrn — Разорвать соединение (на случай если модуль соединён).
- AT+ORGLrn — Сбросить пользовательские настройки в значения по умолчанию.
- AT+RMAADrn — Очистить список пар (авторизованных устройств) чтоб к модуль не пытался подключился к тому от кого отсоединили.
- AT+BIND=АДРЕСrn — Установить фиксированный адрес для подключения (указываем адрес ведомого Bluetooth устройства)
- AT+CMODE=0rn — Указываем модулю подключаться только к фиксированному адресу
- AT+ROLE=1rn — Установить модулю роль ведущего устройства
- AT+PSWD=1234rn — Запомнить PIN-код ведомого Bluetooth устройства
- AT+PAIR=АДРЕС,10rn — Образовать пару с ведомым Bluetooth устройством, указав его адрес и таймаут 10 сек
- AT+RESETrn — Перезагрузить модуль.
- ATrn — Выполнить команду Тест (для проверки наличия связи с модулем)
- AT+LINC=АДРЕСrn — Подключиться к ведомому Bluetooth устройству, указав его адрес
- AT+STATE?rn — Получить текущее состояние модуля (на практике эта команда может ускорить процесс подключения)
Не раньше чем через пол секунды после перезагрузки (командой AT+RESETrn) нужно кратковременно нажать на кнопку или подать кратковременный высокий уровень на вход K модуля, иначе он не будет воспринимать новые AT-команды.
Ссылки:
- Bluetooth модуль HC-05.
- Wiki — используем Arduino как USB — UART преобразователь.
- Программа терминал — Termite с поддержкой Русского языка.
Используемые источники:
- https://unlock-code.ru/page12.html
- https://elschemo.ru/dlya-nachinayushhix/gsm-gprs-modul-sim800l-at-komandy/
- https://wiki.iarduino.ru/page/at-komandy-bluetooth-hc-05