Как найти at команды в телефоне

GSM/GPRS SHIELD A6 и GSM/GPRS SHIELD A9 подключаются по шине UART и способны выполнять AT-команды. AT-команда это строка начинающаяся с букв «AT» (от английского attention – «внимание»). Shield выполняет поступившую команду и отправляет обратно ответ (результат выполнения команды), который также является строкой. В GSM/GPRS SHIELD каждая команда (как и ответ) должна заканчиваться символами перевода строки «rn».

Подключение:

  • GSM/GPRS Shield A6 устанавливается на Arduino и использует следующие её выводы: «TX» (D0 или D7), «RX» (D1 или D8), «PWR» (D9), GND, 3V3, «Vcc» (5V или Vin).
  • GSM/GPRS Shield A9 устанавливается на Arduino и использует следующие её выводы: «TX» (D0 или D8), «RX» (D1 или D9), «PWR» (D7), GND, «Vcc» (5V или Vin).
  • Shield позволяет использовать как аппаратную так и программную реализацию шины UART Arduino. Если переключатель на плате shield находится в положении «TX-0/RX-1», то используется аппаратная шина, выводы D0 (RX Arduino, TX shield) и D1 (TX Arduino, RX shield). Если переключатель на плате shield находится в положении «TX-7/RX8», то используется программная шина, выводы D7 и (RX Arduino, TX shield) и D8 (TX Arduino, RX shield). Если переключатель на плате shield находится в положении «TX-8/RX9», то используется программная или аппаратная шина, выводы D8 и (RX Arduino, TX shield) и D9 (TX Arduino, RX shield).

Настройка:

GSM/GPRS Shield сможет принимать команды только если правильно настроены следующие параметры последовательного порта:

  • Номер COM-порта: Его можно узнать экспериментально, отключите адаптер или Arduino, посмотрите какие COM-порты доступны. Подключите адаптер или Arduino и вновь посмотрите какие порты доступны. Появившийся COM-порт и есть тот самый.
  • Скорость передачи данных: По умолчанию скорость передачи данных shield равна 115200 бит/сек, она должна совпадать со скоростью COM-порта. Если отправить в shield любые AT-команды на скорости COM-парта: 2400, 4800, 9600, 14400, 19200, 28800, 33600, 38400, 57600, 115200, 230400, 460800, 921600, 1843200, то получив 5 – 10 команд на одной скорости, shield автоматически переключится на эту скорость COM-порта. Скорость передачи данных shield можно явно указать командой ATZ+IPR=СКОРОСТЬ, например: ATZ+IPR=9600
  • Параметры передачи данных: По умолчанию: количество бит в пакете – 8, размер стопового бита = 1, без проверки чётности.
  • Передаваемый текст: В программе (на компьютере) нужно установить пункт «добавлять символ CR» это символ конца строки «r», а можно установить пункт «добавлять символы CR & LF(NL)» это символы перевода строки «rn» которые Вы не сможете ставить самостоятельно в конце AT-команд.
    Для настройки этих параметров в программе Termite, нажмите на кнопку «Настройки» (Settings). В том же окне можно установить Русский язык.
    При использовании Arduino, номер порта указывается во вкладке «Инструменты». Параметры передачи данных используются по умолчанию. Для добавления символов NL & CR воспользуйтесь меню в правом нижнем углу монитора последовательного порта.

Проверка:

Для проверки связи с GSM/GPRS Shield отправьте тестовую команду AT (введите текст AT и нажмите Enter). Если связь установлена корректно, то shield ответит OK. После этого можно отправлять остальные AT-команды.

Синтаксис AT-команд:

Если в программе терминал указано добавлять символы CR & LF или NL & CR то символы «rn» в командах ставить не нужно!
Команды можно писать следующим образом:

  • AT+КОМАНДА=?rn – После команды указаны знаки =?
    Данный синтаксис позволяет узнать какие параметры поддерживает команда.
    В ответ Shield вернёт строку с указанием количества параметров поддерживаемых командой и диапазоном их значений (см. примеры ниже).
  • AT+КОМАНДА?rn – После команды указан знак ?
    Данный синтаксис позволяет запросить текущие, действующие, значения (см. примеры ниже).
  • AT+КОМАНДА=ПАРАМЕТР(Ы)rn – После команды указан знак = и параметр(ы).
    Данный синтаксис позволяет установить одно или несколько значений (см. примеры ниже).
  • AT+КОМАНДАrn – Команда отправлена без дополнительных знаков и параметров.
    Синтаксис установки/запроса данных определяемых внутренними процессами модуля.
  • Если синтаксис команды неверен, то возвращается ERROR.
  • Если синтаксис команды верен, но допущены ошибки в параметрах, то возвращается +CME ERROR или +CMS ERROR.
  • Если команда выполнена успешно, то в большинстве случаев возвращается ОК.

Пример 1: (синтаксис команды с одним параметром)

  • Для примера воспользуемся командой AT+CSCS – Установка/запрос набора символов.
  • Узнаём какие параметры поддерживает команда:
    • Команда: AT+CSCS=?rn
    • Ответ: +CSCS: (GSM“,”HEX“,”PCCP936“,”UCS2)rnOKrn
    • Из ответа видно, что команда AT+CSCS содержит один параметр (так как в ответе одни скобки), который может принимать одно из четырёх значений: “GSM”, “HEX”, “PCCP936” или “UCS2”.
  • Узнаём какое значение используется в данный момент:
    • Команда: AT+CSCS?rn
    • Ответ: +CSCS: “PCCP936”rnOKrn
    • Из ответа видно, что в данный момент используется набор символов “PCCP936”.
  • Устанавливаем новое значение:
    • Команда: AT+CSCS=”GSM”rn
    • Ответ: OKrn
    • Из ответа OK, следует, что набор символов “GSM” успешно установлен и используется.

Пример 2: (синтаксис команды с двумя параметрами)

  • Для примера воспользуемся командой AT+ICF – Установка/запрос параметров UART.
  • Узнаём какие параметры поддерживает команда:
    • Команда: AT+ICF=?rn
    • Ответ: +ICF: (1-6),(0-3)rnOKrn
    • Из ответа видно, что команда AT+ICF содержит два параметра (так как в ответе две скобки), первый может принимать значение от 1 до 6, а второй от 0 до 3.
  • Узнаём какие значения используются в данный момент:
    • Команда: AT+ICF?rn
    • Ответ: +ICF: 3, 0rnOKrn
    • Из ответа видно, что первый параметр равен 3, а второй 0. Согласно таблице основных AT-команд, это значит, что передача ведётся по 8 бит данных, используется 1 стоп бит, с проверкой нечётности.
  • Устанавливаем новые значения:
    • Команда: AT+ICF=2,3rn
    • Ответ: OKrn
    • Из ответа OK, следует, что новые параметры передачи данных успешно установлены (8 бит данных, 1 стоп бит, без проверки).

Используемые сокращения:

  • GSM (Global System for Mobile communications) – глобальная система мобильной связи. Это стандарт цифровой мобильной сотовой связи, с разделением каналов по времени (TDMA) и частоте (FDMA).
  • GPRS (General Packet Radio Service) – надстройка над GSM, осуществляющая пакетную передачу данных. GPRS позволяет пользователю сети обмениваться данными с другими устройствами в сети GSM и с внешними сетями, в том числе Интернет.
  • TDMA (Time Division Multiple Access) – множественный доступ с разделением по времени. Это способ, когда в одном частотном диапазоне находятся несколько абонентов, разные абоненты используют разные временные интервалы (слоты) для передачи данных.
  • FDMA (Frequency Division Multiple Access) – множественный доступ с разделением каналов по частоте. Это способ, когда в одном частотном диапазоне находится только один абонент, разные абоненты используют разные частоты в пределах соты.
  • DTE (Data Terminal Equipment) – терминальное оборудование данных. Это оконечное устройство приёма/передачи данных (в данном случае компьютер или Arduino).
  • DCE (Data Communication Equipment) – оборудование коммуникации данных. Это устройство осуществляющее связь, но не являющееся источником или конечным получателем данных (в данном случае это GSM/GPRS SHIELD).
  • IMSI (International Mobile Subscriber Identity) – международный идентификатор мобильного абонента. Это индивидуальный номер абонента который в системе GSM хранится на SIM-карте. IMSI состоит из кода страны, кода оператора и номера MSIN. По этому номеру оператор сотовой связи определяет абонентов сопоставляя его с MSISDN (номером мобильного абонента) номером телефона.
  • MSIN (Mobile Subscriber Identification Number) идентификатор пользователя, является частью IMSI.
  • IMEI (International Mobile Equipment Identity) международный идентификатор мобильного оборудования. Это индивидуальный номер телефона.
  • SIM (Subscriber Identification Module) модуль идентификации абонента.
  • PIN (Personal Identification Number) персональный идентификационный номер. Это пароль CHV для доступа к некоторым функциям SIM.
  • CHV (card holder verification) проверка держателя карты.
  • PUK (Personal Unlocking Key) персональный разблокирующий ключ. Требуется после нескольких неудачных попыток ввода PIN.
  • ISDN (Integrated Services Digital Network) – цифровая сеть с интеграцией служб для связи в стандартах GSM, UMTS и т.д. (такая сеть совмещает телефонную связь и обмен данными).
  • MSISDN (Mobile Subscriber Integrated Services Digital Number) – номер мобильного абонента сети ISDN. Это тот номер к который мы называем номером телефона: +7(XXX)XXX-XX-XX.
  • PLMN (Public Land Mobile Network) сеть связи общего пользования наземных мобильных объектов.
  • DTMF (Dual-Tone Multi-Frequency) – двухтональный многочастотный аналоговый сигнал, используемый для набора телефонного номера.
  • MCC (Mobile Country Code) – мобильный код страны (250 – Россия), в сочетании с MNC (Mobile Network Code) является уникальным цифровым идентификатором сотового оператора, например 25001 – MTS, 25002 – MegaFon, 25099 – Beeline.
  • MNC (Mobile Network Code) – код мобильной сети в комбинации с MCC является уникальным идентификатором сотового оператора.
  • SMS (Short Message Service) – служба коротких сообщений. Это технология, приёма / передачи коротких текстовых сообщений с помощью сотового телефона.
  • USSD (Unstructured Supplementary Service Data) – сервис осуществляющий взаимодействие между абонентом сети и сервисным приложением в режиме передачи коротких сообщений. Например, для того, чтобы узнать баланс, нужно отправить USSD команду *100#.
  • STK (SIM Tool Kit) – набор инструментов для SIM-карты. Это стандарт позволяющий приложениям SIM-карты получать доступ к функциям телефона. Часто STK используется для реализации сервиса SIM-меню.
  • URC (Unsolicited Result Code) – незапрашиваемый код результата (незапрашиваемый ответ модуля). Код отправляемый DCE (модулем) по шине UART без запроса от DTE (Arduino). Например, при входящем голосовом вызове, DCE (модуль) отправляет код «RING».
  • PDU (Packet Data Unit) – блок пакетной передачи данных. Это формат записи SMS сообщений.
  • PPP (Point to Point Protocol) – двухточечный протокол установления связи между двумя узлами сети (связь точка – точка).
  • PDP (Packet Data Protocol) – протокол пакетной передачи данных. Адреса PDP являются адресами сетевого уровня. PDP контекст является структурой данных содержащей информацию о сеансе абонента.

Примеры:

С примерами использования AT-команд можно ознакомиться на странице Wiki – примеры использования AT-команд.

Список AT-команд с кратким описанием:

