Команды настройки модуля:
Описание | Команда настройки режима “эха” | |
Формат | ATE<n> | |
Параметр | <n>: 0 – выключить; 1 – включить | |
Ответ | OK | |
Пример | ATE0 OK |
Описание | Команда проверки модели и версии модуля | |
Формат | ati | |
Пример | ati NEOWAY M590 REVISION 01.30c OK | Модель Версия |
Описание | Команда чтения версии прошивки модуля | |
Формат | at+getvers | |
Ответ | <версия> OK или ERROR | |
Пример | at+getvers 1103_C6C30000_V0130c OK | Версия прошивки |
Описание | Команда сохранения текущей конфигурации настроек в EEPROM память | |
Формат | AT&W<значение> | |
Параметр | <значение>: 0 – сохранить настройки в 0-м профиле, параметр 0 можно не указывать; 1 – сохранить настройки в 1-м профиле | |
Ответ | OK | |
Пример | AT&W OK |
Описание | Команда настройки скорости порта UART | |
Формат | AT+IPR=<скорость предачи> | |
Параметр | <скорость предачи>: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/сек | |
Ответ | OK или ERROR | |
Пример | AT+IPR=9600 OK | |
Запрос параметра | AT+IPR? +IPR: 9600 OK | Скорость порта равна 9600 бит/сек |
Описание | Команда проверки статуса модуля | |
Формат | AT+CPAS | |
Параметр | <pas>: 0 – готов к работе 2 – неизвестно 3 – входящий звонок 4 – в режиме соединения 5 – спящий режим | |
Ответ | +CPAS: <pas> OK (или ERROR) | |
Пример | AT+CPAS +CPAS: 0 OK | Модуль готов к работе |
Описание | Команда проверки регистрации модуля в сети | |
Формат | AT+CREG: <mode> | |
Параметр | <mode>: 0 – выключить уведомление о регистрации в сети 1 – включить уведомление о регистрации в сети +CREG: <stat> 2 – включить уведомление о регистрации в сети и информацию о местоположении< stat>: 0 – не зарегистрирован, поиск сети не выполняется 1 – зарегистрирован в домашней сети 2 – регистрация отклонена 3 – не зарегистрирован, выполняется поиск сети 4 – неизвестно 5 – зарегистрирован, зона роуминга | |
Ответ | OK или ERROR AT+CREG: <mode>,<stat> | |
Пример | AT+CREG=1 OK | Включить уведомление о регистрации в сети |
Запрос параметров | AT+CREG? +CREG: 0,1 OK | Зарегистрирован в домашней сети |
Описание | Команда настройки спящего режима | |
Формат | at+enpwrsave=<n> | |
Параметр | <n>: 0 – спящий режим запрещен; 1 – спящий режим разрешен | |
Ответ | OK или ERROR | |
Пример | at+enpwrsave=1 OK | |
Примечание | Значение параметра <n> не сохраняется после выключения модуля. |
Описание | Команда выключения модуля | |
Формат | AT+CPWROFF | |
Ответ | OK или ERROR | |
Пример | AT+CPWROFF OK | |
Примечание | Не следует одновременно подавать команду и оперировать выводом ON/OFF модуля. |
Команды управления вызовом:
Описание | Команда настройки автоматического определения номера (АОН) | |
Формат | AT+CLIP=<n> | |
Параметр | <n>: 0 – АОН выключен; 1 – АОН включен | |
Ответ | OK | |
Пример | AT+CLIP=1 OK | |
Сообщение от модуля | RING | Входящий звонок (АОН отключен) |
RING +CLIP: “79XXXXXXXXX”,145,,,“”,0 | Входящий звонок (АОН включен) “79XXXXXXXXX” – номер вызывающего телефона “” – имя абонента | |
Примечание | Сообщение RING повторяется после каждого гудка |
Описание | Исходящий вызов для установления голосового соединения | |
Формат | ATD+79XXXXXXXXX; | |
Параметр | 79XXXXXXXXX – номер вызываемого телефона | |
Ответ | OK | |
Пример | ATD+79630749105; OK | |
Сообщение от модуля | CONNECT BUSY NO ANSWER NO CARRIER | Соединение установлено Занят другим сеансом связи Нет ответа Вызов сброшен |
Описание | Команда разъединения соединений (повесить трубку) | |
Формат | ATH<n> | |
Параметр | <n>: 0 – разъединить все вызовы, параметр 0 можно не указывать; 1 – разъединить исходящий вызов | |
Ответ | OK | |
Пример | ATH OK |
Команды для работы с SMS сообщениями:
Описание | Команда настройки формата SMS сообщений | |
Формат | AT+CMGF=<режим> | |
Параметр | <режим>: 0 – PDU формат; 1 – текстовый формат | |
Ответ | OK или ERROR | |
Пример | AT+CMGF =1 OK | |
Примечание | Если сообщение отправляется в PDU формате, необходимо установить кодировку UCS2 (при использовании кириллических символов), для текстового формата кодировку GSM, либо UCS2 В PDU формате, текст представлен в виде последовательности шестнадцатеричных чисел. |
Описание | Команда выбора кодировки текста | |
Формат | AT+CSCS=<chset> | |
Параметр | <chset>: “GSM” – кодировка ASCII “HEX” – кодировка шестнадцатеричными значениями “IRA” – международный справочный алфавит “PCCP437” – кодировка CP437 (IBM PC) “8859-1” – кодовые страницы семейства ISO 8859 “UCS2” – кодировка Unicode (2 байта на символ) | |
Ответ | OK или ERROR | |
Пример | AT+CSCS=“GSM” OK |
Описание | Команда чтения SMS сообщения | |
Формат | AT+CMGR=<index> | |
Параметр | <index>: номер считываемого сообщения | |
Ответ | Для текстового формата (CMGF=1): +CMGR: <stat>,<oa>,<alpha>,<scts><CR><LF><data> OK (или ERROR) Для PDU формата (CMGF=0): +CMGR: <stat>,<alpha>,<length>,<scts><CR><LF><pdu> OK (или ERROR) <stat> — статус SMS сообщения: 0 – для PDU формата, REC UNREAD – для текстового формата: входящее непрочитанное сообщение 1 – для PDU формата, REC READ – для текстового формата: входящее прочитанное сообщение 2 – для PDU формата, STO UNSENT – для текстового формата: неотправленное (исходящее) сообщение 3 – для PDU формата, STO SENT – для текстового формата: отправленное сообщение 4 – для PDU формата, ALL – для текстового формата: все сообщения <alpha> – имя отправителя <scts> – отметка времени сервис-центра в формате: год/месяц/день, часы: минуты: секунды ± часовой пояс <data> – текст сообщения в ASCII символах <length> – количество символов сообщения (для PDU формата) <pdu> – информация о SMS и текст сообщения в PDU формате | |
Пример | AT+CMGR=1 +CMGR: “REC READ”,“+79123456789”,“”,“15/11/13,14:39:35+32” GPS-START2 OK | Для текстового формата кодировка ASCII (GSM) Получено сообщение: GPS-START2 |
AT+CMGR=1 +CMGR: “REC READ”,“+79123456789”,“”,“15/11/13,14:39:35+32” 004700500053002D005300540041005200540032 OK | Для текстового формата кодировка Unicode (UCS2) Получено сообщение: GPS-START2 | |
AT+CMGR=1 +CMGR: 1,,28 07919730071111F1040B919721436587F90000511131419353020 A47E8B435A506A55419 OK | Для PDU формата специальная 7-ми битная кодировка Получено сообщение: GPS-START2 |
Описание | Команда отправки SMS сообщения | |
Формат | Для текстового формата (CMGF=1): AT+CMGS=<da><CR><text><ctrl-Z> Для PDU формата (CMGF=0): AT+CMGS=<length><CR><pdu><ctrl-Z> | |
Параметр | <da> – номер на который посылается сообщение (в ASCII символах) <text> – текст сообщения в ASCII символах <length> – количество байт сообщения в PDU формате <pdu> – информация о SMS и текст сообщения в PDU формате | |
Ответ | +CMGS: <mr> OK (или ERROR) <mr> – условный номер, присваиваемый модулем | |
Пример | AT+CMGS=“+79123456789”<CR> > Perezvoni mne<ctrl-Z> +CMGS: 2 OK | Для текстового формата Отправка сообщения “Perezvoni mne” |
AT+CMGS=27<CR> > 07919740030900F001000B919721436587F900080E 041F044004380432043504420021<ctrl-Z> > +CMGS: 2 OK | Для PDU формата кодировка Unicode (UCS2) Отправка сообщения “Привет!” | |
AT+CMGS=22<CR> > 07919740030900F001000B919721436587F900000A 47E8B435A506A55419<ctrl-Z> > +CMGS: 2 OK | Для PDU формата специальная 7-ми битная кодировка Отправка сообщения “GPS-START2” | |
Примечание | Сначала необходимо отправить команду AT+CMGS=“+79123456789”, затем дождаться приглашения в виде символов “> ” (> и пробел), после чего отправить текст сообщения. Для завершения процесса следует отправить символ <ctrl-Z> (шестнадцатеричное значение 0х1A) Кириллические символы необходимо отправлять в кодировке Unicode (UCS2), только в формате PDU. Латинские символы можно отправлять в текстовом формате с кодировкой ASCII (GSM), либо в формате PDU с кодировкой Unicode (UCS2), или при помощи специальной 7-ми битной кодировки символами ASCII |
Описание | Команда удаления SMS сообщений | |
Формат | AT+CMGD=<index>,<delflag> | |
Параметр | <index> – порядковый номер удаляемого сообщения, для удаления одного сообщения <delflag> можно не указывать <delflag>: 0 – удалить сообщение с номером <index> 1 – удалить все прочитанные сообщения 2 – удалить все прочитанные и отправленные сообщения 3 – удалить все прочитанные, отправленные и неотправленные сообщения 4 – удалить все сообщения | |
Ответ | OK или ERROR | |
Пример | AT+CMGD=1 OK | Удалить сообщение с номером 1 |
AT+CMGD=1,4 OK | Удалить все сообщения |
Отправить сообщение в текстовом формате достаточно просто, а вот в PDU формате могут возникнуть трудности. В PDU формате SMS сообщение закодировано в виде последовательности шестнадцатеричных чисел, рассмотрим подробнее структуру этого формата:
Структура принятого SMS сообщения в формате PDU.
Обозначение | SCA | PDU Type | OA | PID | DCS | SCTS | UDL | UD |
Длина, байты | 1-12 | 1 | 2-12 | 1 | 1 | 7 | 1 | 0-140 |
Структура передаваемого SMS сообщения в формате PDU.
Обозначение | SCA | PDU Type | MR | DA | PID | DCS | VP | UDL | UD |
Длина, байты | 1-12 | 1 | 1 | 2-12 | 1 | 1 | 0,1,7 | 1 | 0-140 |
SCA – номер SMS центра, DA – номер телефона на который отправляем сообщение, OA – номер телефона от которого получено сообщение. Каждое из этих полей состоит из 3-х частей:
SCA | Размер поля SCA | Тип номера | Номер |
1 байт | 1 байт | От 0 до 6 байт | |
DA, OA | Длина номера | Тип номер | Номер |
1 байт | 1 байт | От 0 до 6 байт |
Тип номера представляет собой формат номера, например, международному формату соответствует шестнадцатеричное число 91h.
Номер формируется следующим образом (для примера возьмем +79123456789): если значение количества цифр номера нечетное, то дописываем в конце символ F, затем переставляем местами каждые две цифры, получим в итоге 9721436587F9.
“Размер поля SCA” равно количеству байт, которое занимают номер и его тип, для номера это 6 байт (9721436587F9) + тип 1 байт (91), итого 7 байт (07), в результате поле SCA будет выглядеть следующим образом: 07919721436587F9.
Для полей DA, OA, “длина номера” равна количеству цифр в номере, то есть 11 цифр для номера +79123456789, в шестнадцатеричном представлении получим 0Bh, В результате поля DA, OA будут иметь следующий вид: 0B919721436587F9.
Поле SCA можно не использовать, указав вместо него значение 00h, при этом модуль автоматически возьмет номер SMS центра из СИМ карты.
PDU Type – это байт с настройками сообщения:
Бит | Название | Назначение |
7 | RP | 0 – путь для ответа не определен; 1 – путь для ответа определен |
6 | UDHI | 0 – поле UD содержит сообщение; 1 – поле UD содержит сообщение и дополнительный заголовок. |
5 | SRR | 0 – статус сообщения не запрашивается; 1 – статус сообщения запрашивается. |
4,3 | VPF | 00 – поле VP отсутствует; 01 – зарезервировано; 10 – поле VP содержит время жизни сообщения в относительном формате; 11 – поле VP содержит время жизни сообщения в абсолютном формате. |
2 | RD | 0 – сервисному центру следует переслать сообщение получателю, если оно имеет те же значения полей MR и DA, что и предыдущее сообщение; 1 – сервисному центру следует отклонить сообщение, если оно имеет те же значения полей MR и DA, что и предыдущее сообщение. |
1,0 | MTI | 00 – если сообщение принято или подтверждение приема; 01 – если сообщение отправляется или подтверждение отправки; 10 — отчет о доставке или SMS-команда; 11 — зарезервировано. |