Что такое команды 3GPP AT и как ими пользоваться

Модем перестал регистрироваться в сети, а в логах терминала виден только ответ ERROR на отправленную команду AT+CREG? — типичная ситуация, с которой сталкиваются при настройке GSM- и LTE-модулей. Причина почти всегда кроется не в «поломке» устройства, а в неправильном синтаксисе или непонимании того, как именно работают AT-команды стандарта 3GPP. Без их знания невозможно ни проверить уровень сигнала, ни отправить SMS, ни настроить подключение к интернету через сотовый модуль.

В этом материале разберём, что представляют собой команды 3GPP AT, откуда они взялись, как устроен их синтаксис и какие команды используются чаще всего. Отдельно рассмотрим практические примеры работы с модемом через терминал и типичные ошибки, из-за которых устройство отвечает отказом.

Что такое AT-команды и причём тут 3GPP

AT-команды — это текстовый язык управления модемом, где каждая инструкция начинается с префикса AT (от английского attention — «внимание»). Изначально набор команд разработала компания Hayes для своих телефонных модемов, поэтому иногда встречается название «команды Hayes». Со временем язык стал отраслевым стандартом и был расширен под задачи сотовой связи.

Именно здесь появляется 3GPP — организация, разрабатывающая спецификации мобильных сетей (GSM, UMTS, LTE, 5G). Для управления терминальным оборудованием 3GPP выпустила спецификацию TS 27.007, которая описывает стандартный набор AT-команд для сотовых модемов: регистрацию в сети, работу с SIM-картой, SMS, вызовы и пакетную передачу данных. Дополнительные аспекты раскрыты в спецификациях TS 27.005 (SMS и CBS) и TS 27.060 (пакетные домены).

Практический смысл прост: любой модуль, заявляющий совместимость с 3GPP, обязан понимать базовый набор команд из TS 27.007. Поэтому команда AT+CSQ (запрос уровня сигнала) будет работать и на модуле Quectel, и на SIMCom, и на Telit — хотя расширенные, фирменные команды у каждого производителя свои.

Как устроен синтаксис команд

Каждая команда отправляется модему как строка, завершающаяся символом возврата каретки (\r, код 13). Модем отвечает результатом и финальным кодом: OK при успехе или ERROR при отказе. Разберём структуру на примере команды AT+CREG?: префикс AT, знак + указывает на расширенную команду стандарта GSM/3GPP, далее мнемоника CREG и суффикс ? — запрос текущего значения.

У расширенных команд существует четыре формы обращения, и путаница между ними — частая причина ошибок:

  • 🔍 Тестовая формаAT+КОМАНДА=? — модем возвращает список поддерживаемых параметров;
  • 📖 ЧтениеAT+КОМАНДА? — возвращает текущее значение параметра;
  • ✏️ ЗаписьAT+КОМАНДА=значение — устанавливает параметр;
  • ⚙️ ИсполнениеAT+КОМАНДА — выполняет действие без параметров.
⚠️ Внимание: не все команды поддерживают все четыре формы. Перед использованием проверяйте доступные варианты тестовой формой =? — это безопасно и не меняет настройки устройства.

Основные группы команд 3GPP

Набор команд из TS 27.007 условно делится на функциональные группы. Знать их полезно, чтобы быстро находить нужную инструкцию в документации на конкретный модуль.

ГруппаНазначениеПримеры команд
ОбщиеИдентификация и базовая настройка модемаATI, AT+CGMI, AT+CGSN
СетевыеРегистрация в сети, выбор оператора, уровень сигналаAT+CREG?, AT+COPS, AT+CSQ
SMSОтправка и приём текстовых сообщенийAT+CMGF, AT+CMGS, AT+CMGL
ВызовыГолосовые вызовы и управление имиATD, ATA, ATH
Данные (GPRS/LTE)Настройка APN и пакетного соединенияAT+CGDCONT, AT+CGATT, AT+CGACT

Отдельно стоит упомянуть проприетарные расширения: производители добавляют собственные команды для специфических функций — например, управления GNSS-приёмником, eSIM или режимами энергосбережения. Они описаны только в документации конкретного модуля и между брендами не переносятся.

📊 Для каких задач вы используете AT-команды?
Отправка SMS через GSM-модуль
Настройка интернет-соединения (APN)
Диагностика сигнала и регистрации в сети
Разработка устройств на базе GSM/LTE-модулей

Практика: базовая диагностика модема через терминал

Чтобы пообщаться с модемом напрямую, его подключают к ПК (через USB-UART или встроенный COM-порт) и открывают любую терминальную программу — например, PuTTY или HTerm. Скорость порта и параметры подключения зависят от модели, их нужно смотреть в документации; многие модули поддерживают автоопределение скорости.

Начните с простейшей проверки связи. Отправьте:

AT

Если модем исправен и порт настроен верно, в ответ придёт OK. Дальше последовательно проверяйте состояние устройства:

AT+CPIN?

AT+CSQ

AT+CREG?