Описание AT-команд переведено с первоисточника AT A6 V1.01.

    Основные AT-команды:

  • AT – Проверка связи с shield.
  • AT+CPOF – Выключение модуля.
  • ATS0 – Установка/запрос количества гудков до автоответа.
  • ATS3 – Установка/запрос кода символа конца командной строки.
  • ATS4 – Установка/запрос кода символа начала командной строки.
  • ATS5 – Установка/запрос кода символа backspace для командной строки.
  • +++ – Переключение из режима (online) в командный режим (offline) режим AT-команд.
  • ATO – Переключение из режима (offline) в режим данных (online), он же режим PPP.
  • AT&F – Восстановить заводские настройки.
  • ATV0 – Установить короткие заголовки и цифровые коды ответа.
  • ATV1 – Установить полные заголовки и текстовые ответы (как в примерах данной статьи).
  • ATE0 – Отключить эхо AT-команд.
  • ATE1 – Включить эхо AT-команд.
  • AT&W – Сохранить текущие настройки в EEPROM как пользовательский профиль.
  • ATZ – Загрузить настройки из пользовательского профиля.
  • ATQ0 – Разрешить передачу результирующих кодов.
  • ATQ1 – Блокировать передачу результирующих кодов.
  • ATX0 – Возвращать только код результата соединения.
  • ATX1 – Возвращать код и текст результата соединения.
  • ATX2 – Возвращать код и текст результата соединения, вкл. обнаружение тонального набора.
  • ATX3 – Возвращать код и текст результата соединения, вкл. определение занятости.
  • ATX4 – Возвращать код и текст результата соединения, вкл. обнаружение тонального и определение занятости.
  • AT+CFUN – Установка набора функциональных возможностей.
  • AT+CMEE – Установка/запрос формата вывода ошибок.
  • AT+CSCS – Установка/запрос набора символов.
  • AT+CMUX – Установка/запрос режима мультиплексирования.
  • AT+ICF – Установка/запрос параметров передачи данных по шине UART.
  • AT+IPR – Установка/запрос скорости передачи данных по шине UART.
  • AT+GSN – Запрос серийного номера адаптера.
  • AT+GMM (AT+CGMM) – Запрос модели адаптера (модуля).
  • AT+GMR (AT+CGMR) – Запрос версии ПО адаптера (модуля).
  • AT+GMI (AT+CGMI) – Запрос производителя адаптера (модуля).
  • ATI – Запрос производителя, модели и версии адаптера (модуля).
  • AT+CIMI – Запрос IMSI (код SIM карты).
  • AT+EGMR – Установка/запрос IMEI (код устройства).
  • AT+CALA – Установка/запрос списка будильников.
  • AT+CALD – Удаление будильников.
  • AT+VGR – Установка/запрос уровня усиления динамика.
  • AT+VGT – Установка/запрос уровня усиления микрофона.
  • AT+CLVL – Установка/запрос громкости динамика громкой связи.
  • AT+CMUT – Установка/запрос отключения микрофона при голосовом вызове.
  • AT+CCLK – Установка/запрос часов реального времени (RTC).
  • AT+CBC – Запрос состояния ЗУ и ёмкости аккумулятора (АКБ).
  • AT+CBCM – Управление уведомлениями о изменении ёмкости аккумуляторной батареи (АКБ).
  • AT+CMER – Установка/запрос режима отправки незапрашиваемых отчётов (URC) о событиях.
  • AT+CEER – Запрос расширенного отчёта об ошибке последнего соединения.
  • AT+CPAS – Запрос статуса активности мобильного устройства.
    AT-команды SIM / PBK:

  • AT+CPIN – Аутентификация SIM-карты (ввод PIN1, PUK1, PIN2, PUK2).
  • AT+CPIN2 – Аутентификация SIM-карты (ввод PIN2, PUK2).
  • AT^CPINC – Запрос оставшегося количества попыток ввода паролей (PIN1, PUK1, PIN2, PUK2).
  • AT+CLCK – Блокировка/разблокировка функций устройства.
  • AT+CPWD – Смена пароля SIM-карты (PIN1, PIN2).
  • AT+CRSM – Отправка команд на SIM-карту в режиме ограниченного доступа.
  • AT+CNUM – Запрос номера абонента MSISDN (вывести свой номер телефона).
  • AT+CPBS – Установка/запрос области памяти для телефонной книги.
  • AT+CPBR – Чтение записей телефонной книги.
  • AT+CPBF – Поиск записей телефонной книги.
  • AT+CPBW – Редактирование телефонной книги (добавление, замена, удаление записей).
    AT-команды голосовых вызовов:

  • ATA – Ответить на входящий голосовой вызов.
  • ATH – Разъединение голосового вызова.
  • AT+CHUP – Разъединение всех существующих голосовых вызовов.
  • ATD – Набор номера (исходящий голосовой вызов).
  • AT+DLST – Повторный набор последнего исходящего вызова.
  • AT+CHLD – Управление групповыми вызовами и конференц-связью.
  • AT+CLCC – Запрос списка текущих вызовов.
  • AT+VTD – Установка/запрос длительности тональных сигналов DTMF.
  • AT+VTS – Отправка тонального сигнала DTMF.
  • AT+VTSEX – Отправка специального тонального сигнала DTMF.
    AT-команды сетевых служб:

  • AT+COPN – Запрос списка всех имен операторов из памяти модуля.
  • AT+COPS – Запрос/выбор оператора связи PLMN.
  • AT+CREG – Установка/запрос режима и статуса регистрации в сети оператора.
  • AT+CSQ – Запрос уровня сигнала.
  • AT+CPOL – Установка/запрос списка предпочтительных операторов.
    AT-команды STK / SS:

  • CACM – Сброс/запрос счётчика вызовов.
  • CAMM – Установка максимального значения для счётчика вызовов.
  • CAOC – Оповещение о стоимости вызова (не поддерживается модулями A6 и A9).
  • CPUC – Установка/запрос стоимости у.е. вызова и таблицы валют.
  • CCFC – Управление переадресацией вызовов.
  • CCWA – Управление услугой «ожидание вызова».
  • CLIP – Управление идентификацией вызывающей линии (АОН).
  • CLIR – Управление запретом идентификации вызывающей линии (анти АОН).
  • COLP – Управление идентификацией подключенной линии.
  • CSSN – Управление уведомлениями о дополнительных услугах.
  • CUSD – Управление и выполнение USSD запросов (Unstructured Supplementary Service data)
  • STA – Активация интерфейса SAT (SIM Application Toolkit)
  • STN – Уведомление STK (SIM ToolKit)
  • STGI – Запрос информации с STK (SIM ToolKit)
  • STR – Удалённый ответ SAT (SIM Application Toolkit)
  • STF – Установка формата ответов SAT (SIM Application Toolkit)
    AT-команды SMS:

  • AT+CSDH – Разрешить/запретить отображение заголовков текстовых сообщений.
  • AT+CSMP – Установка/запрос параметров текстового режима.
  • AT+CMSS – Отправка SMS сообщения из памяти.
  • AT+CMGD – Удаление SMS сообщения из памяти.
  • AT+CMGF – Установка/запрос формата SMS сообщений (текстовый / PDU).
  • AT+CMGL – Чтение списка SMS сообщений из памяти.
  • AT+CMGR – Чтение одного SMS сообщения из памяти.
  • AT+CMGS – Отправка SMS сообщения без сохранения в память.
  • AT+CMGW – Запись SMS сообщения в память.
  • AT+CNMA – Запрос отчёта о доставке SMS сообщений.
  • AT+CNMI – Установка/запрос индикации новых сообщений.
  • AT+CPMS – Установка/запрос предпочтительной области памяти для хранения сообщений.
  • AT+CSCA – Установка/запрос номера сервис-центра SMS сообщений.
  • AT+CSCB – Установка/запрос типа принимаемых Cell Broadcast сообщений.
  • AT+CSAS – Сохранение настроек.
  • AT+CRES – Восстановление настроек.
    AT-команды аудиоинтерфейса:

  • AT+CAUDIO – Открыть/закрыть аудиопоток голосового вызова.
  • AT+CRSL – Установка/запрос уровня громкости звонка.
  • AT+CDTMF – Воспроизведение тонального сигнала DTMF.
  • AT+AUST – Запуск тестового аудиоцикла.
  • AT+AUEND – Остановка тестового аудиоцикла.
  • AT+SNFS – Установка/запрос устройства ввода/вывода звука.
    AT-команды GPRS:

  • CGATT – Установка/разрыв GPRS соединения.
  • CGDCONT – Задание параметров PDP контекста.
  • CGACT – Активация/деактивация PDP контекста.
  • CRC – Включение/отключение результирующих кодов входящих соединений.
  • CGQMIN – Задание минимально допустимого профиля QoS (Quality of Service).
  • CGPADDR – Получение списка PDP адресов.
  • CGAUTO – Включение/отключение автоответа активации PDP контекста.
  • CGQREQ – Задание запрашиваемого профиля QoS (Quality of Service).
  • CGREG – Статус регистрации в сети GPRS.
  • ATD*99***1# – Запрос услуги GPRS (установка связи с PDN).
  • CGSMS – Выбор сервиса (GSM или GPRS) для отправки SMS сообщений.
  • CGANS – Ручной ответ активации PDP контекста на запрос сети (см CGAUTO).
  • CGEREP – Включение/отключение результирующих кодов о событиях GPRS.
  • CGDATA – Установка связи с сетью (аналогично команде ATD*99***1#).
  • CGCLASS – Установка/запрос GPRS класса мобильного устройства.
    AT-команды TCP/IP:

  • CIPSTART – Открытие соединения TCP или UDP.
  • CIPSEND – Отправка данных через TCP или UDP соединение.
  • CIPCLOSE – Закрытие соединения TCP или UDP.
  • CIPSHUT – Отключение беспроводного соединения.
  • CSTT – Ввод имени точки доступа, логина и пароля.
  • CIICR – Установка беспроводного соединения.
  • CIFSR – Получение локального IP-адреса.
  • CIPSTATUS – Запрос состояния текущего соединения.
  • CIPATS – Установка таймера автоматической отправки.
  • CIPSCONT – Cохранение параметров контекста TCP/IP.
  • CDNSGIP – Запрос IP-адреса указанного доменного имени.
    AT-команды дополнительные:

  • CLDSTART – Автоматическое подключение к облачной платформе Anxin Keyun.
  • CLDSTOP – Отключение от облачной платформы Anxin Keyun.
  • CLDSEND – Отправка данных на облачный сервис Anxin Keyun.
  • CLDUNBIND – Освобождение облачного сервиса Anxin Keyun.

Подробное описание AT-команд:

Описание AT-команд переведено с первоисточника AT A6 V1.01.

Основные AT-команды:

AT-команда: Ответ: Назначение:
AT ATrn
(тестовый запрос)
rn
OKrn
Проверка связи:

  • Используется для проверки связи с shield.
CPOF AT+CPOFrn
(выключить модуль)
rn
OKrn
Выключение модуля:

  • Shield ведёт себя так, как при подаче логической «1» на вывод «PWR».
  • Если на выводе «PWR» установлен логический «0», то после выключения shield снова включится.
ATS0 ATS0?rn
(запрос текущего количества гудков до автоответа)
rn
ЧИСЛОrn
rn
OKrn
Установка/запрос автоматического ответа на вызовы:

  • ЧИСЛО – указывает количество гудков перед автоответом (от 0 до 255), если указан 0, то автоответ отключён.
  • Пример ответа: 5rnOKrn – установлен автоответ после 5 гудков.
  • Пример установки: ATS0=2rn – включить автоответ после 2 гудков.
ATS0=ЧИСЛОrn
(установка количества гудков)
rn
OKrn
ATS3 ATS3?rn
(Запрос текущего кода)
rn
ЧИСЛОrn
rn
OKrn
Установка/запрос кода символа конца командной строки:

  • ЧИСЛО – определяет код символа конца строки в десятичной системе счисления.
  • Пример ответа: 13rnOKrn – код символа конца строки равен 13.
  • Пример установки: ATS3=13rn – установить значение 13 как код символа конца строки.
ATS3=ЧИСЛОrn
(установка кода символа)
rn
OKrn
ATS4 ATS4?rn
(Запрос текущего кода)
rn
ЧИСЛОrn
rn
OKrn
Установка/запрос кода символа начала командной строки:

  • ЧИСЛО – определяет код символа начала строки в десятичной системе счисления.
  • Пример ответа: 10rnOKrn – код символа конца строки равен 10.
  • Пример установки: ATS4=10rn – установить значение 10 как код символа начала строки.
ATS4=ЧИСЛОrn
(установка кода символа)
rn
OKrn
ATS5 ATS5?rn
(запрос текущего кода)
rn
ЧИСЛОrn
rn
OKrn
Установка/запрос кода символа backspace для командной строки:

  • ЧИСЛО – определяет код символа backspace в десятичной системе счисления. Это символ который удаляет предшествующий ему символ.
  • Пример ответа: 8rnOKrn – код символа backspace равен 8.
  • Пример установки: ATS5=8rn – установить значение 8 как код символа backspace.
ATS5=ЧИСЛОrn
(установка кода символа)
rn
OKrn
+++ +++rn
(переключение в командный режим)
rn
OKrn
Переключение из режима online в режим offline:

  • Во время соединения (в режиме данных или PPP) можно перейти в режим offline (командный режим) который позволяет использовать AT команды. Противоположность команды «ATO».
ATO ATOrn
(переключение в режим данных)
rn
OKrn
Переключение из режима offline в режим online:

  • Если соединение установлено и устройство находится в командном режиме (offline), то данная команда позволяет вернуться в режим online (режим данных или PPP). Противоположность команды «+++».
AT&F AT&Frn
(загрузка заводского профиля)
rn
OKrn
Восстановить заводские настройки:

  • Команда загружает профиль по умолчанию (заводской профиль).
  • Стоит учесть что у модуля есть возможность сохранять пользовательский (индивидуальный) профиль «AT&W» и загружать его «ATZ».
ATV ATV0rn
(установка коротких ответов)
rn
OKrn
Установка формата ответа модуля:

  • ATV0 – Короткие заголовки и цифровые коды ответа, например, вместо OKrn будет число 0rn.
  • ATV1 – Полные заголовки и текстовые ответы, как в примерах данной статьи.
  • Список текстовых ответов и их цифровых кодов:
    • 0 – «OK»
    • 1 – «CONNECT»
    • 2 – «RING/CRING»
    • 3 – «NO CARRIER»
    • 4 – «ERROR»
    • 5 – «NO DIALTONE»
    • 6 – «BUSY»
    • 7 – «NO ANSWER»
    • 8 – «NOT SUPPORT»
    • 9 – «INVALID COMMAND LINE»
ATV1rn
(установка полных ответов)
rn
OKrn
ATE ATE0rn
(отключить эхо)
rn
OKrn
Включить/отключить эхо в ответах на AT-команды:

  • ATE0 – Отключить эхо. После выполнения AT-команд будет выводиться только ответ (результат их выполнения).
  • ATE1 – Включить эхо. После выполнения AT-команд, перед ответом, будет вставлена строка с текстом полученной AT-команды.
ATE1rn
(включить эхо)
rn
OKrn
AT&W AT&Wrn
(сохранить настройки в пользовательский профиль)
rn
OKrn
Сохранить текущие настройки в области EEPROM:

  • Сохраняет текущие настройки как пользовательский (индивидуальный) профиль, который потом можно загрузить командой «ATZ».
ATQ ATQ0rn rn
OKrn
Включить/отключить результирующие коды:

  • ATQ0 – Модуль (DCE) передает результирующие коды.
  • ATQ1 – Результирующие коды блокируются и не передаются.
ATQ1rn rn
OKrn
ATX ATX0rn rn
OKrn
Установка формата кода результата соединения и мониторинг вызовов:

  • ATX0 – Возвращать только код результата соединения, обнаружение тонального набора и определение занятости отключены.
  • ATX1 – Возвращать код и текст результата соединения, обнаружение тонального набора и определение занятости отключены.
  • ATX2 – Возвращать код и текст результата соединения, обнаружение тонального набора включено, определение занятости отключено.
  • ATX3 – Возвращать код и текст результата соединения, обнаружение тонального набора отключено, определение занятости включено.
  • ATX4 – Возвращать код и текст результата соединения, обнаружение тонального набора и определение занятости включено.
ATX1rn rn
OKrn
ATX2rn rn
OKrn
ATX3rn rn
OKrn
ATX4rn rn
OKrn
ATZ ATZrn
(загрузить пользовательский профиль)
rn
OKrn
Восстановить пользовательские настройки:

  • Устанавливает текущие настройки из пользовательского (индивидуального) профиля, сохранённого ранее в области EEPROM командой «AT&W». Если выполняется соединение, то оно будет разорвано.
CFUN AT+CFUN=ЧИСЛОrn
(установка требуемого функционала)
rn
OKrn
Установка набора функциональных возможностей:

  • ЧИСЛО – значение от 0 до 6 указывающее какие именно функциональные возможности требуется установить:
    0 – Установить минимальную функциональность (процедура отсоединения IMSI).
    1 – Установить полный набор функциональных возможностей с полной перезагрузкой.
    2 – Отключить радиочастотные цепи передачи данных.
    3 – Отключить радиочастотные цепи приёма данных.
    4 – Отключите радиочастотные цепи приёма и передачи данных.
    5 – Включить платформу CSW.
    6 – Отключить платформу CSW.
  • В настоящее время модули A6 и A9 поддерживают только значения 0 и 1.
  • Пример установки: AT+CFUN=1rn – установить полный набор функций с перезагрузкой.
CMEE AT+CMEE=?rn
(запрос допустимых значений)
rn
+CMEE: (0-2)rn
rn
OKrn
Установка/запрос формата вывода сообщений об ошибках мобильного оборудования:

  • ЧИСЛО – значение от 0 до 2 определяющее формат вывода ошибок:
    0 – При возникновении ошибок возвращать только текст «ERROR», без указания кода ошибки.
    1 – При возникновении ошибок возвращать код ошибки.
    2 – При возникновении ошибок возвращать текст описывающий возникшую ошибку.
  • Пример ответа: +CMEE: 1rnOKrn – при возникновении ошибок возвращается их код.
  • Пример установки: AT+CMEE=1rn – при возникновении ошибок возвращать их код.
AT+CMEE?rn
(запрос текущего формата вывода ошибок)
rn
+CMEE: ЧИСЛОrn
rn
OKrn
AT+CMEE=ЧИСЛОrn
(установка формата вывода ошибок)
rn
OKrn
CSCS AT+CSCS=?rn
(запрос допустимых наборов символов)
rn
+CSCS: (“GSM”, “HEX”, “PCCP936”, “UCS2”)rn
rn
OKrn
Установка/запрос набора символов терминального оборудования:

  • ИМЯ – название набора символов:
    “GSM” – 7-битный алфавит GSM (3GPP TS 23.038).
    “HEX” – шестнадцатеричный режим, без кодировки.
    “PCCP936” – таблица символов PC страница 437.
    “UCS2” – 16-битная таблица символов ISO / IEC10646.
  • Пример ответа: +CSCS: “PCCP936”rnOKrn – текст выводится в формате PCCP936.
  • Пример установки: AT+CSCS=”UCS2″rn – выводить текст в формате UCS2.
AT+CSCS?rn
(запрос текущего набора символов)
rn
+CSCS: ИМЯrn
rn
OKrn
AT+CSCS=ИМЯrn
(установка набора символов)
rn
OKrn
CMUX AT+CMUX=?rn
(запрос допустимых режимов)
rn
+CMUX: (0)rn
rn
OKrn
Установка/запрос режима мультиплексирования:

  • ЧИСЛО – значение 0 (или 1):
    0 – Базовый режим.
    1 – Включить канал управления протоколом мультиплексирования.
  • В настоящее время модули A6 и A9 поддерживают только базовый режим.
AT+CMUX?rn
(запрос текущего режима)
rn
+CMUX: ЧИСЛОrn
rn
OKrn
AT+CMUX=ЧИСЛОrn
(установка режима)
rn
OKrn
ICF AT+ICF=?rn
(запрос допустимых значений)
rn
+ICF: (1-6),(0-3)rn
rn
OKrn
Установка/запрос параметров передачи данных по шине UART:

  • РАЗМЕР – представлен цифрой от 1 до 6:
    0 – автоматическое определение.
    1 – 8 бит, 2 стоп бита, проверка нечётности.
    2 – 8 бит, 1 стоп бит, проверка чётности.
    3 – 8 бит, 1 стоп бит, проверка нечётности.
    4 – 7 бит, 2 стоп бита, проверка нечётности.
    5 – 7 бит, 1 стоп бит, проверка чётности.
    6 – 7 бит, 1 стоп бит, проверка нечётности.
  • ЧЁТНОСТЬ – представлена цифрой от 0 до 3 и имеет приоритет только если в первом параметре (РАЗМЕР) установлена проверка чётности:
    0 – проверка нечётности.
    1 – проверка чётности.
    3 – без проверки.
  • Пример ответа: +ICF: 3, 0rnOKrn – установлена передача по 8 бит, 1 стоп бит, с проверкой нечётности.
  • Пример установки: AT+ICF=2,3rn – установить передачу по 8 бит, 1 стоп бит, без проверки.
AT+ICF?rn
(запрос текущих параметров)
rn
+ICF: РАЗМЕР, ЧЁТНОСТЬrn
rn
OKrn
AT+ICF=РАЗМЕР,ЧЁТНОСТЬrn
(установка параметров UART)
rn
OKrn
IPR AT+IPR=?rn
(запрос допустимых скоростей UART)
rn
(2400, 4800, 9600, 14400, 19200, 28800, 33600, 38400, 57600, 115200, 230400, 460800, 921600)rn
rn
OKrn
Установка/запрос скорости передачи данных по шине UART:

  • СКОРОСТЬ – представлена количеством бит/сек, возможные значения указаны в ответе на команду AT+IPR=?rn. Значение по умолчанию 115200 бит/сек.
  • Пример ответа: +IPR: 115200rnOKrn – установлена передача на скорости 115300 бот.
  • Пример установки: AT+IPR=9600rn – установить передачу на скорости 9600 бот.
AT+IPR?rn
(запрос текущей скорости)
rn
+IPR: СКОРОСТЬrn
rn
OKrn
AT+IPR=СКОРОСТЬrn
(установка скорости UART)
rn
OKrn
GSN AT+GSNrn
(запрос серийного номера)
rn
НОМЕРrn
rn
OKrn
Запрос серийного номера адаптера:

  • НОМЕР – представлен числом которое является серийным номером.
  • Пример ответа: 867567021221711rnOKrn
GMM
CGMM
AT+GMMrn
(запрос названия модели)
rn
МОДЕЛЬrn
rn
OKrn
Запрос модели адаптера (модуля):

  • МОДЕЛЬ – представлена текстовой строкой.
  • Пример ответа: A6rnOKrn
GMR
CGMR
AT+GMRrn
(запрос версии прошивки)
rn
ВЕРСИЯrn
rn
OKrn
Запрос версии ПО адаптера (модуля):

  • ВЕРСИЯ – представлена текстовой строкой.
  • Пример ответа: V03.03.20160830011H03rnOKrn
  • Пример ответа: V03.06.20171127RrnOKrn
GMI
CGMI
AT+GMIrn
(запрос имени производителя)
rn
ПРОИЗВОДИТЕЛЬrn
rn
OKrn
Запрос производителя адаптера (модуля):

  • ПРОИЗВОДИТЕЛЬ – представлен текстовой строкой.
  • Пример ответа: Ai Thinker Co.LTDrnOKrn
ATI ATIrn
(запрос названия, имени и версии)
rn
ПРОИЗВОДИТЕЛЬrn
МОДЕЛЬrn
ВЕРСИЯrn
rn
OKrn
Запрос информации производителя об адаптере (модуле):

  • Данная команда совмещает в себе команды: AT+GMM, AT+GMR, AT+GMI.
  • Пример ответа: Ai Thinker Co.LTDrnA6rnV03.03.20160830011H03rnOKrn
CIMI AT+CIMIrn
(запрос IMSI)
rn
НОМЕРrn
rn
OKrn
Запрос IMSI:

  • НОМЕР – международный идентификатор мобильного абонента (IMSI).
  • В системе GSM идентификатор содержится на SIM-карте и обычно состоит из 15 цифр. Первые 3 – код страны (250 – РФ), следующие 2 или 3 – код оператора (02 – ПАО «МегаФон»), остальные цифры – MSIN.
  • Пример ответа: 250020123456789rnOKrn
EGMR AT+EGMR=?rn
(запрос допустимых значений)
rn
+EGMR: (1,2), (7)rn
rn
OKrn
Установка/запрос IMEI:

  • Первый параметр (режим) – представлен цифрой:
    1 – установка (запись).
    2 – запрос (чтение).
  • Второй параметр (формат) – всегда равен 7.
  • НОМЕР – число являющееся IMEI.
  • Пример запроса: AT+EGMR=2,7rn – запросить текущий IMEI.
  • Пример ответа: +EGMR:012345678901234rnOKrn – текущий IMEI равен 012345678901234.
  • Пример установки: AT+EGMR=1,7,987654321043210rn – заменить IMEI на указанный.
AT+EGMR=1,7,“НОМЕР”rn
(установка IMEI)
rn
OKrn
AT+EGMR=2,7rn
(запрос IMEI)
rn
+EGMR:НОМЕРrn
rn
OKrn
CALA AT+CALA=?rn
(запрос допустимых значений)
rn
+CALA: (1-15), (0), (32), (15)rn
rn
OKrn
Установка/запрос списка будильников:

  • ДАТА – представлена строкой в формате “ГГ/ММ/ДД,ЧЧ:ММ:СС+ЧП” в строке можно опустить “ГГ/ММ/ДД” и “+ЧП” (часовой пояс). Если опустить “ГГ/ММ/ДД”, то нужно обязательно указать пятый параметр “ДН”. Если “ГГ/ММ/ДД” указано, то будильник будет удалён после срабатывания.
  • № – будильника представлен числом от 1 до 15
  • ТИП – сигнала будильника (звук, светодиод, …) представлен числом (по умолчанию = 0).
  • ТЕКСТ – представлен строкой сообщения будильника.
  • ДН – дни недели представлены цифрами, пишутся через запятую. Указывается только если в параметре ДАТА указано только время. Каждая цифра соответствует дню недели: 1-понедельник, … , 7-воскресение, 0-все дни недели.
  • ТИХИЙ – значение представлено числом 0 или 1. Если установлено 1, то будильник будет тихим (результатом срабатывания будет незапрашиваемый код результата +CALV).
  • Пример ответа: +CALA: “17/06/01,20:00:00″,1,0,”Conference”rnOKrn
  • Примеры установки:
    AT+CALA=”17/06/01,20:00:00″,1,0,”Conference”rn – установить будильник на один раз.
    AT+CALA=”06:00:00″,2,0,”Wake up”,”1,2,3,4,5″rn – установить будильник по будням в 6 часов.
    AT+CALA=”17/06/01,12:00:00″,3rn – установить будильник на один раз.
AT+CALA?rn
(запрос списка установленных будильников)
rn
+CALA: “ДАТА” [, [,ТИП [,“ТЕКСТ” [,“ДН” [,ТИХИЙ]]]]]rn
+CALA: “ДАТА” [, [,ТИП [,“ТЕКСТ” [,“ДН” [,ТИХИЙ]]]]]rn
rn
OKrn
AT+CALA=“ДАТА”[,№[,ТИП[,”ТЕКСТ”[,”ДН”[,ТИХИЙ]]]]]rn
(установка будильника)
rn
OKrn
CALD AT+CALD=?rn
(запрос списка номеров установленных будильников)
rn
+CALD: НОМЕРАrn
rn
OKrn
Удаление одного будильника:

  • НОМЕРА – через запятую тех будильников которые можно удалить.
  • НОМЕР – того будильника который требуется удалить.
  • Пример ответа: +CALD: 1,2,3,5rnOKrn – установлено 4 будильника (1,2,3,5).
  • Пример удаления: AT+CALD=2rn – удалить будильник номер 2.
AT+CALD=НОМЕРrn
(удаление будильника)
rn
OKrn
VGR AT+VGR=?rn
(запрос допустимых уровней)
rn
+VGR: (5-8)rn
rn
OKrn
Установка/запрос уровня усиления динамика:

  • УСИЛЕНИЕ – представлено числом от 5 до 8
    (значение 8 соответствует MUTE – выкл).
  • Пример ответа: +VGR: 6rnOKrn – текущее усиление равно 6.
  • Пример установки: AT+VGR=7rn – установить усиление в значение 7.
AT+VGR?rn
(запрос текущего уровня)
rn
+VGR: УСИЛЕНИЕrn
rn
OKrn
AT+VGR=УСИЛЕНИЕrn
(установка уровня)
rn
OKrn
VGT AT+VGT=?rn
(запрос допустимых уровней)
rn
+VGT: 16rn
rn
OKrn
Установка/запрос уровня усиления микрофона:

  • УСИЛЕНИЕ – представлено числом от 1 до 16
    (значение 16 соответствует MUTE – выкл).
  • Пример ответа: +VGT: 1rnOKrn – текущее усиление равно 1.
  • Пример установки: AT+VGT=16rn – установить усиление в значение 16.
AT+VGT?rn
(запрос текущего уровня)
rn
+VGT: УСИЛЕНИЕrn
rn
OKrn
AT+VGT=УСИЛЕНИЕrn
(установка уровня)
rn
OKrn
CLVL AT+CLVL=?rn
(запрос допустимых значений)
rn
+CLVL: (5-8)rn
rn
OKrn
Установка/запрос громкости динамика громкой связи:

  • ГРОМКОСТЬ – представлена числом от 5 до 8
    (чем ниже число, тем ниже громкость).
  • Пример ответа: +CLVL: 5rnOKrn – текущая громкость равна 5.
  • Пример установки: AT+CLVL=7rn – установить громкость в значение 7.
AT+CLVL?rn
(запрос текущей громкости)
rn
+CLVL: ГРОМКОСТЬrn
rn
OKrn
AT+CLVL=ГРОМКОСТЬrn
(установка громкости)
rn
OKrn
CMUT AT+CMUT=?rn
(запрос допустимых значений)
rn
+CMUT: (0,1)rn
rn
OKrn
Установка/запрос отключения микрофона при голосовом вызове:

  • ФЛАГ – представлен числом 0 или 1:
    0 – Mute off (не отключать).
    1 – Mute on (отключить микрофон).
  • Пример ответа: +CMUT: 0rnOKrn – микрофон включён.
  • Пример установки: AT+CMUT=1rn – отключить микрофон.
AT+CMUT?rn
(запрос текущего значения)
rn
+CMUT: ФЛАГrn
rn
OKrn
AT+CMUT=ФЛАГrn
(установка значения)
rn
OKrn
CCLK AT+CCLK=?rn
(запрос синтаксиса)
rn
+CCLK: “YY/MM/DD HH:MM:SS+ZZ”rn
rn
OKrn
Установка/запрос часов реального времени (RTC):

  • ДАТАВРЕМЯ – строка с датой и временем в кавычках: “ГГ/ММ/ДД,ЧЧ:ММ:СС+ЧП”, где “ЧП” (часовой пояс) можно не указывать.
  • Обратите внимание на то, что при запросе / установке между датой и временем знак запятой, а не пробела.
  • Пример ответа: +CCLK: “18/01/23,12:34:56+04”rnOKrn – текущее время.
  • Пример установки: AT+CCLK=”18/01/23,12:34:56+04″rn – установить новое время: 12:34:56, 23 января 2018 г.
AT+CCLK?rn
(запрос текущей даты и времени)
rn
+CCLK: “ДАТАВРЕМЯ”rn
rn
OKrn
AT+CCLK=“ДАТАВРЕМЯ”rn
(установка даты и времени)
rn
OKrn
CBC AT+CBC=?rn
(запрос допустимых значений)
rn
+CBC: (0-5),(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)rn
rn
OKrn
Запрос состояния ЗУ и ёмкости аккумулятора (АКБ):

  • СОСТОЯНИЕ – представлено числом от 0 до 5:
    0 – Адаптер ЗУ не подключён.
    1 – Адаптер ЗУ подключён.
    2 – Адаптер ЗУ подключён, АКБ заряжается.
    3 – Адаптер ЗУ подключён, АКБ заряжена.
    4 – Зарядка прервана.
    5 – Зарядка прервана из-за превышения t°С.
  • ЁМКОСТЬ – представлена в % остаточной ёмкости АКБ, не доступна во время заряда.
  • Пример ответа: +CBC: 0, 100rnOKrn – адаптер зарядного устройства (ЗУ) не подключён, аккумуляторная батарея (АКБ) заряжена на 100%.
AT+CBC?rn
(запрос текущего состояния)
rn
+CBC: СОСТОЯНИЕ, ЁМКОСТЬrn
rn
OKrn
CBCM AT+CBCM=?rn
(запрос допустимых значений)
rn
+CBCM: (0-1)rn
rn
OKrn
Управление уведомлениями о изменении ёмкости аккумуляторной батареи (АКБ):

  • ФЛАГ – представлен цифрой 0 или 1:
    1 – разрешить уведомления о изменении емкости АКБ.
    0 – запретить уведомления о изменении емкости АКБ.
  • В настоящее время модули A6 и A9 не поддерживают уведомления о изменении емкости АКБ.
  • Пример ответа: +CBCM:0rnOKrn – уведомления о изменении ёмкости отключены.
  • Пример установки: AT+CBCM=1″rn – включить уведомления о изменении ёмкости.
AT+CBCM?rn
(запрос текущей установки)
rn
+CBCM: ФЛАГrn
rn
OKrn
AT+CBCM=ФЛАГrn
(установка/запрет уведомлений)
rn
OKrn
CMER AT+CMER=?rn
(запрос допустимых значений)
rn
+CMER: (3),(0),(0),(0,2)rn
rn
OKrn
Установка/запрос режима отправки незапрашиваемых отчётов о событиях (URC):

  • РЕЖИМ – представлен цифрой от 0 до 3, где значение 3 означает – разрешить отправку URC.
  • КЛАВИАТУРА – представлена цифрой от 0 до 2, где значение 0 означает – без URC.
  • ДИСПЛЕЙ – представлен цифрой от 0 до 2, где значение 0 означает – без URC.
  • ИНДИКАТОР – представлен цифрой 0 или 1, где значение 0 означает – без URC.
  • БУФЕР – представлен цифрой от 0 до 3, где значение 0 означает – буфер стирается при установке режима 1-3.
  • Пример ответа: +CMER: 3,0,0,0rnOKrn
AT+CMER?rn
(запрос текущего режима)
rn
+CMER: РЕЖИМ, КЛАВИАТУРА, ДИСПЛЕЙ, ИНДИКАТОР, БУФЕРrn
rn
OKrn
AT+CMER=[РЕЖИМ [,КЛАВИАТУРА [,ДИСПЛЕЙ [,ИНДИКАТОР [,БУФЕР]]]]]rn
(установка режима отправки сообщений)
rn
OKrn
CEER AT+CEERrn
(запрос отчёта)
rn
+CMER: ТЕКСТrn
rn
OKrn
Запрос расширенного отчёта об ошибке последнего соединения:

  • ТЕКСТ – строка с информацией (или код) причины ошибки вызванной одной из последних операций:
    – Сбой голосового вызова (входящего/исходящего).
    – Разъединение голосового вызова.
    – Неудачное соединение GPRS или активация PDP.
    – Отключение GPRS или деактивация PDP.
  • Пример ответа: +CEER: CALL RELEASED, NETWORK SENT UDUB TO MErnOKrn
CPAS AT+CPASrn
(запрос статуса устройства)
rn
+CPAS: СТАТУСrn
rn
OKrn
Запрос статуса активности мобильного устройства:

  • СТАТУС – представлен цифрой от 0 до 5:
    0 – устройство готово (может принимать команды).
    1 – устройство недоступно (команды не принимаются).
    2 – статус неизвестен (не определён).
    3 – дозвон (входящий / исходящий).
    4 – устройство в режиме соединения.
    5 – устройство в спящем режиме (сокращенный набор функций).
  • Пример ответа: +CPAS:0rnOKrn – устройство готово к приему команд.

AT-команды SIM / PBK:

AT-команда: Ответ: Назначение:
CPIN AT+CPIN?rn
(запрос текущего состояния аутентификации)
rn
+CPIN: СОСТОЯНИЕrn
rn
OKrn
Аутентификация SIM-карты (ввод PIN1 / PUK1 / PIN2 / PUK2):

  • СОСТОЯНИЕ – текстовая строка указывающая какой код требуется ввести:
    READY – ввод пароля не требуется.
    SIM PIN – требуется ввод PIN1 (CHV1).
    SIM PUK – требуется ввод PUK1 и новый PIN1.
    SIM PIN2 – требуется ввод PIN2 (CHV2).
    SIM PUK2 – требуется ввод PUK2 и новый PIN2.
    +CME ERROR:10 – отсутствует SIM-карта.
    +CME ERROR:13 – SIM-карта неисправна.
  • Перед вводом пароля требуется узнать, какой именно пароль нужно ввести. Для этого отправляется команда AT+CPIN?rn.
  • Если PIN1 был некорректно введён 3 раза подряд, то потребуется ввести PUK1 и новый PIN1 через запятую (аналогично для PIN2, PUK2).
  • Если PUK1 был некорректно введён более 10 раз то SIM-карта будет безвозвратно заблокирована и команда AT+CPIN?rn вернёт ответ +CME ERROR:13rn – SIM-карта неисправна.
  • Для ввода PIN2 лучше воспользоваться командой AT+CPIN2.
  • Пример ответа: +CPIN: SIM PINrnOKrn – требуется ввести PIN1.
  • Пример ввода: AT+CPIN=”0123″rn – указываем PIN1=0123.
  • Пример ответа: +CPIN: SIM PUKrnOKrn – требуется ввести PUK1 и новый PIN1 через запятую.
  • Пример ввода: AT+CPIN=”12345678″,”1234″rn – указываем что PUK1=12345678 и устанавливаем новый PIN1=1234.
AT+CPIN=“PIN”rn
(ввод PIN-кода)
rn
OKrn
AT+CPIN=“PUK”,”PIN”rn
(ввод PUK-кода и нового PIN-кода)
rn
OKrn
CPIN2 AT+CPIN2?rn
(запрос текущего состояния аутентификации)
rn
+CPIN2: СОСТОЯНИЕrn
rn
OKrn
Аутентификация SIM-карты (ввод PIN2 / PUK2):

  • СОСТОЯНИЕ – текстовая строка указывающая какой код требуется ввести:
    READY – ввод пароля не требуется.
    SIM PIN2 – требуется ввод PIN2 (CHV2).
    SIM PUK2 – требуется ввод PUK2 и новый PIN2.
    +CME ERROR:10 – отсутствует SIM-карта.
    +CME ERROR:13 – SIM-карта неисправна.
  • Синтаксис данной AT-команды аналогичен предыдущей, но предназначен для ввода только PIN2 или PUK2.
  • Пример ответа: +CPIN2: SIM PIN2rnOKrn – требуется ввести PIN2.
  • Пример ввода: AT+CPIN2=”0123″rn – указываем PIN2=0123.
  • Пример ответа: +CPIN2: SIM PUK2rnOKrn – требуется ввести PUK2 и новый PIN2 через запятую
  • Пример ввода: AT+CPIN2=”12345678″,”1234″rn – указываем что PUK2=12345678 и устанавливаем новый PIN2=1234.
AT+CPIN2=“PIN2”rn
(ввод кода PIN2)
rn
OKrn
AT+CPIN2=“PUK2″,”PIN2”rn
(ввод кода PUK2 и нового кода PIN2)
rn
OKrn
CPINC AT^CPINCrn
(запрос кол-ва попыток ввода PIN / PUK)
rn
^CPINC: PIN1, PUK1, PIN2, PUK2rn
rn
OKrn
Запрос оставшегося количества попыток ввода паролей:

  • PIN1 / PUK1 / PIN2 / PUK2 – представлены цифрами от 0 до 10 указывающими количество оставшихся попыток (0 – попыток не осталось).
  • Обратите внимание на синтаксис данной AT-команды, после символов AT следует знак ^, а не +.
  • Пример ответа: ^CPINC: 3,10,3,10rnOKrn – осталось по 3 попытки для ввода PIN1 и PIN2, и по 10 попыток для ввода PUK1 и PUK2.
CLCK AT+CLCK=?rn
(запрос допустимых функций)
rn
+CLCK: (“SC”, “FD”, “AO”, “OX”, “OI”)rn
rn
OKrn
Блокировка/разблокировка функций устройства:

  • “ФУНКЦИЯ” – представлена строкой:
    “CS” – Устройства управления (клавиатура).
    “FD” – Фиксированный набор номеров из SIM памяти FDN.
    “AO” – Все исходящие вызовы.
    “OI” – Исходящие международные вызовы.
    “OX” – Исходящие международные вызовы, кроме своей страны.
  • РЕЖИМ – представлен цифрой от 0 до 2:
    0 – разблокировать.
    1 – заблокировать.
    2 – узнать статус.
  • ПАРОЛЬ – зависит от функции, может быть PIN1, PIN2.
  • КЛАСС – представлен числом:
    1 – голосовой режим (телефония).
    2 – режим данных (применяется для однонаправленного канала).
    4 – факсовый режим (факсимильная служба).
    8 – услуга коротких сообщений.
    16 – синхронная передача данных.
    32 – асинхронная передача данных.
    64 – выделенный доступ к пакетной передачи данных.
    128 – выделенный доступ через PAD.
  • Пример блокировки: AT+CLCK=”АО”,1,1234,2rn – заблокировать все исходящие вызовы в режиме данных.
  • Пример запроса: AT+CLCK=”АО”,2rn – узнать статус работы функции исходящих вызовов.
  • Пример разблокировки: AT+CLCK=”SC”,0,1234rn – разблокировать PIN1 (работать не запрашивая PIN1).
  • Пример блокировки: AT+CLCK=”SC”,1,1234rn – заблокировать с помощью PIN1 (запрашивать PIN1).
AT+CLCK=“ФУНКЦИЯ”, РЕЖИМ [,ПАРОЛЬ [,КЛАСС]]rn
(блокировка / разблокировка указанной функции)
Ответ зависит от указанных параметров.
CPWD AT+CPWD=?rn
(запрос максимального количества символов в пароле)
rn
+CPWD: (“SC”,8), (“P2”,8)rn
rn
OKrn
(до 8 знаков для “SC”, до 8 знаков для “P2”)
Смена пароля SIM-карты (PIN1 / PIN2):

  • “ФУНКЦИЯ” – представлена строкой (из двух символов), она определяет какой именно PIN-код требуется сменить:
    “SC” – смена кода PIN1 (от 4 до 8 символов).
    “P2” – смена кода PIN2 (от 4 до 8 символов).
  • “СТАРЫЙ” – текущий PIN-код.
  • “НОВЫЙ” – новый PIN-код.
  • Пример: AT+CPWD=”SC”,”0123″,”4567″rn – изменить PIN1 c 0123 на 4567.
  • Пример: AT+CPWD=”P2″,”0123″,”4567″rn – изменить PIN2 c 0123 на 4567.
AT+CPWD=“ФУНКЦИЯ”, “СТАРЫЙ”,”НОВЫЙ”rn
(смена пароля)
rn
OKrn
CRSM AT+CRSM=КОМАНДА [,ИДЕНТИФИКАТОР [, П1 [,П2 [,П3 [,ДАННЫЕ]]]]]rn rn
+CRSM: Ф1, Ф2, ОТВЕТrn
rn
OKrn
Отправка команд на SIM-карту в режиме ограниченного доступа:

  • КОМАНДА – представлена числом (в соответствии с GSM 11.11 / 3GPP TS 51.011), передается как есть на SIM-карту:
    176 – (READ BINARY) считать двоичный код.
    178 – (READ RECORD) прочитать запись.
    192 – (GET RESPONSE) получить ответ.
    214 – (UPDATE BINARY) обновить двоичный код.
    220 – (UPDATE RECORD) обновить запись.
    242 – (STATUS) запросить статус.
  • ИДЕНТИФИКАТОР – (файловый идентификатор) представлен числом от 0 до 65535 в соответствии с GSM 11.11 / 3GPP TS 51.011. Это идентификатор элементарного массива данных на SIM-карте.
  • П1, П2, П3 – параметры команды передаваемые на SIM-карту. Эти параметры описаны в GSM 11.11 / 3GPP TS 51.011.
  • ДАННЫЕ – передаваемые на SIM-карту, представлены в шестнадцатеричном формате в соответствии с командой «CSCS».
  • Ф1, Ф2 – флаги выполнения команды.
  • ОТВЕТ – на выполненную команду, представлен в шестнадцатеричном формате в соответствии с командой «CSCS».
  • Пример отправки: AT+CRSM=192,28433,0,0,15rn
  • Пример ответа: +CRSM:144,0,621E82054221001C0283026F40A503rnOKrn
CNUM AT+CNUMrn
(запрос своего номера)
rn
+CNUM: “НАЗВАНИЕ”, “НОМЕР”, ТИПrn
rn
OKrn
Запрос номер абонента MSISDN (свой номер телефона):

  • “НАЗВАНИЕ” – опциональная алфавитно-цифровая строка, сопоставленная номеру (в кодировке UCS2).
  • “НОМЕР” – строка с телефонным номером абонента MSISDN.
  • ТИП – число определяющее формат написания номера, допустимые значения 129,145,161:
    161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • Пример ответа: +CNUM: “XXXXX”,”79260001122+”,145rnOKrn – номер телефона +7(926)000-11-22.
CPBS AT+CPBS=?rn
(запрос допустимых областей памяти)
rn
+CPBS: (“SM”, “ON”, “FD”, “LD”)rn
rn
OKrn
Установка/запрос области памяти для телефонной книги:

  • “ПАМЯТЬ” – представлена строкой из двух символов:
    “SM” – память SIM-карты.
    “ON” – список собственных номеров UICC.
    “FD” – фиксированный список номеров.
    “LD” – список последних набранных номеров.
  • НАЙДЕНО – число указывающее на количество найденных записей.
  • ОБЪЕМ – число указывающее на максимально допустимое количество записей.
  • Пример ответа: +CPBS: “SM”,15,250rnOKrn – используется память SIM-карты, найдено 15 телефонов, объем памяти до 250 телефонов.
  • Пример установки AT+CPBS=”LD”rn – использовать телефонную книгу со списком последних набранных номеров.
AT+CPBS?rn
(запрос используемой области памяти)
rn
+CPBS: “ПАМЯТЬ” [,НАЙДЕНО, ОБЪЕМ]rn
rn
OKrn
AT+CPBS=ПАМЯТЬrn
(установка требуемой области памяти)
rn
OKrn
CPBR AT+CPBR=?rn
(запрос размера телефонной книги)
rn
+CPBR: (1-250), 20, 25rn
rn
OKrn
(до 250 ячеек, до 20 цифр в телефоне, до 25 символов в названии).
Чтение записей телефонной книги:

  • ОТ – число указывающее на начальную ячейку чтения.
  • ДО – число указывающее на конечную ячейку чтения.
  • ИНДЕКС – номер ячейки в которой записан телефон.
  • “НОМЕР” – строка с телефонным номером.
  • ТИП – число определяющее формат написания номера, допустимые значения: 129,145,161:
    161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • “НАЗВАНИЕ” – сопоставленное номеру телефона.
  • Обратите внимание, что существует несколько телефонных книг, которые предварительно можно выбрать командой «CSCS».
  • Пример запроса: AT+CPBR=1,2rn – получить записи телефонной книги с 1 по 2 ячейку включительно.
  • Пример ответа:
    +CPBR: 1,”*100#”,129,”XXXXXXX”rn – номер в ячейке 1
    +CPBR: 2,”*106#”,129,”XXXXXXX”rn – номер в ячейке 2
    OKrn
AT+CPBR=ОТ [,ДО]rn
(чтение записей)
rn
+CPBR: ИНДЕКС, “НОМЕР”, ТИП, “НАЗВАНИЕ”rn
rn
OKrn
CPBF AT+CPBF=?rn
(запрос размера записей)
rn
+CPBF: 20,25rn
rn
OKrn
(до 20 цифр в телефоне, до 25 символов в названии).
Поиск записей телефонной книги:

  • “ТЕКСТ” – начало названия записи сопоставленное номеру телефона.
  • ИНДЕКС – номер ячейки в которой записан телефон.
  • “НОМЕР” – строка с телефонным номером.
  • ТИП – число определяющее формат написания номера, допустимые значения: 129,145,161:
    161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • “НАЗВАНИЕ” – сопоставленное номеру телефона.
  • Обратите внимание, что существует несколько телефонных книг, которые предварительно можно выбрать командой «CSCS».
  • Пример запроса: AT+CPBF=”iard”rn – получить записи телефонной книги с названиями начинающимися на “iard”.
  • Пример ответа:
    +CPBF: 17,”+74995001456″,145,”iarduino office”rnOKrn – найден один номер в ячейке 17.
AT+CPBF=“ТЕКСТ”rn
(поиск записей)
rn
+CPBF: ИНДЕКС, “НОМЕР”, ТИП, “НАЗВАНИЕ”rn
rn
OKrn
CPBW AT+CPBW=?rn
(запрос допустимых параметров)
rn
+CPBW: (1-250), 20, (129,145,161), 25rn
rn
OKrn
(до 250 номеров, до 20 цифр в телефоне, допустимые типы (129,145,161), до 25 символов в названии).
Редактирование записей телефонной книги (добавление / замена / удаление):

  • ИНДЕКС – номер ячейки в которую производится запись. Если в данной ячейке уже есть запись, то она заменится на новую. Если указать только индекс, то запись ячейки будет удалена.
  • “НОМЕР” – строка с телефонным номером.
  • ТИП – число определяющее формат написания номера, допустимые значения: 129,145,161:
    161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • “НАЗВАНИЕ” – сопоставленное номеру телефона.
  • Обратите внимание, что существует несколько телефонных книг, которые предварительно можно выбрать командой «CSCS».
  • Пример записи номера в 18 ячейку:
    AT+CPBW=18,”+74995001456″,145,”iarduino office”rn
  • Пример записи номера в 18 ячейку:
    AT+CPBW=18,”84995001456″,129,”iarduino office”rn
  • Пример удаления номера из 18 ячейки:
    AT+CPBW=18rn
AT+CPBW=[ИНДЕКС][,”НОМЕР” [,ТИП [,НАЗВАНИЕ]]]rn
(запись,замена,удаление)
rn
OKrn

AT-команды голосовых вызовов:

AT-команда: Ответ: Назначение:
ATA ATArn
(ответить на входящий голосовой вызов)
rn
CONNECTrn
Ответ на входящий голосовой вызов:

  • Отвечать на входящий голосовой вызов можно только если этот вызов есть (поступают команды RING), иначе ответом будет ERROR.
  • Пример: ATArn – ответить на входящий звонок.
ATH ATHrn
(повесить трубку)
rn
OKrn
Разъединение голосового вызова:

  • Используется для отсоединения удаленного пользователя во время голосового вызова.
  • Пример: ATHrn – повесить трубку (в момент разговора, звонка, дозвона).
CHUP AT+CHUPrn
(повесить все трубки)
rn
OKrn
Разъединение всех существующих голосовых вызовов (повесить трубку):

  • Используется для отсоединения удаленных пользователей во время голосовых вызовов.
  • Пример: AT+CHUPrn – повесить трубку (входящие, исходящие, ожидающие).
ATD ATDНОМЕРrn
(набрать указанный номер)
rn
OKrn
Набор номера (исходящий голосовой вызов):

  • Команда ATD может использоваться не только для голосовых вызовов, но и для вызовов в режиме данных, или факсовых вызовов.
  • НОМЕР – набираемый телефонный номер абонента (MSISDN).
  • “ПАМЯТЬ” – телефонной книги, представлена строкой из двух символов:
    “SM” – память SIM-карты.
    “ON” – список собственных номеров UICC.
    “FD” – фиксированный список номеров.
    “LD” – список последних набранных номеров.
  • ИНДЕКС – номер ячейки телефонной книги, по телефону которой требуется позвонить.
  • Пример: ATD+74995001456rn – набрать номер +74995001456
  • Пример: ATD>”SM”20rn – набрать номер из 20 ячейки телефонной книги в памяти SIM.
  • Пример: ATD>SM20rn – набрать номер из 20 ячейки телефонной книги в памяти SIM.
  • Пример: ATD>5rn – набрать номер из 5 ячейки используемой телефонной книги.
ATD>[“ПАМЯТЬ”]ИНДЕКСrn
(набрать номер из телефонной книги)
rn
OKrn
DLST AT+DLSTrn
(повтор исходящего вызова)
rn
OKrn
Повторный набор последнего исходящего вызова:

  • Пример: AT+DLSTrn – набрать последний исходящий номер.
CHLD AT+CHLD=?rn
(запрос допустимых действий)
rn
+CHLD: (0,1,1X,2,2X,3)rn
rn
OKrn
Управление групповыми вызовами и конференц-связью:

  • ЗНАЧЕНИЕ – определяет требуемое действие:
    0 – Разъединить все удерживаемые вызовы или установить UDUB (User Determined User Busy) для ожидающего вызова.
    1 – Разъединить все активные вызовы (если они есть) и принять другой (удерживаемый или ожидающий) вызов.
    1X – Разъединить вызов X (активный, удерживаемый или ожидающий).
    2 – Перевести все активные вызовы (если они есть) в режим удержания и принять другой (удерживаемый или ожидающий) вызов.
    2X – Перевести в режим удержания все активные вызовы, кроме вызова Х, с которым поддерживается связь.
    3 – Добавить в конференцию (к разговору) удерживаемый вызов.
  • Пример: AT+CHLD=1rn – разъединить все активные вызовы и принять удерживаемый.
  • Пример: AT+CHLD=12rn – разъединить вызов 2.
  • Пример: AT+CHLD=21rn – удерживать все активные вызовы кроме вызова 1, с которым поддерживается связь.
  • Индекс (номер) вызова можно узнать с помощью команды «CLCC».
AT+CHLD=ЗНАЧЕНИЕrn
(выполнение действия)
rn
OKrn
CLCC AT+CLCCrn
(получение списка текущих вызовов)
rn
+CLCC: ИНДЕКС, НАПРАВЛЕНИЕ, СОСТОЯНИЕ, РЕЖИМ, ФЛАГ [,НОМЕР, ТИП [,”НАЗВАНИЕ“]]rn
rn
OKrn
Запрос списка текущих вызовов:

  • ИНДЕКС – представлен числом, это номер (или ID) вызова.
  • НАПРАВЛЕНИЕ – представлено цифрой 0 или 1:
    0 – Исходящий вызов.
    1 – Входящий вызов.
  • СОСТОЯНИЕ – представлено цифрой от 0 до 7:
    0 – Активный вызов.
    1 – Удерживаемый вызов.
    2 – Исходящий вызов в режиме набора.
    3 – Исходящий вызов в режиме дозвона.
    4 – Входящий вызов в режиме дозвона.
    5 – Входящий ожидающий вызов.
    7 – Сброс вызова (разъединение).
  • РЕЖИМ – представлен цифрой от 0 до 9:
    0 – голосовой режим.
    1 – режим данных.
    2 – факсовый режим.
    3 – голосовой режим данные/голос.
    4 – голосовой режим с чередованием голос/данные.
    5 – голосовой режим с чередованием голос/факс.
    6 – режим данных данные/голос.
    7 – режим данных с чередованием голос/данные.
    8 – факсовый режим с чередованием голос/факс.
    9 – неизвестный режим.
  • ФЛАГ – конференц-связи, представлен цифрой 0 или 1:
    0 – вызов не является одним из вызовов конференц-связи.
    1 – вызов является одним из вызовов конференц-связи.
  • НОМЕР – телефонный номер абонента (MSISDN).
  • ТИП – число определяющее формат написания номера, допустимые значения: 129,145,161:
    161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • “НАЗВАНИЕ” – сопоставленное номеру телефона из адресной книги.
  • Пример ответа: +CLCC: 1,0,2,0,0,”74995001456″,145rnOKrn – первый вызов, исходящий, в режиме набора номера, голосовой, не конференц.
  • Пример ответа:+CLCC: 2,1,4,0,0,”74995001456″,145rnOKrn – второй вызов, входящий, поступающий, голосовой, не конференц. Этот пример демонстрирует, как можно узнать номер звонящего абонента во время поступления +RING.
  • Пример ответа:+CLCC: 1,1,0,0,0,”74995001456″,145rnOKrn – второй вызов, входящий, активный, голосовой, не конференц.
VTD AT+VTD=?rn
(запрос допустимых значений)
rn
+VTD: (1-10)rn
rn
OKrn
Установка/запрос длительности тональных сигналов DTMF:

  • Тональные сигналы DTMF передаются по сети GSM при наличии активного вызова.
  • ДЛИТЕЛЬНОСТЬ – представлена числом от 1 до 10 и является 1/10 секунды.
  • Пример ответа: +VTD: 1rnOKrn – используются тональные сигналы DTMF длительностью 100 мс.
  • Пример установки: AT+VTD=2rn – использовать тональные сигналы DTMF длительностью 200 мс.
AT+VTD?rn
(запрос установленной длительности сигнала)
rn
+VTD: ДЛИТЕЛЬНОСТЬrn
rn
OKrn
AT+VTD=ДЛИТЕЛЬНОСТЬrn
(установка длительности)
rn
OKrn
VTS AT+VTS=?rn
(запрос допустимых символов для воспроизведения)
rn
+VTS: (0-9,*,#,A,B,C,D),(1-10)rn
rn
OKrn
Отправка тонального сигнала DTMF:

  • Тональные сигналы DTMF передаются по сети GSM при наличии активного вызова.
  • ЗНАЧЕНИЕ – представлено одним из передаваемых знаков: 0-9,*,#,A,B,C,D.
  • ДЛИТЕЛЬНОСТЬ – представлена числом от 1 до 10 и является 1/10 секунды.
  • Пример отправки: AT+VTS=5rn – отправка тонального сигнала соответствующего цифре 5.
  • Пример отправки: AT+VTS=#rn – отправка тонального сигнала соответствующего знаку #.
  • Пример отправки: AT+VTS=4,2rn – отправка тонального сигнала соответствующего цифре 4, длительностью 200 мс.
AT+VTS=ЗНАЧЕНИЕ [, ДЛИТЕЛЬНОСТЬ]rn
(воспроизвести тональный сигнал)
rn
OKrn
VTSEX AT+VTSEX=1rn
(воспроизвести специальный тональный сигнал)
rn
OKrn
Отправка специального тонального сигнала DTMF:

  • Тональные сигналы DTMF передаются по сети GSM при наличии активного вызова.
  • ЗНАЧЕНИЕ – может быть только цифрой 1.
  • Пример отправки: AT+VTSEX=1rn – отправка специального тонального сигнала.

AT-команды сетевых служб:

AT-команда: Ответ: Назначение:
COPN AT+COPNrn
(запрос списка операторов из памяти модуля)
rn
+COPN: “НОМЕР”,”НАЗВАНИЕ”rn
Запрос списка всех имен операторов из памяти модуля:

  • Команда возвращает не действующих в данном месте операторов, а список операторов хранящийся в памяти модуля. А еще эта команда может возвращать свой список в бесконечном цикле.
COPS AT+COPS=?rn
(Запрос списка доступных операторов PLMN)
rn
+COPS: (СТАТУС, “ОПЕРАТОР”, “ОПЕРАТОР”, “ОПЕРАТОР”),(аналогично для след. оператора),(и т.д.)rn
rn
OKrn
Запрос/выбор оператора связи PLMN:

  • РЕЖИМ – представлен цифрой от 0 до 4:
    0 – Автоматический (по умолчанию).
    1 – Ручной.
    2 – Снятие с регистрации.
    3 – Указать только формат.
    4 – Ручной/автоматический.
  • ФОРМАТ – представлен цифрой от 0 до 2:
    0 – формат поля ОПЕРАТОР – длинный алфавитно-цифровой (до 16 симв.).
    1 – формат поля ОПЕРАТОР – короткий алфавитно-цифровой (до 8 симв.).
    2 – формат поля ОПЕРАТОР – цифровой (состоит из кодов MCC и MNC).
  • “ОПЕРАТОР” – представлен в соответствии с указанным форматом.
  • СТАТУС – представлен цифрой от 0 до 3:
    0 – Оператор неизвестен.
    1 – Оператор доступен для выбора.
    2 – Оператор является выбранным (текущим).
    3 – Оператор запрещен для выбора.
  • ИМЯ1 – представлено строкой
  • ИМЯ2 – представлено строкой
  • Пример ответа на запрос списка доступных операторов:
    +COPS: (2,”MegaFon”,”MegaFon”,”25002″),(1,”MTS”,”MTS”,”25001″),(1,”Beeline”,”Beeline”,”25099″)rnOKrn – доступны 3 оператора (3 скобки): “MegaFon” является уже выбранным (2), а “MTS” и “Beeline” имеют статус 1 (доступен для выбора). В каждой скобке имя оператора представлено в трёх форматах (длинном, коротком и цифровом).
  • Пример ответа на запрос выбранного оператора:
    +COPS: 0,2,”25002″rnOKrn – выбран оператор “25002” (“MegaFon”), выбран в автоматическом режиме (0), имя оператора представлено в цифровом формате (2).
  • Пример выбора оператора:
    AT+COPS=1,0,”MegaFon”rn – выбран оператор “MegaFon”, выбран в ручном режиме (1), имя оператора представлено в длинном алфавитно-цифровом формате (0).
AT+COPS?rn
(Запрос выбранного оператора PLMN)
rn
+COPS: РЕЖИМ [,ФОРМАТ, “ОПЕРАТОР”]rn
rn
OKrn
AT+COPS=РЕЖИМ [,ФОРМАТ [, “ОПЕРАТОР”]]rn
(Выбор оператора PLMN)
rn
OKrn
CREG AT+CREG=?rn
(Запрос допустимых режимов вывода сообщений о статусе регистрации)
rn
+CREG: (0-2)rn
rn
OKrn
Установка/запрос режима и статуса регистрации в сети оператора:

  • РЕЖИМ – представлен цифрой от 0 до 2:
    0 – Отключить незапрашиваемые сообщения (URC) о статусе регистрации в сети.
    1 – Включить незапрашиваемые сообщения (URC) о статусе регистрации в сети.
    Сообщения будут приходить в формате +CREG: СТАТУС.
    2 – Включить незапрашиваемые сообщения (URC) о статусе регистрации в сети и о местоположении.
    Сообщения будут приходить в формате +CREG: СТАТУС, “КОД”, “ID”.
  • СТАТУС – представлен цифрой от 0 до 5:
    0 – Не зарегистрирован, не проводится поиск нового оператора.
    1 – Зарегистрирован, домашний оператор.
    2 – Не зарегистрирован, проводится поиск нового оператора.
    3 – Регистрация отклонена.
    4 – Статус неизвестен
    5 – Зарегистрирован, роуминг.
  • “КОД” – локальной зоны местоположения базовых станций (LAC/TAC), представлен двухбайтным числом в шестнадцатеричном формате.
  • “ID” – идентификатор соты (CID/SAC/ECI), представлен двухбайтным числом в шестнадцатеричном формате.
  • Пример ответа на запрос текущего режима и статуса:
    +CREG: 1,1rnOKrn – включены незапрашиваемые сообщения о статусе регистрации, модем зарегистрирован в сети домашнего оператора связи.
  • Пример ответа на запрос текущего режима и статуса:
    +CREG: 2,1,”262A”,”346A”rnOKrn – включены незапрашиваемые сообщения о статусе регистрации и местоположении, модем зарегистрирован в сети домашнего оператора связи, код местоположения базовых станций “262A”, ID соты “346A”.
  • Пример выбора режима:
    AT+CREG=2rn – включить незапрашиваемые сообщения о статусе регистрации в сети и о местоположении.
  • Пример незапрашиваемого сообщения о статусе:
    +CREG: 1rn – модем зарегистрирован в сети домашнего оператора связи.
AT+CREG?rn
(Запрос текущего режима и статуса)
rn
+CREG: РЕЖИМ, СТАТУС [,“КОД”, “ID”]rn
rn
OKrn
AT+CREG=РЕЖИМrn
(Установка режима вывода сообщений о статусе регистрации)
rn
OKrn
CSQ AT+CSQ=?rn
(Запрос допустимых значений)
rn
+CSQ: (0-31,99),(0-7,99)rn
rn
OKrn
Запрос уровня сигнала:

  • УРОВЕНЬ – сигнала представлен числом от 0 до 31 или 99:
    0 – Уровень сигнала менее -113 дБм.
    1 – Уровень сигнала -111 дБм.
    2 … 30 – Уровень сигнала в диапазоне от -109 дБм до -53 дБм (шаг 2 дБм).
    31 – Уровень сигнала -51 дБм и выше.
    Чем выше число, тем выше уровень принимаемого сигнала.
    99 – Уровень сигнала неизвестен или его нельзя определить.
  • ОШИБКИ – частота появления ошибок представлена числом от 0 до 7 или 99:
    0 … 7 – Как значения RXQUAL в таблице GSM 05.08.
    99 – Частота появления ошибок неизвестна или её нельзя определить.
  • Пример ответа: +CSQ: 22,99rnOKrn – уровень сигнала -69 дБм, количество ошибок неизвестно или их нельзя определить.
  • Пример ответа: +CSQ: 31,99rnOKrn – уровень сигнала -51 дБм или выше, количество ошибок неизвестно или их нельзя определить.
AT+CSQrn
(Запрос уровня сигнала и количества ошибок)
rn
+CSQ: УРОВЕНЬ, ОШИБКИrn
rn
OKrn
CPOL AT+CPOL=?rn
(Запрос максимального размера списка и допустимых форматов)
rn
+CPOL: (1-50),(0,2)rn
rn
OKrn
Установка/запрос списка предпочтительных операторов:

  • Список хранится и редактируется на SIM-карте.
  • ИНДЕКС – представлен числом, это номер записи в списке.
  • ФОРМАТ – представлен цифрой от 0 до 2:
    0 – формат поля ОПЕРАТОР – длинный алфавитно-цифровой (до 16 симв.).
    1 – формат поля ОПЕРАТОР – короткий алфавитно-цифровой (до 8 симв.).
    2 – формат поля ОПЕРАТОР – цифровой (состоит из кодов MCC и MNC).
  • “ОПЕРАТОР” – представлен в соответствии с указанным форматом.
  • GSM – представлен цифрой 0 или 1, это флаг указывающий что оператор поддерживает технологию доступа GSM (по умолчанию флаг = 1).
  • GSMcomp – представлен цифрой 0 или 1, это флаг указывающий что оператор поддерживает технологию доступа GSM compact.
  • UTRAN – представлен цифрой 0 или 1, это флаг указывающий что оператор поддерживает технологию доступа UTRAN.
  • Пример запроса списка операторов:
    AT+CPOL?rn – запрос списка в установленном ранее формате.
    AT+CPOL=,0rn – смена формата на длинный алфавитно-цифровой.
    AT+CPOL?rn – запрос списка в только что установленном формате.
  • Пример добавления (замены) оператора:
    AT+CPOL=7,2,25002rn – в 7 строку, в цифровом формате (2), добавлен оператор 25002, поддерживающий доступ GSM (по умолчанию).
    AT+CPOL=7,0,”MegaFon”rn – в 7 строку, в алфавитно-цифровом формате (0), добавлен оператор “MegaFon”, поддерживающий технологию доступа GSM (по умолчанию).
    AT+CPOL=7,2,77777,0,0,1rn – в 7 строку, в цифровом формате (2), добавлен оператор 77777, поддерживающий технологию доступа UTRAN.
  • Пример удаления оператора:
    AT+CPOL=7rn – строка 7 списка операторов очищена.
AT+CPOL?rn
(Запрос списка предпочтительных операторов)
rn
+CPOL: ИНДЕКС, ФОРМАТ, “ОПЕРАТОР”rn
rn
OKrn
AT+CPOL=[ИНДЕКС] [,ФОРМАТ [,”ОПЕРАТОР” [,GSM,GSMcomp,UTRAN]]]rn
(Добавление, замена, удаление оператора из списка)
rn
OKrn

AT-команды STK / SS:

AT-команда: Ответ: Назначение:
CACM см. оригинал. Запрос/сброс счётчика вызовов.
CAMM см. оригинал. Установка максимального значения для счётчика вызовов.
CAOC см. оригинал. Оповещение о стоимости вызова (в настоящее время модули A6  и A9 не поддерживают данную команду).
CPUC см. оригинал. Установка/запрос стоимости у.е. вызова и таблицы валют.
CCFC см. оригинал. Управление переадресацией вызовов.
CCWA см. оригинал. Управление услугой “ожидание вызова”.
CLIP см. оригинал. Управление идентификацией вызывающей линии (АОН).
CLIR см. оригинал. Управление запретом идентификации вызывающей линии (анти АОН).
COLP см. оригинал. Управление идентификацией подключенной линии.
CSSN см. оригинал. Управление уведомлениями о дополнительных услугах.
CUSD см. оригинал. Управление и выполнение USSD запросов (Unstructured Supplementary Service data)
STA см. оригинал. Активация интерфейса SAT (SIM Application Toolkit)
STN см. оригинал. Уведомление STK (SIM ToolKit)
STGI см. оригинал. Запрос информации с STK (SIM ToolKit)
STR см. оригинал. Удалённый ответ SAT (SIM Application Toolkit)
STF см. оригинал. Установка формата ответов SAT (SIM Application Toolkit)

AT-команды SMS:

AT-команда: Ответ: Назначение:
CSDH AT+CSDH=?rn
(запрос допустимых значений)
rn
+CSDH: (0,1)rn
rn
OKrn
Разрешить/запретить отображение заголовков текстовых сообщений в незапрашиваемых кодах результата:

  • ФЛАГ – представлен цифрой 0 или 1:
    0 – Не отображать.
    1 – Отображать.
  • При получении SMS сообщения, если командой «CNMI» разрешена индикация входящих SMS, то модуль отправит URC (незапрашиваемый код результата) +CMTI или +CMT, с указанием, или без указания заголовка SMS сообщения.
AT+CSDH?rn
(запрос текущей установки)
rn
+CSDH: ФЛАГrn
rn
OKrn
AT+CSDH=ФЛАГrn
(разрешить / запретить отображение заголовков)
rn
OKrn
CSMP AT+CSMP?rn
(запрос текущих параметров)
rn
+CSMP: БАЙТ, ВРЕМЯ, ПРОТОКОЛ, КОДИРОВКАrn
rn
OKrn
Установка/запрос параметров текстового режима:

  • БАЙТ- представлен флаговыми битами:
    (синтаксис данного байта аналогичен байту “PDU TYPE” в режиме PDU)
    бит 7 – флаг “RP” (Reply Path). Если установлен, значит в сообщении указан обратный адрес, но в текстовом режиме данный флаг должен быть сброшен.
    бит 6 – флаг “UDHI” (User Data Header Included). Если установлен, значит сообщение содержит заголовок.
    бит 5 – флаг “SRR” (Status Report Request). Если установлен, значит сообщение требует получение отчета о статусе (доставке).
    биты 4,3 – значение “VPF” (Validity Period Format). Срок жизни сообщений: 00-нет, 01-зарезервировано (не используется), 10-срок жизни указан в параметре ВРЕМЯ в относительном формате, 11-срок жизни указан в параметре ВРЕМЯ в абсолютом формате (не поддерживается).
    бит 2 – флаг “RD” (Reject Duplicates). Если установлен значит требуется игнорировать копии данного сообщения.
    биты 1,0 – значение “MTI” (Message Type Indicator). Индикатор типа сообщения: 00-входящее, 01-исходящее.
  • ВРЕМЯ – срок жизни сообщений, представлен числом:
    при значении от 0 до 143, срок жизни = (ВРЕМЯ+1) × 5 минут.
    при значении от 144 до 167, срок жизни = (ВРЕМЯ-143) × 30 минут + 12 часов.
    при значении от 168 до 196, срок жизни = (ВРЕМЯ-166) × 1 день.
    при значении от 197 до 255, срок жизни = (ВРЕМЯ-192) × 1 неделя.
  • ПРОТОКОЛ – идентификатор протокола, представлен числом (по умолчанию 0).
  • КОДИРОВКА – представлена числом: 0, 4 или 8, (по умолчанию 0):
    0 – 7-битный алфавит GSM.
    4 – 8-битная кодировка.
    8 – 16-битная кодировка.
  • Пример ответа: +CSMP: 17,167,0,0rnOKrn – исходящее сообщение, без заголовка и запроса статуса, срок жизни 24 часа, копии игнорировать, протокол и кодировка по умолчанию.
  • Пример установки: AT+CSMP=81,167,0,8rn – исходящее сообщение с заголовком, без запроса на получение статуса, срок жизни 24 часа, копии игнорировать, протокол по умолчанию, 16-битная кодировка.
AT+CSMP=БАЙТ, ВРЕМЯ, ПРОТОКОЛ, КОДИРОВКА,rn
(установка параметров текстового режима)
rn
OKrn
CMSS AT+CMSS=ИНДЕКС [,НОМЕР [,ТИП]]rn
(отправка SMS)
rn
+CMSS: ИНДЕКСотпрrn
rn
OKrn
Отправка SMS сообщения из памяти:

  • Команда отправляет сообщения из области памяти указанной командой «CPMS».
  • ИНДЕКС – представлен числом, это номер записи сохранённой SMS.
  • НОМЕР – представлен строкой в виде номера телефона. Если данный параметр указан то он будет использован вместо номера, сохраненного вместе с сообщением.
  • ТИП – число определяющее формат написания номера, допустимые значения: 129,145,161:
    161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • ИНДЕКСотпр – число являющееся номером отправленного сообщения.
  • Пример отправки: AT+CMSS=10rn – отправить SMS сохранённую под номером 10 на номер телефона указанный в сохранённой SMS.
  • Пример отправки: AT+CMSS=10,+74995001456rn – отправить SMS сохранённую под номером 10 на номер телефона +74995001456.
  • Пример ответа: +CMSS: 15rnOKrn – SMS отправлена, она является 15 по счёту отправленной SMS.
CMGD AT+CMGD=?rn
(запрос допустимых значений)
rn
+CMGD: (ИНДЕКС),(СТАТУС)rn
rn
OKrn
(значения зависят от выбранной предпочтительной области памяти)
Удаление SMS сообщения из памяти:

  • Команда удаляет сообщения из области памяти указанной командой «CPMS».
  • ИНДЕКС – представлен числом указывающим на номер (ячейку) удаляемого SMS сообщения из предпочтительной области памяти.
  • СТАТУС – сообщений представлен цифрой от 0 до 4:
    0 – Одно сообщение находящееся в ячейке ИНДЕКС.
    1 – Все прочитанные сообщения.
    2 – Все прочитанные и отправленные сообщения.
    3 – Все прочитанные, отправленные и неотправленные сообщения.
    4 – Все сообщения.
  • Если СТАТУС представлен цифрой 1,2,3,4, то параметр ИНДЕКС игнорируется.
  • Если СТАТУС не указан, значит он представлен цифрой 0.
  • Пример ответа на запрос допустимых значений:
    +CMGD: (1-15),(0,1,2,3,4)rnOKrn – в выбранной предпочтительной области памяти имеются 15 ячеек (возможно указание индекса от 1 до 15), доступны статусы 0,1,2,3,4.
  • Пример удаления: AT+CMGD=3rn – удалить сообщение из 3 ячейки.
  • Пример удаления: AT+CMGD=2,0rn – удалить сообщение из 2 ячейки.
  • Пример удаления: AT+CMGD=2,1rn – удалить все прочитанные сообщения.
  • Пример удаления: AT+CMGD=2,4rn – удалить все сообщения.
AT+CMGD=ИНДЕКС,[СТАТУС]rn
(удаление сообщений)
rn
OKrn
CMGF AT+CMGF=?rn
(запрос допустимых значений)
rn
+CMGF: (0,1)rn
rn
OKrn
Установка/запрос формата SMS сообщений (текстовый / PDU):

  • ФОРМАТ – представлен цифрой 0 или 1:
    0 – SMS сообщения принимаются и отправляются в формате PDU.
    1 – SMS сообщения принимаются и отправляются в текстовом формате.
  • SMS сообщение в режиме PDU, в отличии от текстового режима, содержит всю информацию о заголовке сообщения, который задается строкой в шестнадцатеричном формате.
  • Пример ответа: +CMGF=0rnOKrn – установлен формат PDU.
  • Пример установки: AT+CMGF=1rn – установить текстовый режим.
AT+CMGF?rn
(запрос текущего формата)
rn
+CMGF: ФОРМАТrn
rn
OKrn
AT+CMGF=ФОРМАТrn
(установить формат SMS сообщений)
rn
OKrn
CMGL AT+CMGL=?rn
(запрос допустимых значений)
rn
+CMGL: (СТАТУС)rn
rn
OKrn
(значение СТАТУС зависит от выбранного формата)
Чтение списка SMS сообщений из памяти:

  • Команда выводит список из области памяти указанной командой «CPMS».
  • СТАТУС – сообщений представлен либо цифрой (если выбран формат PDU), либо строкой (если выбран текстовый формат):
    0 – “REC UNREAD” – полученные непрочитанные сообщения.
    1 – “REC READ” – полученные прочитанные сообщения.
    2 – “STO UNSENT” – сохранённые неотправленные сообщения.
    3 – “STO SENT” – сохранённые отправленные сообщения.
    4 – “ALL” – все сообщения.
  • Если СТАТУС не указан, значит он представлен цифрой 0 или строкой “REC UNREAD”.
  • После чтения списка полученных непрочитанных сообщений, статус данных сообщений изменится на “полученные прочитанные сообщения”.
  • Параметры: ИНДЕКС, “НОМЕР”, “НАЗВАНИЕ”, ТИП, “ДАТА”, ДЛИНА, ДАННЫЕ и PDU см. в описании команды «CMGR».
  • Пример ответа на запрос допустимых значений в формате PDU:
    +CMGL: (0-4)rnOKrn – допускаются значения от 0 до 4.
  • Пример ответа на запрос допустимых значений в текстовом формате:
    +CMGL: (“REC UNREAD”,”REC READ”,”STO UNSENT”,”STO SENT”,”ALL”)rnOKrn – допускается указать одну из перечисленных строк.
  • Пример запроса на чтение списка в формате PDU: AT+CMGL=4rn – получить список всех сообщений.
  • Пример запроса на чтение списка в текстовом формате: AT+CMGL=”ALL”rn – получить список всех сообщений.
  • Пример ответа, текстовый формат, строка принятого сообщения:
    +CMGL: 2,”REC_READ”,”+7926…”,,”2018/04/27,13:17:17+03″,145,6rnPrivetrn.
  • Пример ответа, текстовый формат, строка отправленного сообщения:
    +CMGL: 1,”STO_SENT”,”+7926XXXXXXX”,”iarduino”,145,6rnPrivetrn.
  • Пример ответа, формат PDU, строка из списка сообщений:
    +CMGL: 3,1,,24rnPDUrn.
AT+CMGL[=СТАТУС]rn
(запрос на чтение списка сообщений)
Строки списков зависят установленного формата и статуса сообщений:

Текстовый формат, принятое сообщение:
rn
+CMGL: ИНДЕКС, “СТАТУС”, “НОМЕР” [,“НАЗВАНИЕ”][,“ДАТА”] [,ТИП, ДЛИНА]rn
ДАННЫЕrn

Текстовый формат, отправл. сообщение:
rn
+CMGL: ИНДЕКС, “СТАТУС”, “НОМЕР” [,“НАЗВАНИЕ”] [,ТИП, ДЛИНА]rn
ДАННЫЕrn

Формат PDU:
rn
+CMGL: ИНДЕКС, СТАТУС [,“НАЗВАНИЕ”], ДЛИНАrn
PDUrn

CMGR AT+CMGR=ИНДЕКСrn
(чтение одного SMS сообщения)
Строка ответа зависит от установленного формата и статуса сообщения:

Текстовый формат, принятое сообщение:
rn
+CMGR: “СТАТУС”, “НОМЕР” [,“НАЗВАНИЕ”], “ДАТА” [,ТИП, ВИД, ПРОТОКОЛ, КОДИРОВКА, “НОМЕРс”, ТИПс, ДЛИНА]rn
ДАННЫЕrn
rn
OKrn

Текстовый формат, отправл. сообщение:
rn
+CMGR: “СТАТУС”, “НОМЕР” [,“НАЗВАНИЕ”] [,ТИП, ВИД, ПРОТОКОЛ, КОДИРОВКА, [ВРЕМЯ], “НОМЕРс”, ТИПс, ДЛИНА]rn
ДАННЫЕrn
rn
OKrn

Текстовый формат, сообщение запроса статуса:
rn
+CMGR: “СТАТУС”, ВИД, ССЫЛКА, [“НОМЕР”] [,ТИП], “ДАТА”, <dt>, <st>rn
rn
OKrn

Формат PDU:
rn
+CMGR: “СТАТУС” [,“НАЗВАНИЕ”], ДЛИНАrn
PDUrn
rn
OKrn

Чтение одного SMS сообщения из памяти:

  • Команда читает одно сообщение из области памяти указанной командой «CPMS».
  • ИНДЕКС – представлен числом указывающим номер сообщения в памяти.
  • СТАТУС – сообщений представлен либо цифрой (если выбран формат PDU), либо строкой (если выбран текстовый формат):
    0 – “REC UNREAD” – полученные непрочитанные сообщения.
    1 – “REC READ” – полученные прочитанные сообщения.
    2 – “STO UNSENT” – сохранённые неотправленные сообщения.
    3 – “STO SENT” – сохранённые отправленные сообщения.
    4 – “ALL” – все сообщения.
  • “НОМЕР” – номер телефона отправителя или получателя.
  • “НОМЕРс” – номер телефона сервисного центра службы коротких сообщений.
  • ТИП, ТИПс – число определяющее формат написания номера, допустимые значения: 129,145,161:
    161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • “НАЗВАНИЕ” – строковое алфавитно-цифровое представление сопоставленное номеру телефона из адресной книги.
  • “ДАТА” – строка с датой и временем отправки сообщения (присваивается сервисным центром коротких сообщений).
  • ВРЕМЯ – представлено числом определяющим срок жизни сообщения (сервисный центр будет пытаться доставить данное сообщение адресату, пока не истечёт время жизни сообщения).
  • ВИД – число определяющее вид сообщений:
    17 – входящее/исходящее сообщение.
    2 – сообщение отчета о статусе или сообщение команды.
  • ПРОТОКОЛ – идентификатор протокола представлен числом, по умолчанию 0.
  • КОДИРОВКА – представлена числом: 0, 4, 8:
    0 – 7-битный алфавит GSM.
    4 – 8-битная кодировка.
    8 – 16-битная кодировка.
  • ДЛИНА – число указывающее размер тела сообщения (в текстовом режиме +CMGF=1) или размер фактического блока данных (в режиме PDU +CMGF=0).
  • ДАННЫЕ – тело сообщения (текст сообщения).
  • После чтения списка полученных непрочитанных сообщений, статус данных сообщений изменится на “полученные прочитанные сообщения”.
  • Пример запроса:
    AT+CMGR=4rn -прочитать сообщение под номером 4.
  • Пример ответа, текстовый формат, строка принятого сообщения: +CMGR: “REC_READ”,”+7926…”,”2018/04/27,13:17:17+03″rnPrivetrn.
CMGS Отправка SMS в текстовом формате:
AT+CMGS=“НОМЕР”[,ТИП]rn
>rn
ТЕКСТ(<0x1A>/<0x1B>)

Отправка SMS в формате PDU:
AT+CMGS=ДЛИНАrn
>rn
PDU(<0x1A>/<0x1B>)

(см. примеры)

rn
+CMGS: ИНДЕКСrn
rn
OKrn
Отправка SMS сообщения без сохранения в память:

  • “НОМЕР” – номер телефона получателя сообщения.
  • ТИП – число определяющее формат написания номера, допустимые значения: 129,145,161:
    161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • ИНДЕКС – представлен числом от 0 до 255, возвращается модулем при успешной отправке SMS. Это не номер записи отправленной SMS в памяти (т.к. SMS не сохраняется), а порядковый номер отправленной SMS. Если индекс достигнет значения 255, то следующая отправка SMS приведёт к сбросу индекса в 0.
  • ДЛИНА – число указывающее размер фактического блока данных (в режиме PDU +CMGF=0).
  • ТЕКСТ – текст SMS сообщения, последним символом которого должен быть символ с кодом 0x1A или 0x1B. Эти символы не должны встречаться в другом месте текста.
  • PDU – блок данных записанный в шестнадцатеричном представлении, последним символом которого должен быть символ с кодом 0x1A или 0x1B. Эти символы не должны встречаться в другом месте блока PDU.
  • <0x1A> – символ с кодом 0x1A (ctrl-z), подтверждает отправку SMS.
  • <0x1B> – символ с кодом 0x1B (Esc), запрещает отправку SMS.
  • Пример отправки SMS в текстовом режиме:
    AT+CMGF=1rn – установка текстового режима.
    AT+CSMP=17,167,0,0rn – установка параметров текстового режима.
    AT+CMGS=”+7XXXXXXXXXX”rn – номер получателя SMS.
    >rn – ответ модуля (модуль готов принять текст SMS).
    TEXT – ввод и отправка текста в модуль. Как только в тексте встретится символ <0x1A>, сообщение будет отправлено. Если в тексте встретится символ <0x1B>, сообщение не будет отправлено.
  • Примечание:
    – В текстовом режиме можно добавлять в текст SMS сообщения символы переноса строки rn., в т.ч. перед символом подтверждающим/запрещающим отправку SMS.
    – В режиме PDU весь блок PDU состоит из чисел в шестнадцатеричной системе счисления, вставка символов rn в открытом виде не допускается, в т.ч. и перед символом подтверждающим/запрещающим отправку SMS.
CMGW Отправка SMS в текстовом формате:
AT+CMGW=“НОМЕР”[,ТИП] [,СТАТУС]rn
>rn
ТЕКСТ(<0x1A>/<0x1B>)

Отправка SMS в формате PDU:
AT+CMGW=ДЛИНА [,СТАТУС]rn
>rn
PDU(<0x1A>/<0x1B>)

(см. примеры)

rn
+CMGW: ИНДЕКСrn
rn
OKrn
Запись SMS сообщения в память:

  • Команда сохраняет сообщение в область памяти указанной командой «CPMS», в дальнейшем это сообщение можно отправить командой «CMSS».
  • “НОМЕР” – номер телефона получателя / отправителя сообщения (зависит от указанного статуса сообщения).
  • ТИП – число определяющее формат написания номера, допустимые значения: 129,145,161:
    161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • СТАТУС – сообщения представлен либо цифрой (если выбран формат PDU), либо строкой (если выбран текстовый формат):
    0 – “REC UNREAD” – полученное непрочитанное сообщение.
    1 – “REC READ” – полученное прочитанное сообщение.
    2 – “STO UNSENT” – сохранённое неотправленное сообщение.
    3 – “STO SENT” – сохранённое отправленное сообщение.
    Если СТАТУС не указан, то сообщению присваивается статус 2 – “STO UNSENT” (сохранённое неотправленное).
  • ИНДЕКС – представлен числом указывающим на номер (ячейку) сохраняемого SMS сообщения в предпочтительной области памяти.
  • ДЛИНА – число указывающее размер фактического блока данных (в режиме PDU +CMGF=0).
  • ТЕКСТ – текст SMS сообщения, последним символом которого должен быть символ с кодом 0x1A или 0x1B. Эти символы не должны встречаться в другом месте текста.
  • PDU – блок данных записанный в шестнадцатеричном представлении, последним символом которого должен быть символ с кодом 0x1A или 0x1B. Эти символы не должны встречаться в другом месте блока PDU.
  • <0x1A> – символ с кодом 0x1A (ctrl-z), подтверждает отправку SMS.
  • <0x1B> – символ с кодом 0x1B (Esc), запрещает отправку SMS.
  • Пример сохранения SMS в текстовом режиме:
    AT+CMGF=1rn – установка текстового режима.
    AT+CSMP=17,167,0,0rn – установка параметров текстового режима.
    AT+CMGW=”+7XXXXXXXXXX”rn – номер получателя SMS.
    >rn – ответ модуля (модуль готов принять текст SMS).
    TEXT – ввод и отправка текста в модуль. Как только в тексте встретится символ <0x1A>, сообщение будет сохранено. Если в тексте встретится символ <0x1B>, сообщение не будет сохранено.
CNMA AT+CNMA=?rn
(запрос допустимых значений)
rn
NOT SUPPORTrn
Запрос отчёта о доставке SMS сообщений:

  • В настоящее время модули A6 и A9 не поддерживают данную команду.
  • ТИП – представлен цифрой от 0 до 2 указывающей тип запрашиваемого отчёта:
    0 – запрос отчёта о доставке без опционального сообщения PDU (как в текстовом формате.
    1 – запрос отчёта о доставке с опциональным сообщением PDU.
    2 – запрос отчёта о ошибке доставки с опциональным сообщением PDU.
  • ДЛИНА – число указывающее размер фактического блока данных PDU.
Запрос отчёта в текстовом формате:
AT+CNMArn

Запрос отчёта в формате PDU:
AT+CNMA=ТИП, ДЛИНАrn

rn
OKrn
CNMI AT+CNMI=?rn
(запрос допустимых значений)
rn
+CNMI: (РЕЖИМ),(СООБЩЕНИЯ),(РАССЫЛКА),(ОТЧЁТЫ),(БУФЕР)rn
rn
OKrn
Установка/запрос индикации новых сообщений:

  • РЕЖИМ – представлен цифрой от 0 до 3:
    0 – Все URC (незапрашиваемые коды результата) буферизируются, но не отображаются.
    1 – URC отображаются только в режиме offline (командный режим), без буферизации.
    2 – URC буферизируются и отображаются. При работе в режиме online (передача данных), коды не отображаются, но будут отображены после выхода из режима online в режим offline (командный режим).
    3 – URC не буферизируются и отображаются вне зависимости от режима работы (online/offline).
  • СООБЩЕНИЯ – параметр представлен цифрой от 0 до 3, он управляет индикацией входящих SMS сообщений:
    0 – URC индикации получения новых входящих SMS сообщений не возвращаются.
    1 – Если входящее SMS сообщение сохранено в память, то возвращается URC +CMTI с указанием индекса (номера ячейки памяти в которую сохранено сообщение).
    2 – Входящие SMS сообщения выводятся как URC +CMT с указанием номера отправителя, текста сообщения или блока PDU.
    3 – В настоящее время модули A6 и A9 не поддерживают данное значение.
    Значение по умолчанию 0.
  • РАССЫЛКА – параметр представлен цифрой от 0 до 2, он управляет индикацией входящих Cell Broadcast сообщений (рассылка):
    0 – URC индикации получения новых входящих Cell Broadcast сообщений не возвращаются.
    1 – Если входящее Cell Broadcast сообщение сохранено в память, то возвращается URC +CBMI с указанием индекса (номера ячейки памяти в которую сохранено сообщение).
    2 – Входящие Cell Broadcast сообщения выводятся как URC +CBM с указанием текста сообщения или блока PDU.
    Значение по умолчанию 0.
  • ОТЧЁТЫ – параметр представлен цифрой 0 или 1, он управляет индикацией сообщений отчетов о доставке (SMS-STATUS-REPORT):
    0 – Отчёты о доставке сообщений не возвращаются.
    1 – Отчёты о доставке сообщений возвращаются в виде URC +CDS.
    2 – Отчёты о доставке сообщений возвращаются в виде URC +CDSI. В настоящее время модули A6 и A9 не поддерживают данное значение.
    Значение по умолчанию 0.
  • БУФЕР – параметр представлен цифрой 0 или 1, он управляет буфером URC:
    В настоящее время модули A6 и A9 не поддерживают управление буфером.
    0 – Если параметр РЕЖИМ данной команды установлен в значение отличное от 0, то получив эту команду, модуль выведет все данные из буфера.
    1 – Если параметр РЕЖИМ данной команды установлен в значение отличное от 0, то получив эту команду, модуль очистит буфер.
    Значение по умолчанию 0.
  • Пример ответа на запрос допустимых значений:
    +CNMI: (0-3),(0-3),(0,2),(0-1),(0,1)rnOKrn. – в скобках указаны допустимые значения, а номер скобки это номер параметра.
  • Пример ответа на запрос текущих настроек:
    +CNMI: 0,0,0,0,0rnOKrn. – все параметры установлены в значения по умолчанию (индикация всех входящих сообщений отключена).
  • Пример установки настроек индикации входящих сообщений:
    AT+CNMI: 1,2,2,1,0rn. – все коды отображаются в командном режиме, все входящие сообщения выводятся как URC (незапрашиваемые коды результата).
AT+CNMI?rn
(запрос текущих настроек индикации входящих сообщений)
rn
+CNMI: РЕЖИМ, СООБЩЕНИЯ, РАССЫЛКА, ОТЧЁТЫ, БУФЕРrn
rn
OKrn
AT+CNMI=РЕЖИМ [,СООБЩЕНИЯ [,РАССЫЛКА [,ОТЧЁТЫ [,БУФЕР]]]]rn
(установить настройки индикации входящих сообщений)
rn
OKrn
CPMS AT+CPMS=?rn
(запрос допустимых значений)
rn
+CPMS: (ПАМЯТЬ1),(ПАМЯТЬ2),(ПАМЯТЬ3)rn
rn
OKrn
Установка/запрос предпочтительной области памяти для хранения сообщений:

  • “ПАМЯТЬ1” – представлена строкой указывающей на область памяти используемую для просмотра, чтения и удаления сообщений:
    “ME” – память модуля.
    “SM” – память SIM-карты.
  • “ПАМЯТЬ2” – представлена строкой указывающей на область памяти используемую для написания и отправки сообщений:
    “ME” – память модуля.
    “SM” – память SIM-карты.
  • “ПАМЯТЬ3” – представлена строкой указывающей на область памяти предпочтительную для получения и сохранения сообщений:
    “ME” – память модуля.
    “SM” – память SIM-карты.
  • ИСП – параметр представлен числом указывающим на количество использованных ячеек памяти (количество сохранённых сообщений).
  • Пример ответа на запрос допустимых значений:
    +CPMS: (“ME”,”SM”),(“ME”,”SM”),(“ME”,”SM”)rnOKrn. – в скобках указаны допустимые значения, а номер скобки это номер параметра.
  • Пример ответа на запрос текущих настроек:
    +CPMS: “SM”,0,15,”SM”,0,15,””,0,25rnOKrn. – .
  • Пример установки предпочтительной области памяти:
    AT+CPMS: 1,2,2,1,0rn. – все коды отображаются в командном режиме, все входящие сообщения выводятся как URC (незапрашиваемые коды результата).
AT+CPMS?rn
(запрос текущих настроек)
rn
+CPMS: “ПАМЯТЬ1”,ИСП,ОБЪЕМ, “ПАМЯТЬ2”,ИСП,ОБЪЕМ, “ПАМЯТЬ3”,ИСП,ОБЪЕМrn
rn
OKrn
AT+CPMS=“ПАМЯТЬ1″ [,”ПАМЯТЬ2″ [,”ПАМЯТЬ3”]]rn
(установить предпочтительную область памяти)
rn
+CPMS: “ПАМЯТЬ1”,ИСП,ОБЪЕМ, “ПАМЯТЬ2”,ИСП,ОБЪЕМ, “ПАМЯТЬ3”,ИСП,ОБЪЕМrn
rn
OKrn
CSCA AT+CSCA?rn
(запрос текущего номера сервис-центра SMS сообщений)
rn
+CSCA: “НОМЕР”,ТИПrn
rn
OKrn
Установка/запрос номера сервис-центра SMS сообщений:

  • НОМЕР – номер сервис-центра SMS сообщений.
  • ТИП – число определяющее формат написания номера, допустимые значения: 129,145,161:
  • 161 – национальный номер абонента сети ISDN.
    145 – международный номер (+7, +3 …).
    129 – остальные номера (8XXX…, *100#, …).
  • Пример ответа: +CSCA: “+79262909090”,145rnOKrn – используемый номер сервис-центра SMS сообщений в международном формате.
  • Пример установки: AT+CSCA=”+792620003311″rn – установить новый номер сервис центра SMS сообщений.
AT+CSCA=“НОМЕР” [,ТИП]rn
(установить номер сервис центра SMS сообщений)
rn
OKrn
CSCB AT+CSCB=?rn
(запрос допустимых значений)
rn
+CSCB: (ТИПЫ)rn
rn
OKrn
Установка/запрос типа принимаемых Cell Broadcast сообщений:

  • В настоящее время модули A6 и A9 не поддерживают данную команду.
  • Сообщения Cell Broadcast это сообщения рассылки.
  • ТИП – значение 0 или 1.
  • “ID” – список идентификаторов сообщений.
  • “ЯЗЫКИ” – список поддерживаемых языков сообщений.
AT+CSCB?rn
(запрос установленных типов)
rn
+CSCB: ТИП,“ID”,“ЯЗЫКИ”rn
rn
OKrn
AT+CSCB=ТИП [,”ID” [,”ЯЗЫКИ”]]rn
(установить тип принимаемых сообщений рассылки)
rn
OKrn
CSAS AT+CSASrn
(сохранение настроек)
rn
OKrn
Сохранение настроек:

  • В настоящее время модули A6 и A9 не поддерживают данную команду.
  • Все настройки, заданные командами AT+CSCA и AT+CSMP, сохраняются в EEPROM или на SIM-карту, если это карта фазы 2.
CRES AT+CRESrn
(сохранение настроек)
rn
OKrn
Восстановление настроек:

  • В настоящее время модули A6 и A9 не поддерживают данную команду.
  • Все настройки, задаваемые командами AT+CSCA и AT+CSMP, восстанавливаются из EEPROM или с SIM-карты, если это карта фазы 2.

AT-команды аудиоинтерфейса:

AT-команда: Ответ: Назначение:
CAUDIO AT+CAUDIO=?rn
(запрос допустимых значений)
rn
+CAUDIO: (0-1)rn
rn
OKrn
Открыть / закрыть аудиопоток голосового вызова:

  • ФЛАГ – представлен цифрой 0 или 1:
    0 – Закрыть аудиопоток (приём и передача).
    1 – Открыть аудиопоток (приём и передача).
  • Команда не поддерживается во время выполнения тестового аудиоцикла.
AT+CAUDIO=ФЛАГrn
(открыть/закрыть аудиопоток)
rn
OKrn
CRSL AT+CRSL=?rn
(запрос допустимых значений)
rn
+CRSL: (0-15)rn
rn
OKrn
Запрос / установка уровня громкости звонка:

  • ГРОМКОСТЬ – представлена числом от 0 до 15:
    0 – без звука.
    15 – максимальная громкость.
  • Установка громкости меняет значение громкости по умолчанию, установленное командой CRMP.
AT+CRSL?rn
(запрос установленной громкости)
rn
+CRSL: ГРОМКОСТЬrn
rn
OKrn
AT+CRSL=ГРОМКОСТЬrn
(установить громкость звонка)
rn
OKrn
CDTMF AT+CDTMF=?rn
(запрос допустимых значений)
rn
+VTS: (0-9,*,#,A,B,C,D),(1-10)rn
rn
OKrn
Воспроизведение тонального сигнала DTMF:

  • В отличии от команды AT+VTS, воспроизводимые тональные сигналы DTMF не передаются по сети GSM при наличии активного вызова.
  • ЗНАЧЕНИЕ – представлено одним из передаваемых знаков: 0-9,*,#,A,B,C,D.
  • ДЛИТЕЛЬНОСТЬ – представлена числом от 1 до 10 и является 1/10 секунды.
  • Пример воспроизведения: AT+CDTMF=5rn – воспроизведение тонального сигнала соответствующего цифре 5.
  • Пример воспроизведения: AT+CDTMF=#rn – воспроизведение тонального сигнала соответствующего знаку #.
  • Пример воспроизведения: AT+CDTMF=4,2rn – воспроизведение тонального сигнала соответствующего цифре 4, длительностью 200 мс.
AT+CDTMF=ЗНАЧЕНИЕ [, ДЛИТЕЛЬНОСТЬ]rn
(открыть/закрыть аудиопоток)
rn
OKrn
AUST AT+AUST=?rn
(запрос допустимых значений)
rn
+AUST: (0-2)rn
rn
OKrn
Запуск тестового аудиоцикла:

  • РЕЖИМ – представлен цифрой от 0 до 2:
    0 – использовать гарнитуру для ввода/вывода звука.
    1 – использовать громкую связь для ввода/вывода звука.
    2 – использовать только микрофон громкой связи для ввода звука.
  • Для запуска тестового аудиоцикла нужно сначала выбрать режим, а потом запустить цикл, во время которого модуль будет себя вести как усилитель звука.
  • При запуске тестового аудиоцикла:
    – усиление динамика устанавливается в значение 6 (см. AT+VGR).
    – усиление микрофона устанавливается в значение 15 (см AT+VGT).
    Но во время выполнения цикла эти параметры можно менять.
  • Во время выполнения тестового аудиоцикла запрещается устанавливать режим или повторно запускать аудиоцикл. Сначала его нужно остановить командой «AUEND».
  • Пример запуска и остановки аудиоциклов:
    AT+AUST=0rn – выбираем режим использования гарнитуры.
    AT+AUSTrn – запускаем тестовый аудиоцикл.
    AT+AUENDrn – останавливаем тестовый аудиоцикл.
    AT+AUST=1rn – выбираем режим использования громкой связи.
    AT+AUSTrn – запускаем тестовый аудиоцикл.
    AT+AUENDrn – останавливаем тестовый аудиоцикл.
AT+AUST=РЕЖИМrn
(выбрать режим тестового аудиоцикла)
rn
OKrn
AT+AUSTrn
(запустить тестовый аудиоцикл)
rn
OKrn
AUEND AT+AUENDrn
(остановка тестового аудиоцикла)
rn
OKrn
Остановка тестового аудиоцикла:

  • Если тестовый аудиоцикл запущен, то для выбора другого режима или повторного запуска аудиоцикла, его нужно сначала остановить.
SNFS AT+SNFS=?rn
(запрос допустимых значений)
rn
+SNFS: (0-2)rn
rn
OKrn
Запрос / установка устройства ввода / вывода звука:

  • УСТРОЙСТВО – представлено цифрой от 0 до 2:
    0 – использовать гарнитуру.
    1 – использовать громкую связь.
    2 – использовать только микрофон громкой связи.
  • Выбранное устройство используется в т.ч. и при голосовых вызовах
  • Пример ответа: +SNFS: 1rnOKrn – используется громкая связь.
  • Пример установки: AT+SNFS=0rn – использовать гарнитуру.
AT+SNFS?rn
(запрос используемого устройства)
rn
+CRSL: УСТРОЙСТВОrn
rn
OKrn
AT+SNFS=УСТРОЙСТВОrn
(выбор устройства)
rn
OKrn

AT-команды GPRS:

AT-команда: Ответ: Назначение:
CGATT см. оригинал. Установка / разрыв GPRS соединения.
CGDCONT см. оригинал. Задание параметров PDP контекста.
CGACT см. оригинал. Активация / деактивация PDP контекста.
CRC см. оригинал. Включение / отключение результирующих кодов входящих соединений.
CGQMIN см. оригинал. Задание минимально допустимого профиля QoS (Quality of Service).
CGPADDR см. оригинал. Получение списка PDP адресов.
CGAUTO см. оригинал. Включение / отключение автоответа активации PDP контекста.
CGQREQ см. оригинал. Задание запрашиваемого профиля QoS (Quality of Service).
CGREG см. оригинал. Статус регистрации в сети GPRS.
ATD*99***1# см. оригинал. Запрос услуги GPRS (установка связи с PDN).
CGSMS см. оригинал. Выбор сервиса (GSM или GPRS) для отправки SMS сообщений.
CGANS см. оригинал. Ручной ответ активации PDP контекста на запрос сети (см CGAUTO).
CGEREP см. оригинал. Включение / отключение результирующих кодов о событиях GPRS.
CGDATA см. оригинал. Установка связи с сетью (аналогично команде ATD*99***1#)
CGCLASS см. оригинал. Запрос / установка GPRS класса мобильного устройства.

AT-команды TCP/IP:

AT-команда: Ответ: Назначение:
CIPSTART см. оригинал. Открытие соединения TCP или UDP.
CIPSEND см. оригинал. Отправка данных через TCP или UDP соединение.
CIPCLOSE см. оригинал. Закрытие соединения TCP или UDP.
CIPSHUT см. оригинал. Отключение беспроводного соединения.
CSTT см. оригинал. Ввод имени точки доступа, логина и пароля.
CIICR см. оригинал. Установка беспроводного соединения.
CIFSR см. оригинал. Получение локального IP-адреса.
CIPSTATUS см. оригинал. Запрос состояния текущего соединения.
CIPATS см. оригинал. Установка таймера автоматической отправки
CIPSCONT см. оригинал. Сохранение параметров контекста TCP/IP.
CDNSGIP см. оригинал. Запрос IP-адреса указанного доменного имени.

AT-команды дополнительные:

AT-команда: Ответ: Назначение:
CLDSTART см. оригинал. Автоматическое подключение к облачной платформе Anxin Keyun.
CLDSTOP см. оригинал. Отключение от облачной платформы Anxin Keyun.
CLDSEND см. оригинал. Отправка данных на облачный сервис Anxin Keyun.
CLDUNBIND см. оригинал. Освобождение облачного сервиса Anxin Keyun.

Незапрашиваемые коды результата (URC)

Код: Пример: Причина отправки кода и его формат:
RING RINGrn
+CLIP: “+74995001456”,145,,,,0rn
Информирование о наличии входящего голосового вызова.
+CALA +CALA: “Conference”rn Информирование о срабатывании будильника.
Включить/отключить отправку URC можно командой AT+CALA.
+CIEV +CIEV: “MESSAGE”,1rn
+CIEV: battchg, 5rn
+CIEV: signal, 99rn
+CIEV: “SOUNDER”,1rn
+CIEV: “CALL”,1rn
+CIEV: service, 1rn
+CIEV: roam, 1 rn
service
Информирование о различных изменениях.
+CREG +CREG: 1rn
или
+CREG: 1,”262A”,”346A”rn
Информирование о статусе регистрации в сети и о местоположении.
Включить/отключить отправку URC и задать формат можно командой AT+CREG.

    Формат URC:

  • +CREG: СТАТУСrn
  • +CREG: СТАТУС, “КОД”, “ID”rn
  • СТАТУС – представлен цифрой от 0 до 5:
    0 – Не зарегистрирован, не проводится поиск нового оператора.
    1 – Зарегистрирован, домашний оператор.
    2 – Не зарегистрирован, проводится поиск нового оператора.
    3 – Регистрация отклонена.
    4 – Статус неизвестен.
    5 – Зарегистрирован, роуминг.
  • “КОД” – локальной зоны местоположения базовых станций (LAC/TAC), представлен двухбайтным числом в шестнадцатеричном формате.
  • “ID” – идентификатор соты (CID/SAC/ECI), представлен двухбайтным числом в шестнадцатеричном формате.
+CLIP RINGrn
+CLIP: “+74995001456”,145,,,,0rn
Вывод телефонного номера звонящего абонента.
+CMTI +CMTI: “SM”, 6rn Информирование о новом входящем SMS сообщении.
Включить/отключить отправку URC можно командой AT+CNMI, а командой AT+CSDH можно разрешить/запретить отображение заголовков входящих SMS.

    Формат URC:

  • +CMTI: “ПАМЯТЬ”, ИНДЕКСrn
  • “ПАМЯТЬ” – представлена строкой из двух символов:
    “SM” – память SIM-карты.
    “ON” – список собственных номеров UICC.
    “FD” – фиксированный список номеров.
    “LD” – список последних набранных номеров.
  • ИНДЕКС – представлен числом указывающим на номер (ячейку) памяти в которую сохранено новое входящее SMS сообщение.
  • Зная индекс, можно прочитать SMS сообщение командой AT+CMGR.
+CMT +CMT: “+7926…”, ,”2018/04/27,13:17:17+03″, 145, 17, 0, 0, “+79262909090”, 145, 8rn
Privetrn
Информирование о новом входящем SMS сообщении.
Включить/отключить отправку URC можно командой AT+CNMI, а командой AT+CSDH можно разрешить/запретить отображение заголовков входящих SMS.

    Формат URC:

  • +CMT: [,”НАЗВАНИЕ”], ДЛИНАrnPDUrn
  • +CMT: “НОМЕР”[,”НАЗВАНИЕ”],”ДАТА”[,ТИП, ВИД, ПРОТОКОЛ, КОДИРОВКА, “НОМЕРс”, ТИПс, ДЛИНА]rnДАННЫЕrn
  • Назначение и порядок следования параметров идентичен ответу на команду AT+CMGR для входящих SMS сообщений.
+CSSI
+CSSU
+CSSI: 3rn Информирование о дополнительной услуге.

    Формат URC:

  • +CSSI: КОДrn
  • +CSSU: КОДrn
+CUSD +CUSD: 2, “00370039002E0038003900200440002E” ,72rn USSD ответ.
Ответ на команду AT+CUSD считается ответом URC, так как он приходит не от DCE (модуля), а от сети.
Формат ответа см. в описании команды AT+CUSD.
^SBC ^SBC:UNDERVOLTAGErn Информирование о низком напряжении аккумулятора.
Включить/отключить отправку URC можно командой AT+CBCM.
Модуль выключится в течение минуты после данного сообщения.
^STN ^STN: 37rn Уведомление STK (SIM ToolKit).
^CBCI ^CBCI: 0,100,0,4487rn Информирование об уровне заряда аккумулятора.
+CCWA +CCWA: “+74995001456”,145,1,,255rn Индикация ожидания вызова.
Команда Ответ Описание
AT+IPR? +IPR: 0
OK
Скорость порта:
0 – автоматически
1200
2400
4800
9600
19200
38400
57600
115200
AT+ICF? +ICF: 3,3
OK
Настройки передачи.
Первый параметр:
Бит в посылке/чётность/стоп бит
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+IFC? +IFC: 0,0
OK
Контроль передачи данных
Первый параметр – терминалом от модуля
Второй параметр – модулем от терминала
0 – нет контроля
1 – программный
2 – аппаратный

Информация и состояние

Информация о модуле

Команда Ответ Описание
AT+GCAP +GCAP:+FCLASS,+CGSM
OK
Возможности модуля
AT+GMM SIMCOM_SIM900
OK
Идентификатор модуля
AT+GMR Revision:1137B09SIM900M64_ST
OK
Ревизия
AT+GSN 01322600XXXXXXX
OK
IMEI

Информация о состоянии модуля

Команда Ответ Описание
AT+COPS? +COPS: 0,0,”MTS-RUS”
OK
Информация об операторе
AT+COPS=? +COPS: (2,”MTS RUS”,””,”25001″),(1,”MOTIV”,”MOTIV”,”25035″),(1,”Utel”,”Utel”,”25039″),,(0,1,4),(0,1,2)
OK
Доступные операторы
AT+CPAS +CPAS: 0
OK
Информация о состояние модуля
0 – готов к работе
2 – неизвестно
3 – входящий звонок
4 – голосовое соединение
AT+CREG? +CREG: 0,1
OK
Тип регистрации сети
Первый параметр:
0 – нет кода регистрации сети
1 – есть код регистрации сети
2 – есть код регистрации сети + доп параметры
Второй параметр:
0 – не зарегистрирован, поиска сети нет
1 – зарегистрирован, домашняя сеть
2 – не зарегистрирован, идёт поиск новой сети
3 – регистрация отклонена
4 – неизвестно
5 – роуминг
AT+CSQ +CSQ: 17,0
OK
Уровень сигнала:
0 -115 дБл и меньше
1 -112 дБл
2-30 -110..-54 дБл
31 -52 дБл и сильнее
99 – нет сигнала.
AT+CCLK? +CCLK: “00/01/01,04:21:27+00”
OK
Текущая дата и время телефона.
AT+CBC +CBC: 0,95,4134
OK
Монитор напряжения питания модуля
Первый параметр:
0 – не заряжается
1 – заряжается
2 – зарядка окончена
Второй параметр:
1-100 % — уровень заряда батареи
Третий параметр:
Напряжение питание модуля (VBAT), мВ
AT+CADC? +CADC: 1,7
OK
Значение АЦП (до 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+790XXXXXXXX; OK Позвонить на номер +790XXXXXXXX;
NO DIALTONE
BUSY
NO CARRIER
NO ANSWER
Нет сигнала
Если вызов отклонён
Повесили трубку
Нет ответа
ATDL OK Позвонить по последнему исходящему номеру
ATA OK Ответить на звонок
ATH0 OK Повесить трубку / разорвать соединение
RING Входящий звонок
AT+CLIP=1 OK см. настройки
RING
+CLIP: “+790XXXXXXXX”,145,””,,””,0
Входящий звонок с включенным АОН
Где:
Первый параметр – номер телефона входящего звонка
2 – тип входящего номера
129 – не определен
161 – национальный
145 – интернациональный
177 – сетевой, специальный

СМС

Команды приведены для текстового режима и в GSM кодировке.

Команда

Ответ

Описание

AT+CMGS=”+790XXXXXXXX”
>Test sms. sim-roulette.com
>
+CMGS: 15
OK
Отправка СМС.
Указываем номер получателя в кавычках и отправляем модулю с символом переноса строки (13 в ASCII).
После приглашения «>» вводим текст сообщения.
Для отправки в конце сообщения отправляем символ SUB (26 в ASCII) или ESC (27) для отмены.
AT+CMGF=1
AT+CSCS= “GSM”
Режим и кодировка.
см. настройки и примечание
+CMTI: “SM”,4 Уведомление о приходе СМС.
Второй параметр номер пришедшего СМС.
AT+CMGL=”REC UNREAD” +CMGL: 4,”REC UNREAD”,”+790XXXXXXXX”,””,”13/09/24,23:02:22+24″
Test2.
OK
Чтение групп СМС.
Всего 5 групп:
REC UNREAD – входящие непрочитанные
REC READ – входящие прочитанные
STO UNSENT – Пользовательские непрочитанные
STO SENT – пользовательские прочитанные
ALL – прочитать все сообщения
AT+CMGR=2 +CMGR: “REC READ”,”+790XXXXXXXX”,””,”13/09/21,11:57:46+24″
Test sms. sim-roulette.com
OK
Чтение 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? +CSCA: “+79126313431”,145
OK
Возвращает номер сервис центра отправки сообщений.

Тоновый набор (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#” OK
+CUSD: 0,”Balance:240,68r “,
USSD запрос
Первый параметр – режим обработки операции:
0 – выполнить запрос, ответ проигнорировать
1 – выполнить запрос, вернуть ответ
2 – отменить запрос
Второй параметр – запрос в кавычках.
ATD#100#; OK
+CUSD: 0,”Balance:240,68r “,
Упрощенный USSD запрос (работает только при GSM кодировке)

Есть 2 варианта USSD запроса: начиная с * и начиная с #. В первом варианте ответ приходит на русском языке, во втором в латинице, если оператор поддерживает такой запрос.
Режим отображения такой же, как и для СМС.

Примечание по текстовому режиму и кодировке

От текстового режима (PDU или текстовый) и кодировки модуля зависит формат ввода номеров, USSD запросов, входящих и исходящих СМС.

Самый универсальный вариант – это PDU режим, т.к. в нём можно без проблем отправлять и принимать любые текстовые данные, в данном материале он не рассматривается.

Самый простой вариант – GSM кодировка. В нём номера вводятся привычным цифровым методом, исходящие и исходящие сообщения, как СМС, так и USSD в латинице отображаются, как им и полагается. С кириллицей дела обстоят сложнее, модуль входящие сообщения с ней отображает в UNICOD, точнее в HEX значениях UNICOD. С исходящими сообщениями дела обстоят еще сложнее!

Второй вариант, посложнее – UCS2 кодировка. Входящие и исходящие сообщения, USSD запросы, номера телефонов в запросах – всё пишется в UNICOD. Упрощенные USSD запросы не работают.

Пример (номер телефона заменён на +79012345678, добавлены переносы):

Кодировка и режим Запрос Ответ
PDU AT+CMGR=2 +CMGR: 1,””,38
07919720780110F0000B919710325476F800003190121
175644215D4F29C0E9AB7E72E50985DC6B7CAF8B24B5E07

OK

AT+CMGR=3 +CMGR: 1,””,59
07919720780110F0000B919710325476F800083190122
185134228005400650073007400200073006D00730020
0032002E0020042204350441044200200441043C0441

OK

GSM AT+CMGR=2 +CMGR: “REC READ”,”+79012345678″,””,”13/09/21,11:57:46+24″
Test sms. sim-roulette.com

OK

AT+CMGR=3 AT+CMGR=3
+CMGR: “REC READ”,”+79012345678″,””,”13/09/21,12:58:31+24″
005400650073007400200073006D007300200032
002E0020042204350441044200200441043C0441

OK

AT+CUSD=1,”#100#” OK

+CUSD: 0,”Balance:240,68r “,

UCS2 AT+CMGR=2 +CMGR: “REC READ”,”002B0037003900300031
0032003300340035003600370038″,””,”13/09/21,11:57:46+24″
005400650073007400200073006D0073002E0020
0061006C00650078002D006500780065002E00720075

OK

AT+CMGR=3 +CMGR: “REC READ”,”002B00370039003000310032
003300340035003600370038″,””,”13/09/21,12:58:31+24″
005400650073007400200073006D007300200032
002E0020042204350441044200200441043C0441

OK

AT+CUSD=1,”00230031
003000300023″
OK

+CUSD: 0,”00420061006C0061006E00630065003A0032
00340030002C0036003800720020″,64

Текст сообщений выданного на запрос «AT+CMGR=3» — «Test sms 2. Тест смс»

UNICODE

В юникоде символы кодируются в шестнадцатиричные числа, при этом первые 127 символов просто переводятся в HEX, а вот к кириллице добавляется 350h.

Пример: 1 – 0031, G – 0047, z — 007A, Ы — 042B, я — 044F

root@t03g:/dev # cat /proc/tty/drivers
/dev/tty /dev/tty 5 0 system:/dev/tty
/dev/console /dev/console 5 1 system:console
/dev/ptmx /dev/ptmx 5 2 system
/dev/vc/0 /dev/vc/0 4 0 system:vtmaster
rfcomm /dev/rfcomm 216 0-255 serial
g_serial /dev/ttyGS 250 0-3 serial
usbserial /dev/ttyUSB 188 0-253 serial
s3c2410_serial /dev/ttySAC 204 64-67 serial
serial /dev/ttyS 4 64-67 serial
pty_slave /dev/pts 136 0-1048575 pty:slave
pty_master /dev/ptm 128 0-1048575 pty:master
unknown /dev/tty 4 1-63 console
root@t03g:/dev # ls -la ttyG*
crw-rw---- system system 250, 0 2017-05-05 21:54 ttyGS0
crw------- root root 250, 1 2017-05-05 21:54 ttyGS1
crw------- root root 250, 2 2017-05-05 21:54 ttyGS2
crw------- root root 250, 3 2017-05-05 21:54 ttyGS3

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

Так же пробовал:
root@t03g:/dev # cat ttyGS0&
[1] 13215
root@t03g:/dev # echo -e "ATr" > ttyGS0
root@t03g:/dev # echo -e "ATr" > ttyGS0
root@t03g:/dev # cat ttyGS1&
[2] 13221
root@t03g:/dev # echo -e "ATr" > ttyGS1
root@t03g:/dev # echo -e "ATr" > ttyGS0
root@t03g:/dev #

Отправлено спустя 24 минуты 51 секунду:
Прочитал рекомендованную вами статью, не понял почему из под microcom не удалось работать с портом, точнее почему нет никакой реакции на АТ-команды и почему реакция есть, если соединяться с портом из под windows? Но так или иначе даже команды совершения звонка не работают “ATD0500”
Пробовал эту утилиту http://m2msupport.net/m2msupport/voice- … oice-call/ но почти ничего не работает.
logcat -b radio так же не светит никаких AT-команд в логах.

Отправлено спустя 7 минут 39 секунд:
Сейчас создал новое подключение и попробовал набрать номер, в итоге ошибка

error

Хотя в диспетчере устройств, в свойствах модема во вкладке диагностика модем успешно опрашивается.

Отправлено спустя 10 минут 58 секунд:
DesignerMix, вы не в курсе, есть ли смысл пробовать прошивать в телефон другие версии модемов, что бы все же иметь возможность подключиться к модему посредством microcom? Или тут имеют место аппаратные особенности работы с телефонным модемом вне зависимости от прошивок?

Отправлено спустя 9 минут 52 секунды:
Сейчас попробовал по этой инструкции включить usb-модем http://www.samsung.com/ru/support/skp/faq/444469
В результате этого в диспетчере устройств пропал телефонный модем но в сетевых адептерах добавилось устройство “SAMSUNG Mobile USB Remote NDIS Network Device” ч-з которое так же нельзя взаимодействовать на уровне serial-интерфейса для АТ-команд.

Отправлено спустя 7 минут 45 секунд:
Вообще странный этот модем ) ему любые AT-команды шлю а он на них отвечает “OK’, причем даже на такие которых в принципе не существует в природе. Впечатление такое, что это не модем интерфейса а некое подобие эмулятора, т.е. фейк.

Диалог происходит по средством AT команд. Мы шлём модулю нужную команду или запрос, а он её выполняет и отвечает. Самая простая команда AT, на которую модуль тут же ответит OK, если модуль подключен и исправен. Самые популярные команды рассмотрим далее.

Почти все команды имеют 3 режима:

  • тестовый =? – модуль ответит поддерживает ли он команду и возможные её параметры
  • чтение ? – ответом будет текущие параметры для этой команды
  • запись = записываем новые значения для команды.

A/ — повтор предыдущей команды

В статье, идёт речь о GSM модуле SIM900 (B09). Напоминаю, т.к. есть ещё и другие разновидности этого модуля и формат команд с ними может немного отличаться.

Управление портом

По умолчанию модуль настроен 9600 8N1, 9600 – скорость, 8 – бит в посылки, N – нет контроля чётности, 1- стоп бит.

Команда

Ответ

Описание

AT+IPR? +IPR: 0
OK
Скорость порта:
0 – автоматически
1200
2400
4800
9600
19200
38400
57600
115200
AT+ICF? +ICF: 3,3
OK
Настройки передачи.
Первый параметр:
Бит в посылке/чётность/стоп бит
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+IFC? +IFC: 0,0
OK
Контроль передачи данных
Первый параметр – терминалом от модуля
Второй параметр – модулем от терминала
0 – нет контроля
1 – программный
2 – аппаратный

Информация и состояние

Информация о модуле

Команда

Ответ

Описание

AT+GCAP +GCAP:+FCLASS,+CGSM
OK
Возможности модуля
AT+GMM SIMCOM_SIM900
OK
Идентификатор модуля
AT+GMR Revision:1137B09SIM900M64_ST
OK
Ревизия
AT+GSN 01322600XXXXXXX
OK
IMEI

Информация о состояние модуля

Команда

Ответ

Описание

AT+COPS? +COPS: 0,0,”MTS-RUS”
OK
Информация об операторе
AT+COPS=? +COPS: (2,”MTS RUS”,””,”25001″),(1,”MOTIV”,”MOTIV”,”25035″),(1,”Utel”,”Utel”,”25039″),,(0,1,4),(0,1,2)
OK
Доступные операторы
AT+CPAS +CPAS: 0
OK
Информация о состояние модуля
0 – готов к работе
2 – неизвестно
3 – входящий звонок
4 – голосовое соединение
AT+CREG? +CREG: 0,1
OK
Тип регистрации сети
Первый параметр:
0 – нет кода регистрации сети
1 – есть код регистрации сети
2 – есть код регистрации сети + доп параметры
Второй параметр:
0 – не зарегистрирован, поиска сети нет
1 – зарегистрирован, домашняя сеть
2 – не зарегистрирован, идёт поиск новой сети
3 – регистрация отклонена
4 – неизвестно
5 – роуминг
AT+CSQ +CSQ: 17,0
OK
Уровень сигнала:
0 -115 дБл и меньше
1 -112 дБл
2-30 -110..-54 дБл
31 -52 дБл и сильнее
99 – нет сигнала.
AT+CCLK? +CCLK: “00/01/01,04:21:27+00”
OK
Текущая дата и время телефона.
AT+CBC +CBC: 0,95,4134
OK
Монитор напряжения питания модуля
Первый параметр:
0 – не заряжается
1 – заряжается
2 – зарядка окончена
Второй параметр:
1-100 % — уровень заряда батареи
Третий параметр:
Напряжение питание модуля (VBAT), мВ
AT+CADC? +CADC: 1,7
OK
Значение АЦП (до 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+790XXXXXXXX; OK Позвонить на номер +790XXXXXXXX;
NO DIALTONE
BUSY
NO CARRIER
NO ANSWER
Нет сигнала
Если вызов отклонён
Повесили трубку
Нет ответа
ATDL OK Позвонить по последнему исходящему номеру
ATA OK Ответить на звонок
ATH0 OK Повесить трубку/ разорвать соединение
  RING Входящий звонок
AT+CLIP=1 OK см. настройки
  RING

+CLIP: “+790XXXXXXXX”,145,””,,””,0

Входящий звонок с включенным АОН
Где:
Первый параметр – номер телефона входящего звонка
2 – тип входящего номера
129 – не определен
161 – национальный
145 – интернациональный
177 – сетевой, специальный

СМС

Команды приведены для текстового режима и в GSM кодировке.

Команда

Ответ

Описание

AT+CMGS=”+790XXXXXXXX”
>Test sms text
>
+CMGS: 15
OK
Отправка СМС.
Указываем номер получателя в кавычках и отправляем модулю с символом переноса строки (13 в ASCII).
После приглашения «>» вводим текст сообщения.
Для отправки в конце сообщения отправляем символ SUB (26 в ASCII) или ESC (27) для отмены.
AT+CMGF=1
AT+CSCS= “GSM”
  Режим и кодировка.
см. настройки и примечание
  +CMTI: “SM”,4 Уведомление о приходе СМС.
Второй параметр номер пришедшего СМС.
AT+CMGL=”REC UNREAD” +CMGL: 4,”REC UNREAD”,”+790XXXXXXXX”,””,”13/09/24,23:02:22+24″
Test2.
OK
Чтение групп СМС.
Всего 5 групп:
REC UNREAD – входящие непрочитанные
REC READ – входящие прочитанные
STO UNSENT – Пользовательские непрочитанные
STO SENT – пользовательские прочитанные
ALL – прочитать все сообщения
AT+CMGR=2 +CMGR: “REC READ”,”+790XXXXXXXX”,””,”13/09/21,11:57:46+24″
Test sms text
OK
Чтение 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? +CSCA: “+79126313431”,145
OK
Возвращает номер сервис центра отправки сообщений.

Тоновый набор (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.

AT+VTD и AT+VTS команды, как мне кажется, работаю не корректно. VTD – должна устанавливать длительность тонового сигнала, а не паузу между ними, в то время когда тоновый сигнал в AT+VTS проигрывается быстро.

USSD

Команды для текстового режима и в GSM кодировке.

Команда

Ответ

Описание

AT+CUSD=1,”#100#” OK
+CUSD: 0,”Balance:240,68r “,
USSD запрос
Первый параметр – режим обработки операции:
0 – выполнить запрос, ответ проигнорировать
1 – выполнить запрос, вернуть ответ
2 – отменить запрос
Второй параметр – запрос в кавычках.
ATD#100#; OK
+CUSD: 0,”Balance:240,68r “,
Упрощенный USSD запрос (работает только при GSM кодировке)

Отмечу, что есть 2 варианта USSD запроса: начиная с * и начиная с #. В первом варианте ответ приходит на русском языке, во втором в латинице, если оператор такой запрос поддерживает и не ответит так же, как и в первом случае.
Режим отображения такой же, как и для СМС.

Примечание по текстовому режиму и кодировке

От текстового режима (PDU или текстовый) и кодировки модуля зависит формат ввода номеров, USSD запросов, входящих и исходящих СМС.

Самый геморройный и универсальный вариант – это PDU режим, т.к. в нём можно без проблем отправлять и принимать любые текстовые данные, но из-за его «геморойности» рассматривать его не буду.

Самый простой вариант – GSM кодировка. В нём номера вводятся привычным цифровым методом, исходящие и исходящие сообщения, как СМС, так и USSD в латинице отображаются, как им и полагается. С кириллицей дела обстоят посложнее, модуль входящие сообщения с ней отображает в UNICOD, точнее в HEX значениях UNICOD. С исходящими сообщениями дела обстоят сложнее!

Второй вариант, посложнее – UCS2 кодировка. Входящие и исходящие сообщения, USSD запросы, номера телефонов в запросах – всё пишется в UNICOD. Упрощенные USSD запросы не работают.

Другие варианты мной плохо опробованы, но у них тоже всё идёт в своей кодировке.

Пример (номер телефона заменён на +79012345678, добавлены переносы):

Кодировка
и
режим

Запрос

Ответ

PDU AT+CMGR=2 +CMGR: 1,””,38
07919720780110F0000B919710325476F800003190121
175644215D4F29C0E9AB7E72E50985DC6B7CAF8B24B5E07

OK

AT+CMGR=3 +CMGR: 1,””,59
07919720780110F0000B919710325476F800083190122
185134228005400650073007400200073006D00730020
0032002E0020042204350441044200200441043C0441

OK

GSM AT+CMGR=2 +CMGR: “REC READ”,”+79012345678″,””,”13/09/21,11:57:46+24″
Test sms text

OK

AT+CMGR=3 AT+CMGR=3
+CMGR: “REC READ”,”+79012345678″,””,”13/09/21,12:58:31+24″
005400650073007400200073006D007300200032
002E0020042204350441044200200441043C0441

OK

AT+CUSD=1,”#100#” OK

+CUSD: 0,”Balance:240,68r “,

UCS2 AT+CMGR=2 +CMGR: “REC READ”,”002B0037003900300031
0032003300340035003600370038″,””,”13/09/21,11:57:46+24″
005400650073007400200073006D0073002E0020
0061006C00650078002D006500780065002E00720075

OK

AT+CMGR=3 +CMGR: “REC READ”,”002B00370039003000310032
003300340035003600370038″,””,”13/09/21,12:58:31+24″
005400650073007400200073006D007300200032
002E0020042204350441044200200441043C0441

OK

AT+CUSD=1,”00230031
003000300023″
OK

+CUSD: 0,”00420061006C0061006E00630065003A0032
00340030002C0036003800720020″,64

Текст сообщений выданного на запрос «AT+CMGR=3» — «Test sms 2. Тест смс»

Кратко о UNICODE

В юникоде символы кодируются в шестнадцатиричке записанной в текстовом виде, при этом первые 127 символов просто переводятся в HEX, а вот к кириллице добавляется 350h.

Пример: 1 – 0031, G – 0047, z — 007A, Ы — 042B, я — 044F

Программка для кодировки и раскодировки UNICODE – скачать.

В статье привёл значительную часть основных команд GSM модуля SIM900 из огромного списка поддерживаемых им. Для большинства задач все приведенные команды не будут нужны, а хватит только малой их части. В одной из следующих статьей рассмотрю, как пользоваться GPRS AT-командами и пример его использования на примере простенькой домашней сигнализации. Так же бы было интересно достать и посмотреть прошивку «All-in-One».

Продолжение предъидущего.

Выбор групп ответов модема связанных с процедурой набора номера:

X0
X1
X2
X3
X4

Сообщение о связи
1
2
2
2
2

Опоздание (S6 s)
да
да
нет
да
нет

Ожидание сигнала коммутатора
нет
нет
да
нет
да

Определение сигнала “занято”
нет
нет
нет
да
да

Сообщение о связи 1 – обозначает, что модем после установления связи сообщит CONNECT, независимо от скорости работы.

Сообщение о связи 2 – обозначает, что модем после установления связи сообщит следующий ответ в зависимости от скорости работы: CONNECT, CONNECT 600, CONNECT 1200 CONNECT 2400. Ответ CONNECT обозначает работу со скоростью передачи данных – 300 бит/с.

Опоздание (S6 s) – обозначает, что модем перед набором телефонного номера, ожидает определенное в S-регистре S6 время. Во многих странах существует требование определения сигнала централи перед набором телефонного номера.

Ожидание сигнала коммутатора – обозначает, что модем перед набором номера будет ожидать сигнала станции время, заданое в регистре S6, а по истечении этого времени выдаст сообщение NO DIALTONE и перейдет в командный режим работы.

Определение сигнала “занято” номера – обозначает, что модем в случае занятости вызываемого номера, вадаст сообщение BUSY, и возвратится в командный режим работы.
ATZ
Сброс модема

Параметры: нет

По умолчанию: не установлено

Эта команда восстанавливает исходное состояние модема в соответствии с параметрами, хранящимися в энергонезависимой памяти. Если модем был в состоянии ON_LINE INTERACTIVE MODE, эта команда прерывает вызов и переводит модем в состояние ожидания. Модем возвращается в холостой режим после выполнения этой команды.
+++ Последовательность выхода. Благодаря этой команде можно перейти из режима передачи данных в командный режим работы модема без перерыва связи. Команда требует тишины перед и после направления последовательности выхода. Величина этого времени определена в регистре S12 ( обычно 50 = 1s ). Десятичную код знака ASCII, который явдяется знаком последовательности выхода содержит регистр S2 ( обычно 43 т.е. ‘+’ ).
AT&D
Управление сигналом DTR (готовность передачи данных)

Параметры: 0 … 3

По умолчанию: 0

AT&D0 DTR всегда задействован.

AT&D1 При отсутствии сигнала DTR модем переходит в командный режим.

AT&D2 Модем переходит в состояние ожидания и возвращается в командный режим при прекращении сигнала DTR.

AT&D3 Модем инициализируется при прекращении сигнала DTR.
AT&F
Загрузка S регистров из постоянной памяти (заводская установка)

Параметры: нет

По умолчанию: не установлено
AT&M
Выбор синхронно/ асинхронно

Параметры: 0 … 3

По умолчанию: 0

AT&M0 Асинхронный режим.

AT&M1 Синхронный режим 1 (Асинхронный набор).

AT&M2 Синхронный режим 2 (Набор хранимого в памяти номера).

AT&M3 Синхронный режим 3 (Контроль с помощью DTR сигнала Data/Talk Mode – режим данные/разговор). Этот режим позволяет позвонить с параллельного телефонного аппарата при выключенном сигнале DTR, поговорить, после чего перевести модем в режим обмена данных путем включения сигнала DTR.

Примечание: Для модемов фирмы CALPAK команды AT&M эквивалентны командам AT&Q
AT&P
Импульсный режим набора

Параметры: 0,1

По умолчанию: 0

AT&P0 Для США отношение установить/прервать (39/61).

AT&P1 Для Англии отношение установить/прервать (33/67).
AT&Q
Режим связи. (для модемов CALPAK эквивалентно AT&M)

Параметры: 0-9

AT&Q0 Асинхронная связь в прямом режиме. Скорость по COM-порту должна совпадать со скоростью связи по телефонной линии.

AT&Q1 Синхронный режим 1, для терминалов, работающих как в синхронном так и в асинхронном режимах.Модем получает команды набора номера в асинхронном виде, а затем переключается в синхронный режим. При пропадании сигнала DTR или при потере несущей на время, превышающее установленное, модем разрывает соединение и возвращается в асинхронный режим.

AT&Q2 Синхронный режим 2, для синхронных терминалов и хранения номеров абонентов. Асинхронный терминал сохраняет или меняет номера телефонов ,вводимые по команде &Z0 в конфигурацию 0 ПАЗУ. Модем набирает номер при появлении сигнала DTR. Модем разрывает соединение и возвращается в асинхронный режим при пропадании сигнала DTR или при потере несущей на время, превышающее установленное в регистре S10 (текущее – 1.4 с.).

AT&Q3 Синхронный режим 3, использует сигнал DTR в режиме переключения голос/данные. Оператор вручную набирает номер при выключенном сигнале DTR, затем включает сигнал DTR переводя модем в режим данных. Модем разрывает соединение и возвращается в асинхронный режим при пропадании сигнала DTR или при потере несущей на время, превышающее установленное в регистре S10 (текущее – 1.4 с.)

AT&Q4 Команда зарезервирована.

AT&Q5 Режим коррекции ошибок. Модем устанавливает соединение по протоколу коррекции ошибок. Если соединение по протоколу коррекции ошибок не произошло то разрыв модемом соединения или установление соединения в нормальном режиме определяется регистром S36.

AT&Q6 Асинхронная связь в нормальном режиме. Активирован буфер модема, позволяющий установить скорость по последовательному порту большую, нежели физическая скорость передачи данных по линии связи.

AT&Q7 Команда зарезервирована.

AT&Q8 Модем переходит в MNP-режим работы. Если регистр S36=1, то модем, находясь в состоянии передачи данных устанавливает соединение в непосредственном режиме. При ином значении S36 модем устанавливает соединенние в MNP-режиме. Если MNP-режим не может быть установлен, то модем переходит в непосредственный режим.

AT&Q9 Установление соединения по протоколу V.42bis. Если соединение не может быть установлено, модем устанавливает связь по протоколу V.42 ( LAP-M ).Если и это не возможно, модем переходит в нормальный режим.
AT&R
Управление сигналами RTS/CTS

Параметры: 0,1

По умолчанию: 0

AT&R0 CTS следует за RTS.

AT&R1 CTS всегда включен.

(Используется только в синхронном режиме)
AT&S
Сигнал DSR всегда включен

Параметры: 0,1

По умолчанию: 0

AT&S0 Сигнал DSR всегда включен.

AT&S1 Сигнал DSR используется как обычно.
AT&T
Тест режимов

Параметры: 0…8

По умолчанию: 0

AT&T0 Завершить выполняемый тест.

AT&T1 Инициализировать аналоговое самозамыкание.

AT&T2 Не используется.

AT&T3 Инициализировать цифровое самозамыкание.

AT&T4 Разрешить RDLB ответ.

AT&T5 Запретить RDLB ответ.

AT&T6 Инициализировать RDLB.

AT&T7 Инициализировать RDLB с самопроверкой.

AT&T8 Инициализировать ALB с самопроверкой.
AT&V
Просмотр текущей конфигурации и пользовательских профайлов модема.

Параметры: нет

По этой команде на экране отображается активная конфигурация, пользовательские профайлы, а также хранимые в памяти модема телефонные номера.
AT&W
Записать S регистры в энергонезависимую память

Параметры: нет

Эта команда сохраняет текущие значения S регистров в энергонезависимой памяти, откуда эти установки вызываются при включении питания или командой ATZ.
AT&X
Передача тактовых сигналов

Параметры: 0,1,2

По умолчанию: 0

Эта команда используется для выбора источника тактовых сигналов (для штырька 15 интерфейса RS232C) при синхронной связи

AT&X0 Тактовые сигналы модема.

AT&X1 Тактовые сигналы от DTE.

AT&X2 Модем создает тактовые сигналы передачи из несущей получаемого сигнала.
AT&Y
Выбор активной конфигурации из существующих пользовательских профайлов.

Параметры: 0,1

AT&Y0 Загрузка пользовательского профайла 0 в активную конфигурацию.

AT&Y1 Загрузка пользовательского профайла 1 в активную конфигурацию.
AT&Z=n
Сохранить телефонный номер в энергонезависимой памяти

Параметры: n= любая строка цифр или набираемых символов не длиннее 32 знаков.

Сохраняемый номер может быть набран с использованием ATDS команды. Можно сохранить только один номер.

Расширенное множество команд ATATB
Передать разрыв для нормального режима данных (DATA MODE)

Параметры: 0…9 (с шагом 100 мс.)

По умолчанию: 0

Передает на удаленный модем сигнал разрыв из командного состояния. Для возобновления связи требуется команда ATO0.

ATBn (n + 1)x100 , где n=0…9
ATG
Установка управления портом модема

Параметры: 0,1

По умолчанию: 0

ATG0 Запретить управление портом модема.

ATG1 Включить Xon/Xoff – управление портом модема.
ATK
Управление разрывом для надежного режима данных (RELI-ABLE DATA MODE)

Параметры: 1 … 6

По умолчанию: 5

Действие этой команды меняется в зависимости от текущего режима. В надежном или нормальном режимах:

ATK0, ATK2, ATK4, ATK5 Посылает разрыв параллельно получению данных.

ATK1 Очищает буферы данных и немедленно посылает разрыв на удаленный терминал или компьютер.

ATK3 Посылает разрыв на удаленный DTE немедленно.
ATL
Потоковые данные при MNP-связи

Параметры: 0,1

По умолчанию: 0

ATL0 Потоковая связь.

ATL1 Блоковая связь.
ATN
Режим работы

Параметры: 0 … 3

По умолчанию: 3

ATN0 Нормальный, не MNP-режим. В этом режиме, если установка скорости выключена (ATJ0), последовательный порт и модем может работать с разными скоростями только в течение соединения.

ATN1 Прямой режим. Это не MNP-режим, при котором нет буферирования данных и игнорируется управление потоком.

ATN2 Надежный режим. Это MNP-режим, при котором обнаружение ошибки автоматически вызывает повтор передачи. Если удаленный модем не находится в этом режиме, связь прерывается.

ATN3 Авто-надежный режим. Этот режим аналогичен надежному режиму, за исключением того, что при невозможности установки связи в надежном режиме из-за отсутствия этой возможности у удаленного модема, устройство возвращается в не MNP-режим.

ATN4 Надежная связь только для протокола V.42.

ATN5 Авто-надежная связь только для протокола V.42.

ATN6 Надежная связь для V.42 и MNP.

ATN7 Авто-надежная связь для V.42 и MNP.
ATY
Переключиться в надежный режим

Параметры: нет

Устанавливает режим надежной связи после соединения в нормальном или прямом режиме.
ATZ
Переключиться в нормальный режим

Параметры: нет

Переключиться в нормальный режим после установления связи в надежном режиме. Переключение в нормальный режим стирает любые данные в буфере, а также заставляет удаленное устройство переключиться в нормальный режим. Эта команда может быть использована для скоростей передачи 2400 бод и ниже.
AT%C
Контроль сжатия данных

Параметры: 0,1

По умолчанию: 1

AT%C0 Сжатие данных запрещено.

AT%C1 Сжатие данных разрешено по протоколу MNP5.

AT%C2 Сжатие данных разрешено по протоколу V42 bis.

AT%C3 Сжатие данных разрешено по протоколу MNP5 & V42 bis.
AT%D
Установление размера блока передачи при работе по протоколу V.42bis.

Параметры : 0,1,2,3

AT%D0 сигнал DCD всегда активен,

AT%D1 сигнал DCD всегда активен,

AT%D2 сигнал DCD всегда активен,

AT%D3 сигнал DCD всегда активен.
AT%E
Разрешение/запрещение автоповтора.

Параметры : 0,1

AT%E0 Запрещение автоповтора.

AT%E1 Разрешение автоповтора.
AT%L
Сообщение об уровне принимаемого сигнала.

Возвращает значение, определяющее уровень принимаемого сигнала.

Возможные значения:

009= Принимаемый уровень -9dBm

010= Принимаемый уровень -10dBm

011= Принимаемый уровень -11dBm

.
.
.

043= Принимаемый уровень -43dBm
AT%M
Установка одно/двухсторонней компрессии V.42bis

Параметры : 0,1,2,3

AT%M0 Снятие компрессии.

AT%M1 Компрессия только при передаче.

AT%M2 Компрессия только при приеме.

AT%M3 Двусторонняя компрессия.
AT%P
Очистка кодирующего буфера при работе по V42bis

Очищает буфер модема, работающего по V.42bis и посылает команду очистки на удаленный модем.
AT%Q
Сообщение о качестве линейного сигнала

Сообщает качество линейного сигнала. Если значение равно 8 или больше и установлена команда AT%E1.
AT%Sn
Установка максимальной длины строки при работе по протоколу V.42bis.

Устанавливает максимальное количество символов, которые могут быть сжаты в одно слово, n=6-250. Текущим является n=32.
Описание S регистров.S0
Количество звонков до ответа (Хранится в энергонезависимой памяти)
По умолчанию: 0
Диапазон: 0…255

Устанавливает количество звонков, которые модем должен получить перед тем, как начнет процедуру автоответа.
Величина от 1 до 125 включит автоответ
Величина 0 выключит автоответ.
S1
Счетчик звонков
По умолчанию: 0
Диапазон: 0…255

S1 – это регистр только для чтения, его значение увеличивается на единицу каждый раз при получении сигнала звонка. Он автоматически очищается, если в течении 8 секунд не поступит ни одного сигнала звонка.
S2
Символ кода Esc
По умолчанию: 43, десятичное значение ASCII-символа “+”
Диапазон: 0…255

S2 содержит ASCII-десятичную величину символа Esc. Значение больше чем 127 запретит обнаружение Esc кода. Этот Esc-код позволяет выйти из режима данных (DATA MODE) и перейти в режим интерактивного обмена (ON LINE INTRACTIVE MODE).
S3
Символ возврата каретки
По умолчанию: 13, десятичное значение ASCII- символа “CR”.
Диапазон: 0…255
S3 содержит десятичную величину символа возврата каретки. Этот символ используется как окончание командной строки, а также как результирующий код.
S4
Символ перевода строки
По умолчанию: 10, десятичное значение ASCII- символа “LF”.
Диапазон: 0…255
S4 содержит десятичную величину символа перевода строки. Этот символ выдается после символа возврата каретки, если включен режим полного результата командой ATV1.
S5
Символ возврата на шаг
По умолчанию: 8, десятичное значение ASCII- символа “BS”.
Диапазон: 0…255

S5 содержит десятичную величину символа возврата на шаг. Во время ввода команды при получении символа BS, имеет место следующая последовательность:
* Символ BS возвращается.
* На DTE выдается символ пробела (20H).
* Другой символ BS выдается на DTE.
Если пользователь попытается вернуть на шаг первый командный символ, следующий за “AT”, то ничего не будет возвращено.

Так как каждый символ BS может вызвать посылку на DTE до трех символов, следует принять меры для недопущения передачи символов BS один за другим.
S6
Ожидание тона набора
По умолчанию: 2 десятичное
Диапазон: 0…255

S6 содержит время в секундах, которое модем будет ждать перед набором телефонного номера. Эта пауза введена для задержки тона набора после выхода из состояния ожидания. Значение S6 игнорируется, если разрешены ATX3 или ATX4. Если в S6 установлено значение меньшее, чем 2 секунды, модем игнорирует эту величину и ожидает как минимум 2 секунды.
S7
Ожидание несущей после набора
По умолчанию: 30 десятичное

Диапазон: 0…255
S7 содержит время в секундах, которое модем будет ждать появления несущей после завершения набора номера. В режиме ответа в S7 содержится время, в течение которого модем ждет появления несущей после посылки тона ответа.
S8
Время паузы набора номера
По умолчанию: 2 десятичное
Диапазон: 0…255

S8 содержит время в секундах, в течение которого модем будет ждать при получении запятой в строке набора номера. Эта возможность используется для введения паузы в процессе набора номера для обеспечения задержек для PBX обмена.
S9
Время ответа на обнаружение несущей
По умолчанию: 6 десятичное (600 миллисекунд)
Диапазон: 0…255 (в 1/10 секунды)

S9 содержит время в 1/10 секунды, в течение которого модем будет выдавать тон ответа перед продолжением процедуры соединения. Это позволяет увеличить время обнаружения в зашумленных линиях и при нестандартных тоновых сигналах процедуры вызова, вызывающих ошибку обнаружения несущей по протоколу BELL103.
S10
Время ответа на потерю несущей
По умолчанию: 14 десятичное (1.4 секунды)
Диапазон: 0…255 (в 1/10 секунды)

S10 устанавливает задержку между моментами потери несущей и рассоединением модема. При увеличении этого времени модем становится менее чувствительным к пропаданию сигналов в линии. При установке в регистр S10 значения 255, модем игнорирует статус несущей и функционирует таким образом, как будто несущая присутствует всегда.
S11
Длительность тона нажатия
По умолчанию: 95 десятичное (95 миллисекунд)
Диапазон: 0…255 миллисекунд

S11 содержит длительность в миллисекундах тона нажатия и интервала. Значение по умолчанию вызовет посылку в течение 95 миллисекунд тона нажатия и 95-миллисекундный интервал между тонами.
S12
Время ограничения Esc-кода
По умолчанию: 50 десятичное (1 секунда)
Диапазон: 0…255 (* 1/50 секунды)

S12 содержит величину в 20 миллисекундных единицах времени разграничения Esc-кода. Это время, в течение которого модем задерживает расшифровку Esc-последовательности при получении Esc-кода. Поэтому, задержки прихода следующих символов Esc-последовательности не должны превышать этого времени.
S13
Зарезервировано
S14
Регистр битовой карты

По умолчанию: см. ниже

Диапазон: 0…255 миллисекунд

S14 содержит битовую карту некоторых внутренних состояний модема. Этот регистр предназначен только для чтения. Запись в него может привести к непредсказуемым результатам.БИТ СОСТОЯНИЕ РЕГИСТР S14
0 Не используется
1 0 Нет эха (ATE0)
1 Эхо включено (ATE1)
2 0 Результирующий код разрешен (ATQ0)
1 Результирующий код запрещен (ATQ1)
3 0 Цифровой код результата (ATV0)
1 Символьный код результат (ATV1)
4 0 Всегда 0
1
5 0 Тон набора
1 Пауза набора
6 0 Не используется
1
7 0 Ответ
1 Инициализация

S15
Зарезервирован
S16
Тест регистр
По умолчанию: 0
Диапазон: битовая карта

S16 показывает статус тест-режимов модема. Тесты вызываются командой AT&T.
Бит 0 ALB
Бит 1 Зарезервирован
Бит 2 Локальная цифровая петля
Бит 3 Удаленная цифровая петля
Бит 4 IRT
Бит 5 IRT с самотестом
Бит 6 ALB с самотестом
Бит 7 Зарезервирован

S17
Не используется
По умолчанию: не установлено

Диапазон: 0
S18
Тест таймер (хранится в энергонезависимой памяти)
По умолчанию: 0
Диапазон: 0…255 секунд

Содержимое S18 управляет длительностью тест-режимов. Установка 0 в S18 запрещает таймирование тестов.
S19, S20
Не используются
По умолчанию: не установлено
Диапазон: 0

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