Первая команда покажет, готова ли SIM-карта (ожидаемый ответ — +CPIN: READY), вторая — уровень сигнала, третья — статус регистрации в сети. У команды AT+CSQ ответ вида +CSQ: rssi,ber, где первое число от 0 до 31 отражает мощность сигнала, а значение 99 означает, что сигнал неизвестен или отсутствует.

☑️ Чек-лист первичной диагностики модема

Выполнено: 0 / 5
⚠️ Внимание: команды, меняющие конфигурацию (например, AT+CFUN или настройки APN), могут сохраняться в энергонезависимой памяти модуля. Перед экспериментами зафиксируйте исходные значения параметров через форму чтения ?, чтобы была возможность вернуть конфигурацию обратно.

Отправка SMS и настройка интернет-соединения

Для работы с SMS сначала выбирают режим: текстовый (AT+CMGF=1) удобен для ручной отправки, PDU-режим (AT+CMGF=0) используется программами. В текстовом режиме отправка выглядит так:

AT+CMGF=1

AT+CMGS="+7XXXXXXXXXX"

> Текст сообщения

После ввода текста сообщение завершается комбинацией Ctrl+Z (символ с кодом 26) — не Enter. Это самая частая ошибка новичков: модем «молчит», потому что ждёт именно символ конца сообщения, а не перевод строки.

Для подключения к интернету через пакетную передачу данных сначала задаётся контекст PDP с точкой доступа оператора:

AT+CGDCONT=1,"IP","internet.example"

Здесь internet.example — условный APN, реальное значение нужно брать у вашего оператора связи. Дальнейшие шаги (активация контекста, получение IP, открытие сокетов) уже сильно зависят от модели модуля: у одних используются стандартные команды TS 27.007, у других — фирменный стек TCP/IP-команд. Сверяйтесь с руководством именно вашего устройства.

Типичные ошибки и их причины

Ответ ERROR сам по себе малоинформативен. Чтобы модем сообщал расширенные коды ошибок, включите verbose-режим командой AT+CMEE=2 — тогда вместо голого отказа вы получите пояснение вида +CME ERROR: SIM not inserted или +CME ERROR: operation not allowed.

Разберём распространённые ситуации:

  • 📵 SIM-карта не готоваAT+CPIN? возвращает запрос PIN-кода; введите его через AT+CPIN="код", если это предусмотрено вашим сценарием;
  • 📶 Нет регистрации в сетиAT+CREG? возвращает статус 0 или 2; проверьте антенну, уровень сигнала и корректность SIM;
  • ⌨️ Синтаксическая ошибка — лишний пробел, неверный регистр параметра или отсутствие кавычек вокруг строки;
  • 🔒 Команда не поддерживается — функция отсутствует в прошивке модуля или заблокирована оператором.
Почему модем отвечает ERROR на правильную команду

Возможные причины: команда требует предварительных условий (например, регистрации в сети или активного PDP-контекста), параметр выходит за допустимый диапазон, либо функция отключена на уровне прошивки. Проверьте поддержку тестовой формой AT+КОМАНДА=? и включите расширенные коды ошибок AT+CMEE=2.

Где брать документацию и как ей пользоваться

Официальные спецификации 3GPP (включая TS 27.007) публикуются в открытом доступе на сайте организации. Это первичный источник, но читать его «в лоб» тяжело: документ описывает сотни команд со всеми параметрами и кодами ошибок.

Практичнее работать с двумя документами параллельно: спецификацией 3GPP — для понимания стандартного поведения, и AT Command Manual от производителя вашего модуля — для конкретных значений, ограничений и фирменных расширений. Если поведение устройства расходится со спецификацией, приоритет обычно у документации производителя.

Часто задаваемые вопросы

Чем AT-команды 3GPP отличаются от классических Hayes-команд?

Базовые Hayes-команды (например, ATD, ATH, ATE) управляли телефонными модемами. 3GPP расширила набор командами с префиксом + и # для задач сотовой связи: регистрации в сети, работы с SIM, SMS и пакетных данных. Современные модули поддерживают оба набора.

Можно ли отправлять AT-команды на смартфон?

На обычном смартфоне прямой доступ к модему через AT-команды, как правило, закрыт для пользователя. Инженерные режимы и отладочные интерфейсы существуют, но их доступность зависит от модели и прошивки, а вмешательство может нарушить работу устройства. AT-команды в первую очередь инструмент для GSM/LTE-модулей и USB-модемов.

Что означает ответ +CME ERROR?

Это расширенный код ошибки мобильного оборудования (Mobile Equipment). Он появляется, если включён verbose-режим командой AT+CMEE=2. Текст после двоеточия указывает причину отказа — от неправильного PIN до неподдерживаемой операции.

Почему модем не отвечает на команду AT?

Проверьте скорость порта, настройки чётности и стоп-битов, а также корректность подключения линий TX/RX (они должны быть перекрёстными). Убедитесь, что строка завершается символом возврата каретки. Если модуль имеет несколько UART-интерфейсов, возможно, вы подключены не к тому порту — уточните распиновку в документации.

Где скачать спецификацию 3GPP TS 27.007?

Спецификации 3GPP находятся в открытом доступе на официальном портале организации в разделе спецификаций. Ищите документ по номеру 27.007 — доступны версии для разных релизов стандарта.