At cmgs error

I am using SIM900 GSM module connect to my AVR Microcontroller. I tested it with FT232 to see transmitting data. First Micro sends AT it will response OK AT OK AT+CMGF=1 OK AT+CMGS="+9893XXXXXX" r...

I am using SIM900 GSM module connect to my AVR Microcontroller.
I tested it with FT232 to see transmitting data.
First Micro sends AT it will response OK

AT OK
AT+CMGF=1 OK
AT+CMGS="+9893XXXXXX" returns ERROR and doesn't show ">"

Could anybody advise me what to do?

dsolimano's user avatar

dsolimano

8,7303 gold badges48 silver badges63 bronze badges

asked Feb 3, 2014 at 8:38

Mohammad Farahi's user avatar

Mohammad FarahiMohammad Farahi

9863 gold badges12 silver badges38 bronze badges

3

Command AT+CSCS? will answer You what type of sms-encoding is used. Properly answer is «GSM», and if not, You should set it by command AT+CSCS="GSM".

And remember about «Ctrl+Z» (not «Enter») as a finish of sms text, please.

answered Feb 16, 2014 at 12:46

yuriygorskyy's user avatar

1

You aren’t passing all the parameters to the command.

The command format is:

AT+CMGS=<number><CR><message><CTRL-Z>

Where:

<CR> = ASCII character 13
<CTRL-Z> = ASCII character 26

You have passed only the number and without the <CR> you won’t see the > note for the message.

Example:

AT+CMGS="+9893XXXXXX"
> This is the message.→

The response is:

+CMGS:<mr>
OK

Where <mr> is the message reference.

answered Feb 3, 2014 at 15:43

Kobi K's user avatar

Kobi KKobi K

7,6276 gold badges40 silver badges85 bronze badges

1

If AT+CSCS? command returns UCS2, then many arguments need to be encoded as hex string of UTF-16 encoding, so the phone number would become «002B0039003800390033…», and the SMS text would need to be encoded in the same way. If you don’t need UCS2 encoding, then the easiest thing to do is to switch to GSM encoding (or another encoding from the available set as shown by AT+CSCS=? command)

answered Jul 27, 2016 at 11:56

lav's user avatar

lavlav

1,2819 silver badges17 bronze badges

Sometimes the issue is the text mode you are in. Enter AT+CMGF? and you should receive +CMGF: 1. If instead you receive +CMGF: 0, enter AT+CMGF=1. This changes the message format from PDU mode to Text mode. I’m not sure what either of those mean exactly, but this fixed my issue.

SIM 800 AT command manual

answered Jul 23, 2018 at 16:09

Temba's user avatar

TembaTemba

3622 silver badges13 bronze badges

1

Содержание

  1. GSM GPRS модуль SIM800L. AT команды
  2. Arduino.ru
  3. Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru
  4. forum.arduino.ru
  5. SIM800L не может зарегистрировать SIM

GSM GPRS модуль SIM800L. AT команды

В предыдущей статье мы говорили о модуле SIM800l. В этой статье я хотел бы рассказать об управлении этим модулем. Как было сказано ранее — модуль управляется через UART интерфейс посредством AT команд. Конечно, все AT команды я перечислять не буду — для этого существует даташит, в котором все они подробно расписаны. Даташит вы можете скачать в конце статьи. Остановимся на самых распространенных и необходимых AT командах управления модулем SIM800l. Но прежде, я вкратце расскажу о том как подключить модуль. Итак, с питанием понятно — напряжение 4В и ток не менее 2А. Также понадобится переходник USB-UART, например такой. Подключаем переходник в свободный USB порт компьютера устанавливаем драйвера, далее подключаем RX вывод переходника к TX выводу модуля, а TX вывод модуля к RX выводу переходника. Вот и все. Запускаем любую терминальную программу (Hyper Terminal или PuTTy), и вносим настройки. Собственно по настройкам:

  1. Номер COM порта (смотрим в диспетчере устройств),
  2. Скорость соединения — 9600 (Хотя изначально модуль настроен на автоопределение).
  3. Четность — (8-N-1 4)
  4. Управление потоком — нет.

После подключения шлем модулю первую команду — AT и жмем Ентер. Если все правильно модуль должен ответить — OK. Теперь несколько команд для принудительной настройки UART порта модуля:

AT+IPR=115200 — эта команда настраивает скорость порта на 115200. Можно поставить любое значение: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200. Если поставить 0, то это означает автоопределение скорости (настройка по умолчанию). На команду модуль отвечает OK, или ERROR — если что-то не так. Чтобы узнать текущую установленную скорость даем команду AT+IPR?

AT+ICF=3,3 — эта команда служит для установки четности порта модуля. Имеет два параметра. Первый — отвечает за кол-во бит в посылке/четность/стопбит. Вот все варианты: 1 – 8/0/2, 2 – 8/1/1, 3 – 8/0/1, 4 – 7/0/2, 5 – 7/1/1, 6 – 7/0/1. Второй параметр — четность. Варианты: 0 – нечётный, 1 – чётный, 3 – нет. Т.е. команда AT+ICF=3,3 означает 8/0/1 (8 бит посылка, четность нет, стоп бит — 1). Для проверки текущей четности вводим AT+ICF?.

AT+IFC=0,0 — эта команда для установки контроля передачи данных. Первый параметр – терминалом от модуля, второй параметр – модулем от терминала. Возможные варианты: 0 – нет контроля, 1 – программный, 2 – аппаратный. По умолчанию контроль выключен.

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

Команда Ответ Описание
AT+GCAP +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+380XXXXXXXX; OK Позвонить на номер +380XXXXXXXX;
NO DIALTONE
BUSY
NO CARRIER
NO ANSWER
Нет сигнала
Если вызов отклонён
Повесили трубку
Нет ответа
ATDL OK Позвонить по последнему исходящему номеру
ATA OK Ответить на звонок
ATH0 OK Повесить трубку/ разорвать соединение
RING Входящий звонок
AT+CLIP=1 OK см. настройки
RING

+CLIP: «+380XXXXXXXX»,145,»»,,»»,0

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

Команды для отправки СМС сообщений

Команда Ответ Описание
AT+CMGS=

«+380XXXXXXXX»
>Test sms.elschemo.ru

>
+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»,»+380XXXXXXXX»,»

«,»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»,»+380XXXXXXXX»,»

«,»13/09/21,11:57:46+24»
Test sms. elschemo.ru
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: «+380991234567»,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 кодировке.

Источник

Arduino.ru

Регистрация новых пользователей и создание новых тем теперь только на новом форуме https://forum.arduino.ru

forum.arduino.ru

SIM800L не может зарегистрировать SIM

Здравствуйте всем.
Столкнулся с проблемой, модуль не может зарегистрировать симку.
Питание подаю на модуль 4V, RXD, TXD включены в 2 и 3 порты на ардуинке. Пин-код на карте отключен.

На модуле каждую секунду мигает светодиот (пытается зарегистрироваться).

SIM-карта правильно вставлена? Насколько помню, нужно чтобы срез снаружи был. На самом деле, нужно прикинуть, чтобы во вставленном состоянии контакты карты на контакты держателя попадали.

На AT+CREG? что отвечает?

Да, SIM-карта вставлена правильно.

AT+CREG отвечает 0, значит у оператора не зарегана.

Да, SIM-карта вставлена правильно.

AT+CREG отвечает 0, значит у оператора не зарегана.

А точнее ответ AT+CREG, 0,0 или 0,2? Т.е. не зарегистрирована и не пытается зарегистрироваться или не зарегистрирована, идет попытка регистрации?

Поясню — были аналогичные проблемы, с любой симкой AT+CREG отвечала 0,0 при наличии сигнала. Без сим-карты прозвонил ноги держателя карты. Выявил замыкание двух ног. Поскольку замыкание было под держателем, то пришлось его перепаивать. После этого стал нормально работать.

И еще — питание от аккумулятора на DC-DC и с DC-DC на модем крайне желательно припаять. С питанием через беспаечную макетку у меня крайне нестабильно работал GPRS на модеме. Видимо в этом режиме были особенно большие пики по потреблению (по даташиту пики до 2а) и были просадки из-за большого сопротивления контактов, в результате которых модем перезапускался.

0.0, не пытается по ходу даже зарегаться так как думает что карты вообще нету. Наверное придется и мне перепаивать. Можете посоветовать как правильно прозвонить? (я новый в этом деле)

Тестером (мультиметром), в режиме измерения сопротивления или в режиме прозвонки (там диод как правило нарисован и пищит при замыкании щупов). Карту перед этим достать. Между ножками не должно быть контакта. Там на держателе одна ножка не припаяна — это нормально. Можно предварительно глазами посмотреть с лупой, может и так увидите «соплю» между ножками и получится ее убрать без перепайки.

Если перепаивать, то я сначала отпаивал сам держатель по бокам, по очереди, подсовывая тонкое лезвие под каждый лепесток. А потом, широким жалом одновременно все ножки отпаял.

Ребят,всем привет.помогите пожалуйста.Немогу понять что с моим SIM800L.Вчера полдня его пробовал подключить.на АТ команды не отвечал,при смене TX и RX абрукадабру выдавал в мониторинге порта.Соединял через общий минус на Ардуино Уно.Потом решил попробовать напрямую без общего минуса неотключая питание на модуль.Ну и результат модуль перестал подавать признаков жизни,светодиод не мигает преобразователь напряжения начал грется((((.Походу я сжег модуль.а как это проверить окончательно?

У меня была подобная проблема.

Оказалось, что на платке фиговый разъем для симки. Она слишком глубоко садится и если ее вытянуть на 0,5мм, то все ОК.

Втыкать надо срезом наружу.

Ребят,всем привет.помогите пожалуйста.Немогу понять что с моим SIM800L.Вчера полдня его пробовал подключить.на АТ команды не отвечал,при смене TX и RX абрукадабру выдавал в мониторинге порта.Соединял через общий минус на Ардуино Уно.Потом решил попробовать напрямую без общего минуса неотключая питание на модуль.Ну и результат модуль перестал подавать признаков жизни,светодиод не мигает преобразователь напряжения начал грется((((.Походу я сжег модуль.а как это проверить окончательно?

Не совсем понятно, что сделали, но проверьте, подается ли сейчас напряжение на модуль (на контактах самого модуля) и сколько. Если подается и индикатор не моргает — то сожгли модуль, если не подается — то преобразователь.

можно в трех словах про заливку услышать?

ps csd что такое будет?

можно в трех словах про заливку услышать?

ps csd что такое будет?

подключаешь модуль через USB-TTL конвертер к компу, запускаешь программатор, указав файл прошивки жмешЬ кнопку GO и все.

CSD это режим передачи данных в голосовом режиме
тоесть когда ты звонишь то посылаеш ATD+76543210; то у тебя модем звонит в обычном голосовом режиме
А если ты посылаеш ATD+76543210 (без 😉 то у тебя модем звонит в режиме передачи данных на скорости 9600. не выходя в GPRS грубо говоря 2 GSM модема устанавливают друг с другом канал связи для передачи данных в режиме дозвона: 1й звонит, 2й поднимате трубку , тарификацыя идет как за простой звонок

можно в трех словах про заливку услышать?

ps csd что такое будет?

только у моего модуля прошивка 1418 на 24 мб.

эта проша из ссылки не подходит.

Здравствуйте! Встретился с такой же проблемой. Тоже 24мб.

Я хотел узнать у вас про ваш метод перепрошивки

Где купили программатор?

Единственный ли это способ решения? Вряд ли simcom выпускает нерабочие платы.

Прошу прощения за отход в сторону

Как то можно залить информацию о «своем» операторе (как и какую)?

AT+COPS? — даст код оператора

По указанной ссылке, действительно имеются:

  • 25032: WIN-Mobile («К-Телеком», Республика Крым и Севастополь)
  • 25033: СевМобайл
  • 25034: Крымтелеком

Но в перечне выданном по комманде

В этом диапазоне номеров, как то так:

BASHCELL +COPN: 25019
MOTIV +COPN: 25020
EXTEL +COPN: 25028
South Ural Cellular +COPN: 25039
North Caucasian GSM +COPN: 25044
Primetelephone +COPN: 25092

То есть придется на месте эксперементировать с AT+COPS?,

и, так как я скорее всего получу что то типа 25032: WIN-Mobile, то скорее всего просто модуль не зарегистрирует симку?

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

И при чем регистрация в сети? И коды операторов?

Просто симка в телефоне регистрируется?

Прошу пощения, просто не понимаю суть этого списка

вот этот вот список, который выдает модуль, это зашитая в нем поддержка операторов?

Eсли так, то получается, что с крымскими операторами он работать не будет.

Дополнить/откорректировать его можно (этот список)?

Проверить симку сейчас не могу (симку буду вставлять на месте, когда в крыму окажусь)

Прошу пощения, просто не понимаю суть этого списка

вот этот вот список, который выдает модуль, это зашитая в нем поддержка операторов?

Eсли так, то получается, что с крымскими операторами он работать не будет.

Дополнить/откорректировать его можно (этот список)?

Проверить симку сейчас не могу (симку буду вставлять на месте, когда в крыму окажусь)

модуль выдает список операторов которые базовые станции он видит, среди них есть и ваша, и если СИМка зарегестрировалась то командой AT+COPS? выдается информация (код) по текущему оператору.

и ответьте в конце концов на вопрос — если СИМку просто в телефон вставить — она регистрируется?

что выдает модуль на команду AT+COPS?

Тестирую работу с комплектом: модуль + симкай БиЛайн. В Москве проблем нет.

Окончательный вариант системы буду использовать в Крыму с местной симкой. Сейчас таковой симки под рукой нет. Вроде тамошние симки без проблем работают на остальной территории России (во всяком случае там где ловит МТС 🙂 )

Так же тамошняя симка там точно работает в модеме Huawei (правда с модернизарованной разлоченной прошивкой). Сейчас там стоит WEB камера, проводом подключенная к роутеру с модемом.

Сейчас дошло. По команде AT+COPS? можно с удивлением увидеть код МТС?

По команде AT+COPS? можно с удивлением увидеть код МТС?

а попробовать религия не позволяет 🙂 ?

ЗЫ. Я к сожалению не знаю вашей задачи, но вам необходимо делать сразу универсальное решение, способное работать в любых условиях, если необходимо имя оператора любого — в любом случае придется в EEPROM загонять весь справочник кодов. Я загонял основных операторов РФ и для каждого сохранял команду USSD для запроса баланса.

По команде AT+COPS? можно с удивлением увидеть код МТС?

а попробовать религия не позволяет 🙂 ?

ЗЫ. Я к сожалению не знаю вашей задачи, но вам необходимо делать сразу универсальное решение, способное работать в любых условиях, если необходимо имя оператора любого — в любом случае придется в EEPROM загонять весь справочник кодов. Я загонял основных операторов РФ и для каждого сохранял команду USSD для запроса баланса.

Насчет религии, еще раз гооворю я в Москве, а работать должно будет в Крыму на Крымской симке (здесь такой нет. Про МТС я имел ввиду зарегистрировавшись на местной симке 🙂

Но главное, как я понял — надо перепрошивать SIM800L и загонять туда поддержку Крымских операторов. КАК?

Текущая прошивка такая: Revision:1418B04SIM800L24

То ли я тупой и чего то не знаю, то ли не правильно объясняю.

модулю SIM800 пофиг на оператора, он поддерживает всех (ну не всех конечно, но большинство — надо ДШ почитать),

у которых есть 2G GSM/GPRS сеть соотвествующих диапазонов.

какой у вас глубинный смысл вытаскивать код и имя оператора?

я например для запроса баланса, а вам зачем?

зачем перепрошивать? откуда мнение что вставим другую сим — не заработает?

Не правильно объясняли, для тупого 🙂

Ключевые слова это: «модулю SIM800 пофиг на оператора, он поддерживает всех»

Хотя именно фраза в скобках смущает (ну не всех конечно, но большинство — надо ДШ почитать)

Глубинного смысла вроде нет, просто если этот список не важен, то зачем он существует, сидит в модуле и почем зря место занимает?

ну почитайте уже литературу 🙁

 SIM800 Quad-band: GSM 850, EGSM 900, DCS 1800, PCS 1900. SIM800 can search the 4 frequency bands automatically. The frequency bands also can be set by AT command “AT+CBAND”. For details, please refer to document [1].  Compliant to GSM Phase 2/2+

т.е. если у вашего оператора в Крыму есть эти БС (я думаю есть) — то все работать будет.

и список кодов тогда вам нафиг не нужен.

Приятно общаться со знающим, но терпеливым человеком.

Собрал, все работает, код будет ниже, а сначала «проблемы» (думаю все как то связано с роумингом)

Стоит 3 датчика температуры, ну и 3 реле (чтоб было)

по звонку с указанного номера — «отбой» и отправка смс с показаниями температуры и состояниями реле

смс-ми можно управлять релюшками

по одному из датчиков — автоматическое управление одним из реле (холодно — включить, потеплело — выключить). Если происходит автоматическое управление реле — отправка смс

Симка Крымского оператора. При тестировании в москве и звонках с МТС, все работает по описанному.

При нахождении в Крыму, отбоя на звонок не происходит, а автоинформатор оператора говорит, что абонент в настоящий момент занят

Приходят смс о срабатывании реле по температуре, а на самом деле срабатывания нет (да и откуда ему взятся если температура +30, а срабатывать должно в диапазоне 0 +5)

«не верю», вы хотите сказать что одна и та же симка с одним и тем же модемом sim800 и тем же МК при перезде в другой регион ведет себя по другому? шлет другие команды? и вообще сходит с ума?

может быть глюк с отправко «левых» смс связан с тяжелыми условиями эксплуатации? Устройство стоит на чердаке, а там температура доходит до 42 (первый датчик стоит в самом устройстве) ?

«не верю», вы хотите сказать что одна и та же симка с одним и тем же модемом sim800 и тем же МК при перезде в другой регион ведет себя по другому? шлет другие команды? и вообще сходит с ума?

Именно. Отбоя точно нет. Хотя смс информация по входящему звонку приходит

Хотя модуль возможно и отбивается, а вот один из операторов накручивает роуминговый трафик своим «автоответчиком»

Сейчас я в Москве, устройство в Крыму. Автоотбой в норме, «левые» смс — пока 1 штука

тут на форуме уже не однократно обсуждалось, ваш и многие другие скетчи, которые используют String и/или не контролируют длину/содержание ответа от модема — однозначно обречены на провал.

достаточно оператору прислать какое либо нестандартное и/или длинное сообщение как ваш МК впадет в ступор и работать не будет.

А про температурный режим?

Кто в каких жестких условиях юзал Arduino?

Айфон, например, при переггреве за 60 градусов (летом оставил в салоне Авто) уходит в специфический даун и говорит дай мне остыть

вы бы не об Ардуине беспокоились о температурном режиме — там достаточно широкий предел (в ДШ написано), а о sim800 — он более нежный — опять же написано в ДШ от -40 до +85.

во всяком случае у меня например уличный датчик температуры на attiny85 при -30 и на солнце при +42 работает ок.

ну тогда уж вернее беспокоиться об адаптере (там электролиты 🙁 )

ну тогда уж вернее беспокоиться об адаптере (там электролиты 🙁 )

в первую очередь думайте о коде. Я бы оценил вероятный источник проблем так —

— процентов 80 — это ваш код. Как уже сказал Андикат — он кривой и просто должен глючить.

— процентов 10 — глюки оператора в роуминге. тоже лечится кодом.

— и лишь процентов 10 — аппаратные проблемы — глюки модема, перегрев и тд.

Не поймите привратно. Програмист я еще тот.

Эти то 180 строк для меня ого го

Основная часть кода — копипаст (брал отсюда: http://codius.ru/articles/GSM_модуль_SIM800L_часть_2 ). Куда смотреть то? Какие ветки форума почитать?

Не поверите — ищется по ключевым словам sim800.

Codius — хороший сайт, сам с него начинал.

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

Чужие примеры искать лень, вот например мой пример:

Т.е. вам необходимо анализировать или каждый приходящий байт и ждать прихода нужных, или тупо ограничивать длину входной строки, например максимум 100 байт в буфер и все что больше откидывать, вариантов масса — почитайте теорию парсинг текста, конечный автомат и еще куча умных слов (которых я не знаю — тут более грамотные гуру есть).

Банальный непропай, пришло 10 модулей SIM800L , 3 из них не регистрируются , промерил , на рабочих модулях напряжение на двух керам. кондерах 1.8в через несколько сек. после подачи питания. на не рабочих — не так.

На рабочих модулях — на первом кондере секунды через 3 начинает скакать 1.5в-0.5-1.8в , на втором кондере (питание симки) через несколько сек. 1.8в)

На не рабочих модулях пины некоторые не так звонятся , а некоторые пины вообще не звонятся. Китайский непропай! Напряжение скачет только до 0.5в .

Поэтому подумываю о SIM800C модулях , стоят почти столько же , зато пайка у них по бокам, и ее видать сразу.
А у SIM800L под модулем , вот как их теперь в домашних условиях перепаять? Ни инфракрасной паяльной станции, ни печи нет.

Специально зарегился , чтобы запостить в некропост. В моем случае тоже пять модулей подряд были нерабочими с виду. Бился целый день. Результат : AT+CREG? : 0,0. Ларчик открывался просто : модули были на EVB с распаяным разъемом под кабель антенный. Сам кабель первый попавшийся из комплекта оказался в обрыве. Припаял кусок провода — все завелось с первого раза.

ЗЫ что интересно : АT+CSQ давало какие то значения. Что вводило в заблуждения. Догадался по мусору , который летел по питанию от модуля и время от времени вешал или модуль или переходник на cp2101 даже подсвечивая немного диод на Тх. ( Опыт из 90х , когда у сиби отваливалась катушка антенны и рация начинала лупить ксв в питание , вешая все подряд.
Вывод: проверяем все досконально . По умолчанию модули рабочие , надо искать косяки в обвязке.

Доброго времени суток!

Помогите пожалуйста разобраться с такой проблемой.

Имеется два модуля SIM800l, у обоих одинаковое поведение: при установленной сим карте модуль 10 раз мигает светодиодом (поиске сети) и перезагружается, в терминал при этом прилетает «.» и цикл повторяется снова, на команды ответа не добиться, пару раз на команду AT возвращалось «SMS Ready, Call Ready». Без сим карты происходит мигание светодиодом раз в секунду (поиск сети), на AT команды модуль отвечает корректно, питание организовал правильно, ножки разъёма сим карты прозванивал, короткого замыкания нет. Изначально на модуле прошивка 1418B04SIM800L24 (на сайте производителя такой нет, где возможно скачать?), один модуль прошивал на 1418B04SIM800C24, 1418B05SIM800C24, светодиод перестал работать, в остальном тоже самое. Подключал к разъёму внешнюю антенну, на ситуацию не повлияло.

Подскажите, что ещё можно попробовать сделать, не верится что оба модуля нерабочие.

Источник

Я использую модуль GSM SIM900 для подключения к микроконтроллеру AVR. Я протестировал его с FT232, чтобы увидеть передачу данных. Сначала Micro отправляет AT, он ответит ОК

AT OK
AT+CMGF=1 OK
AT+CMGS="+9893XXXXXX" returns ERROR and doesn't show ">"

Кто-нибудь может мне посоветовать, что делать?

4 ответа

Лучший ответ

Команда AT+CSCS? ответит Вам, какой тип sms-кодировки используется. Правильно ответ — «GSM», а если нет, задайте его командой AT+CSCS="GSM".

И, пожалуйста, не забывайте про «Ctrl + Z» (не «Enter») как завершение текста смс.


20

yuriygorskyy
16 Фев 2014 в 16:46

Вы не передаете команде все параметры.

Формат команды:

AT+CMGS=<number><CR><message><CTRL-Z>

Куда:

<CR> = ASCII character 13
<CTRL-Z> = ASCII character 26

Вы передали только номер, и без < CR > вы не увидите> примечания к сообщению.

Примере:

AT+CMGS="+9893XXXXXX"
> This is the message.→

Ответ такой:

+CMGS:<mr>
OK

Где <mr> — ссылка на сообщение.


6

Kobi K
4 Фев 2014 в 15:39

Если команда AT+CSCS? возвращает UCS2, то многие аргументы необходимо закодировать как шестнадцатеричную строку в кодировке UTF-16, чтобы номер телефона стал «002B0039003800390033 …», а текст SMS нужно было бы закодировать в так же. Если вам не нужна кодировка UCS2, то проще всего переключиться на кодировку GSM (или другую кодировку из доступного набора, как показано командой AT+CSCS=?)


2

lav
27 Июл 2016 в 14:56

Иногда проблема заключается в текстовом режиме, в котором вы находитесь. Введите AT+CMGF?, и вы должны получить +CMGF: 1. Если вместо этого вы получите +CMGF: 0, введите AT+CMGF=1. Это изменяет формат сообщения с режима PDU на текстовый режим. Я не уверен, что именно они означают, но это устранило мою проблему.

SIM 800 AT руководство по командам


1

Barnaby
23 Июл 2018 в 19:09

Форум РадиоКот • Просмотр темы — Вопрос по АТ команде

Сообщения без ответов | Активные темы

ПРЯМО СЕЙЧАС:

Автор Сообщение

Не в сети

Заголовок сообщения: Вопрос по АТ команде

СообщениеДобавлено: Вт май 12, 2009 13:05:51 

Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 04, 2009 04:12:23
Сообщений: 94

Рейтинг сообщения: 0

Помогите плиз! Хочу соединить тини 2313 и мобильник по усарту чтобы отправлять смс с микроконтроллера, и не получается :(

пишу команду

Код:

 AT+CMGS=«+33146290800»<CR>Perezvoni mne. <ctrl>

И не отправляется! Я думаю что ошибка в <CR> и <ctrl>
но не знаю чем их надо заменить. Помогите пожалуйста. Спасибо![/code]

Вернуться наверх
 

ПрофильПрофиль

 

Реклама

mr.Kirill

Не в сети

Заголовок сообщения: Re: Вопрос по АТ команде

СообщениеДобавлено: Вт май 12, 2009 13:54:23 

Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вт сен 25, 2007 19:40:26
Сообщений: 438
Откуда: Челябинск

Рейтинг сообщения: 0

Ну насколько мне память не изменяет нужно сначала отправить

AT+CMGS=»+33146290800″<CR>

телефон ответит знаком «>» и потом набрать текст сообщения + Ctrl+Z

Аналог CR — ASCII 0x0D

Аналог Ctrl + Z — ASCII 0x1A

PS. Сильно помидорами не кидать, писал на память. Давно уже не работал с этим.

Вернуться наверх
Реклама

Arik

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Вт май 12, 2009 14:21:59 

Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 04, 2009 04:12:23
Сообщений: 94

Рейтинг сообщения: 0

Спасибо!

А так пойдет?

AT+CMGS=»+33146290800″0x0D

text_sms 0x1A

Вернуться наверх

mr.Kirill

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Вт май 12, 2009 17:51:30 

Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вт сен 25, 2007 19:40:26
Сообщений: 438
Откуда: Челябинск

Рейтинг сообщения: 0

Пробуй.

В крайнем случае — попробуй сначала через HyperTerminal

Вернуться наверх
Реклама

Выгодные LED-драйверы для решения любых задач

КОМПЭЛ представляет со склада и под заказ широкий выбор LED-драйверов производства MEAN WELL, MOSO, Snappy, Inventronics, EagleRise. Линейки LED-драйверов этих компаний, выполненные по технологии Tunable White и имеющие возможность непосредственного встраивания в систему умного дома (димминг по шине KNX), перекрывают практически полный спектр применений: от простых световых указателей и декоративной подсветки до диммируемых по различным протоколам светильников внутреннего и наружного освещения.

Подобрать LED-драйвер>>

Arik

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Ср май 13, 2009 14:21:49 

Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 04, 2009 04:12:23
Сообщений: 94

Рейтинг сообщения: 0

Пробовал — не получается :( Кто делал подскажите как?

Вернуться наверх
Реклама

Реклама

LIMF – источники питания High-End от MORNSUN со стандартным функционалом на DIN-рейку

На склад Компэл поступили ИП MORNSUN (крепление на DIN-рейку) с выходной мощностью 240 и 480 Вт. Данные источники питания обладают 150% перегрузочной способностью, активной схемой коррекции коэффициента мощности (ККМ; PFC), наличием сухого контакта реле для контроля работоспособности (DC OK) и возможностью подстройки выходного напряжения. Источники питания выполнены в металлическом корпусе, ПП с компонентами покрыта лаком с двух сторон, что делает ее устойчивой к соляному туману и пыли. Изделия соответствуют требованиям ANSI/ISA 71.04-2013 G3 на устойчивость к коррозии, а также нормам ATEX для взрывоопасных зон.

Подробнее>>

WildCat

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Ср май 13, 2009 16:51:37 

Собутыльник Сэра Мурра
Аватар пользователя

Карма: 23

Рейтинг сообщений: 6

Зарегистрирован: Вт янв 10, 2006 00:26:45
Сообщений: 2918
Откуда: Челябинск

Рейтинг сообщения: 0

Вернуться наверх

__Alexander

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Ср май 13, 2009 17:59:09 

Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вт сен 11, 2007 10:27:08
Сообщений: 335
Откуда: Киев

Рейтинг сообщения: 0

WildCat писал(а):

а по моему там не голый текст в ASCII передается, а как то кодироваться должен. Тоже читал давно, но щяс не вспомню

Там голый ASCII.

К автору: у Вас вобще на просто AT команду отвечает ОК? Если да, то еще не факт, что ваш мобильник поддерживает весь перечень команд. Хотя ATD он обязан принять. Пробуйте позвонить в режиме VOICE.

И вобще, что за телефон? Имеется ли перечень команд?

PS: У некоторых команд есть обратная связь «?» или «=?», по ним тоже можно ориентироваться.

Вернуться наверх

Arik

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 01:30:16 

Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 04, 2009 04:12:23
Сообщений: 94

Рейтинг сообщения: 0

Телефон самсунг команда ATD работает, отправка смс из программы для телефона проходит нормально, но отследить команды я не могу так как телефон подключается к программе по USB порту.

При подключении по блютузу к компу создаю в блютузе виртуальный СОМ порт и подключаюсь к телефону — команда ATD_номер проходит нормально, телефон звонит! А вот СМС видимо я не правильно задаю! Подкиньте примерчик как будет правильно? Спасибо!

Желательно рабочий код. Спасибо есче раз!

Вернуться наверх

asteroid7

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 07:35:16 

Опытный кот
Аватар пользователя

Зарегистрирован: Вс янв 18, 2009 21:12:49
Сообщений: 703

Рейтинг сообщения: 0

Arik

Какая в телефоне включена кодировка? Что выдаёт на запрос?

Код:

AT+CSCS?

А на эту что отвечает?

Код:

AT+CSMS?

Как mr.Kirill сказал делали?

Вместо +3 поставьте +7. Ответ от телефона > ждали?

Вернуться наверх

shtorm

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 11:59:08 

Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт янв 22, 2009 14:03:25
Сообщений: 185

Рейтинг сообщения: 0

возможно у вас не потдерживаеться текстовый режим отправки смс, проверить это можно командой AT+CMGF=?

если ответит +CMGF=(0,1) значит потдерживаеться оба режима (Text,PDU) ежели только 0 то увы..PDU если таки потдерживаеться текст то нужно его выставить по умолчанию AT+CMGF=1 (проверить текущее значение AT+CMGF?) и попробывать отправить с терминала.

Вернуться наверх

Arik

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 13:24:53 

Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 04, 2009 04:12:23
Сообщений: 94

Рейтинг сообщения: 0

Ребята! Вобщем вот лог общения терминала с модемом. Я так понял, что модем не выходит из текстового режима и воспринимает команды как текст! Как быть? Что тогда делать? Может я не так завершаю?

Код:

AT E0             //инициализируем модем
OK

AT+CMGF?     //проверяем режим передачи
+CMGF:0
OK

AT+CMGF=1  //проверяем возможен ли текстовый режим?
OK

AT+CMGF?    //установился ли текстовый режим?
+CMGF:1
OK

AT+CMGS=»+79243333333″ 0x0D//пытаемся отправить смс
ERROR

AT+CMGS=»+79243333333″//тогда так!
>

POZVONI MNE SROCHNO! 0x1A// тут должно всё вроде закончиться и отправиться
>

0x1A//не отправляется, приглашение для ввода текста остается :(
>

Вернуться наверх

shtorm

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 13:45:37 

Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт янв 22, 2009 14:03:25
Сообщений: 185

Рейтинг сообщения: 0

если в терминале то:

Код:

AT+CMGS=»+79243333333″//тогда так!
>

POZVONI MNE SROCHNO! 0x1A

0x1A -писать ненужно, нужно нажать Ctrl+Z

Вернуться наверх

Krik99

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 14:02:41 

Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 13:14:25
Сообщений: 375
Откуда: Украина

Рейтинг сообщения: 0

Попробуй для начала так:

Код:

ATD»+33146290800″<CR>

И если будеш отправлять через МК надо в конце команды писать r n , у мну без этого не работало. :(

Если после этого позвонит значит разбирайся с командами, а если нет — возможно плохое соеденение.


_________________
Изображение

Вернуться наверх

Arik

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 14:10:39 

Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 04, 2009 04:12:23
Сообщений: 94

Рейтинг сообщения: 0

shtorm писал(а):

0x1A -писать ненужно, нужно нажать Ctrl+Z

Да я понимаю что в терминале нужно нажать это клавосочетание, но я хочу передавать эти команды не с терминала, а с микроконтроллера! И пользуюсь программой Advanced Serial Port Monitor и в ней это сочетание клавиш (Ctrl+Z) удаляет введеный текст! Так где же изюминка спряталась? Как решить проблему? Какую команду отправляет терминал при нажатии этих клавиш? :o

Вернуться наверх

shtorm

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 14:18:28 

Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт янв 22, 2009 14:03:25
Сообщений: 185

Рейтинг сообщения: 0

Ctrl+Z -отправь 26 в Dec

после команды ATD -13 тоже в Dec

P.S. если хочешь увидить какая команда уходит в порт то включи на модеме эхо и без команды просто нажми нужную клавишу и увидишь его значение

Вернуться наверх

Krik99

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 18:02:00 

Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 13:14:25
Сообщений: 375
Откуда: Украина

Рейтинг сообщения: 0

Я использовал эту программу при отладке.


_________________
Изображение

Вернуться наверх

__Alexander

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Пт май 15, 2009 18:42:15 

Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вт сен 11, 2007 10:27:08
Сообщений: 335
Откуда: Киев

Рейтинг сообщения: 0

Цитата:

Да я понимаю что в терминале нужно нажать это клавосочетание

Пошли <ctrl-Z>

Вернуться наверх

Arik

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Сб май 16, 2009 02:11:06 

Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 04, 2009 04:12:23
Сообщений: 94

Рейтинг сообщения: 0

__Alexander писал(а):

Пошли <ctrl>

Пробовал — воспринимает как продолжение текста СМС — отвечает >

:( :shock:

Может у кого текст исходника остался? покажите конец плиз!

Вернуться наверх

__Alexander

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Сб май 16, 2009 11:16:11 

Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вт сен 11, 2007 10:27:08
Сообщений: 335
Откуда: Киев

Рейтинг сообщения: 0

Arik писал(а):

Может у кого текст исходника остался? покажите конец плиз!

Можно попробывать еще так:

«textSMSx1ax0d»

Либо же подключи телефон к стандартной проге, отсылай из нее СМС и любым сниффером ком-порта посмотри обмен. Если, конечно, шнурок делает виртуальный ком.

А вобще, там тупо 0x1A

Вернуться наверх

Arik

Не в сети

Заголовок сообщения:

СообщениеДобавлено: Сб май 16, 2009 13:14:11 

Встал на лапы
Аватар пользователя

Зарегистрирован: Сб апр 04, 2009 04:12:23
Сообщений: 94

Рейтинг сообщения: 0

Krik99 писал(а):

Я использовал эту программу при отладке.

я ПРОБОВАЛ И ЭТУ ПРОГРАММУ — ТАЖЕ БЕДА! не выходит из режима >

Как сказать телефону что ввод текста смс окончен и дать ему команду 0х1А???

Спасибо!

Вернуться наверх

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Angst

0 / 0 / 0

Регистрация: 18.11.2012

Сообщений: 19

1

27.11.2012, 02:26. Показов 4634. Ответов 8

Метки нет (Все метки)


Пишу на VB6 программу SMS-оповещений о различных событиях на сервере. Лог программы:

Код

Чтение файла sms.cfg
Чтение файла tasks.cfg
Открываем порт COM4
Успешно
>> AT
<<
OK
>> AT+CLIP=1
<<
OK
>> AT+CMGF=1
<<
OK
>> AT+CMGS="+79166366660" <<
ERROR
>> THIS IS A TEST MESSAGE

Выдаёт ERROR на AT+CMGS=»номер»
почему такое может быть?

Через HyperTerminal тоже пробовал вручную вбивать — ошибка.

Модем — Alcatel one touch x090s

Код может немного кривоват, но вроде ошибок нет

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Private Sub Command1_Click()
    Dim z As String
    z = SendCmd("AT" & vbCrLf)
    z = SendCmd("AT+CLIP=1" & vbCrLf)
    z = SendCmd("AT+CMGF=1" & vbCrLf)
    z = SendCmd("AT+CMGS=" & Chr(34) & "+79166366660" & Chr(34) & vbCrLf)
    z = SendCmd("THIS IS A TEST MESSAGE" & vbCrLf & Chr(26))
End Sub
 
Private Sub ModemTimer_Timer()
    If Not Modem.PortOpen Then
        On Error Resume Next
        Modem.PortOpen = True
        Log.Text = Log.Text & "Îòêðûâàåì ïîðò COM" & Trim(Str(Modem.CommPort)) & vbCrLf
        If Modem.PortOpen Then
            Log.Text = Log.Text & "Óñïåøíî" & vbCrLf
            ModemState = STATE_ON
        Else
            Log.Text = Log.Text & "Îøèáêà îòêðûòèÿ" & vbCrLf
            ModemState = STATE_OFF
        End If
    End If
End Sub
 
Private Function SendCmd(c As String) As String
    LastCmd.Text = ""
    Dim ModemOut As String
    Dim ModemIn As String
    Dim Counter As Long
    
    Counter = 0
    
    If Modem.PortOpen Then
        ModemState = STATE_BUSY
        ModemOut = c
        Modem.Output = ModemOut
        Log.Text = Log.Text & ">> " & ModemOut
    End If
    
    If Modem.PortOpen Then
        ModemIn = Modem.Input
        ModemState = STATE_BUSY
    Else
        ModemState = STATE_OFF
    End If
    
    Do
        Counter = Counter + 1
        Sleep 10
        If Len(ModemIn) > 0 Then
            Log.Text = Log.Text & "<< " & ModemIn
            LastCmd.Text = ModemIn
        End If
    Loop Until Len(ModemIn) > 0 Or Counter >= 500
    If Trim(ModemIn) = "" Then ModemIn = ""
    ModemState = STATE_ON
    SendCmd = ModemIn
End Function

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



SoftIce

es geht mir gut

11264 / 4746 / 1183

Регистрация: 27.07.2011

Сообщений: 11,437

27.11.2012, 06:51

2

Если модем ждёт именно такую команду : AT+CMGS=»+79166366660″ ,то со стороны Вашего кода вроде бы всё правильно, единственное вопрос:
Какой смысл в этом цикле?

Visual Basic
1
2
3
4
5
6
7
8
    Do
        Counter = Counter + 1
        Sleep 10
        If Len(ModemIn) > 0 Then
            Log.Text = Log.Text & "<< " & ModemIn
            LastCmd.Text = ModemIn
        End If
    Loop Until Len(ModemIn) > 0 Or Counter >= 500

Ведь если до входа в цикл переменная ModemIn была равна «», то чего вы хотите здесь получить?
хоть 1000000 раз его гоняйте — ModemIn не изменится.

Добавлено через 5 минут
Может имеет смысл вот этот кусок вставить в цикл после Sleep10 ?

Visual Basic
1
2
3
4
5
6
    If Modem.PortOpen Then
        ModemIn = Modem.Input
        ModemState = STATE_BUSY
    Else
        ModemState = STATE_OFF
    End If



1



Модератор

6790 / 2811 / 527

Регистрация: 24.04.2011

Сообщений: 5,308

Записей в блоге: 10

27.11.2012, 10:07

3

Цитата
Сообщение от Angst
Посмотреть сообщение

Выдаёт ERROR на AT+CMGS=»номер»

Если не ошибается мой склероз, то эта команда после запятой должна содержать и текст сообщения

AT+CMGS=»+79*********»,<CR>Tekst

У вас запятую не увидел. У вас там vbCrLf, а должно только vbCr после знака запятая.

И перед этим должно быть AT+CSMP параметры текстового режима.
Например, так
AT+CSMP=17,167,0,8
Последняя цифра — схема кодирования:
8 — UCS2,
0 — 7битное кодирование
240 — флэш смс в 7битном кодировании
и т.д.



1



Denri

178 / 56 / 0

Регистрация: 10.07.2012

Сообщений: 347

Записей в блоге: 2

27.11.2012, 10:38

4

Я у тебя что то не нашел в коде где письмо отсылается на сервер сотовой кампании чтобы она потом тебе на тел его переслала
К примеру МТС

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'Îáúÿâëÿåì API ôóíêöèè
'Äëÿ îòêðûòèÿ ñîåäèíåíèÿ è ïîëó÷åíèÿ åãî äåñêðèïòîðà
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
'Äëÿ óáèâàíèÿ äåñêðèïòîðà
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
'Äëÿ îáðàùåíèÿ ê URL
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Sub Command1_Click()
Dim a As Long, b As Variant, Prefix As String, Message As String
'ñîçäàåì ñîåäèíåíèå è ïîëó÷àåì åãî äåñêðèïòîð
a = InternetOpen("Microsoft Internet Explorer 5.0", 0, vbNullString, vbNullString, 0)
'îáðàùàåìñÿ ê ñöåíàðèþ ñ çàäàííûìè ïàðàìåòðàìè
b = InternetOpenUrl(a, "http://www.mts.ru:5051/cgi-bin/cgi.exe?function=sms_send&MMObjectType=0&MMObjectID=&To=" & Prefix & txtNumber & "&Msg=" & Message & "&Hour=23&Min=59&Day=31&Mon=12&Year=2005&Lang=2", vbNullString, 0, 0, 0)
'çàêðûâàåì ñîåäèíåíèå
InternetCloseHandle a
End Sub
 Комментарий модератора 
Используйте специальные и правильные теги форматирования программного кода (VB)



0



0 / 0 / 0

Регистрация: 18.11.2012

Сообщений: 19

27.11.2012, 19:27

 [ТС]

5

Цитата
Сообщение от Denri
Посмотреть сообщение

Я у тебя что то не нашел в коде где письмо отсылается на сервер сотовой кампании чтобы она потом тебе на тел его переслала
К примеру МТС

Сообщение должно отправляться напрямую через подключенный к серверу 3G модем, а не через сайт, т.к. сотрудников — 15-20 человек, и у всех разные операторы и номера телефонов, в том числе зарубежные.

Цитата
Сообщение от Pro_grammer
Посмотреть сообщение

AT+CSMP=17,167,0,8

а 17,167,0 что означают?



0



Модератор

6790 / 2811 / 527

Регистрация: 24.04.2011

Сообщений: 5,308

Записей в блоге: 10

27.11.2012, 20:11

6

Цитата
Сообщение от Angst
Посмотреть сообщение

а 17,167,0 что означают?

Читайте мануал, тут к примеру

GR47/GR48AT Commands Manual



0



0 / 0 / 0

Регистрация: 18.11.2012

Сообщений: 19

28.11.2012, 03:35

 [ТС]

7

Как я понял данный модем не поддерживает текстовый режим, а только PDU. (Только что проверил — через PDU всё отлично отправляется)
Благодарю всех за помощь.

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



0



10229 / 6607 / 498

Регистрация: 28.12.2010

Сообщений: 21,159

Записей в блоге: 1

28.11.2012, 08:36

8

…по отправке в PDU из VB тут есть тема, даже две.



0



Модератор

6790 / 2811 / 527

Регистрация: 24.04.2011

Сообщений: 5,308

Записей в блоге: 10

28.11.2012, 08:51

9

Цитата
Сообщение от Angst
Посмотреть сообщение

может быть кому будет полезно.

Может и тебе будет полезно — есть готовая программа + исходник на VB6
Автор некто Junior ( взято с форума, потому нет оригинальной ссылки)



1



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 Индикация ожидания вызова.
View previous topic :: View next topic  
Author Message
cbkulatunge

Joined: 22 Oct 2009
Posts: 12

View user's profile
Send private message

GSM Modem AT+CMGS Error
PostPosted: Tue Aug 02, 2011 8:55 pm     Reply with quote

Please check the code

Code:

#include <16F877A.h>

#include <string.h>

#FUSES NOWDT                    //No Watch Dog Timer

#FUSES XT                       //Crystal osc <= 4mhz

#use delay(clock=4000000)

#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,BRGH1OK,ENABLE=pin_c0,RESTART_WDT)

#byte trisc= 0x87

char rxd[20],rx;

void sms_hi_temp(void);

char phonelist[3][13]={   «+94XXXXXXXX»,

               «+94XXXXXXXX»,

               «+94XXXXXXXX»};

void initz(){

   set_tris_b(0xFF);

   bit_clear(trisc,0);

   bit_clear(trisc,1);

   setup_psp(PSP_DISABLED);

      enable_interrupts(GLOBAL);

}

void init_gsm(){

   printf(«AT+CMGF=1r»);

   delay_ms(1000);

   printf(«AT+CMEE=1r»);

   delay_ms(1000);

   printf(«AT+CPMS=»);

   putc(‘»‘);

   printf(«SM»);

   putc(‘»‘);

   putc(‘,’);

   putc(‘»‘);

   printf(«SM»);

   putc(‘»‘);

   putc(‘,’);

   putc(‘»‘);

   printf(«SM»);

   putc(‘»‘);

   printf(«r»);

   delay_ms(1000);

}

void main(){

   initz();

   output_high(pin_c1);

   output_high(pin_c2);

   delay_ms(1000);

   output_low(pin_c1);

   output_low(pin_c2);

   init_gsm();

      sms_hi_temp();

   while(true){

      }

}

#int_RDA

void  RDA_isr(void)

{

      gets(rxd);

}

/////////////////////////////////////////////////////////////

void sms_hi_temp(){

   int l=0,i;

      printf(«AT+CMGS=»);

   //   putc(‘»‘);   

      for(i=0;i<13;i++){

         putc(phonelist[l][i]);

      }

   //   putc(‘»‘);

      putc(13);

      delay_ms(2000);      

      printf(«High TEMP»);

      putc(26); //send the msg   

}

above is my gsm command program to send message to my phone. but nothing happened. so i tap the gsm moedm’s TX pin to Hyper terminal and this is what it prints



AT+CMGF=1

OK

AT+CMEE=1

OK

AT+CPMS=»SM»,»SM»,»SM»

+CPMS: 2,28,2,28,2,28

OK

AT+CMGS=+94XXXXXXXX

> High TEMP

+CMGS: 133

OK

but message never receive to my phone.

when i send «AT+CMGS=+94XXXXXXXX»(with the » «) instead of AT+CMGS=+94XXXXXXXX it returns CMS ERROR: 305 (Invalid Text mode parameter)

i connected to GSM module to hyper terminal and type the number (with and without » «) and it works both way.

can any one tell me what’s going on?

sigma-mx

Joined: 02 Jun 2008
Posts: 3

View user's profile
Send private message

PostPosted: Wed Aug 03, 2011 3:47 am     Reply with quote

Hi , try this ..

Code:

printf(«AT+CMGF=1rn»);    // just this enough

delay_ms(10);

printf(«AT+CMGS=»+94XXXXXXXXXX»rn»);

delay_ms(10);

printf(«HIGH TEMPrn%c»,26);

delay_ms(2000);



return any result……tanx

cbkulatunge

Joined: 22 Oct 2009
Posts: 12

View user's profile
Send private message

PostPosted: Wed Aug 03, 2011 9:11 am     Reply with quote

thanks. it works i found the bug LF is missing
bassn1

Joined: 03 Aug 2011
Posts: 6

View user's profile
Send private message

PostPosted: Wed Aug 03, 2011 10:32 am     Reply with quote

What type of gsm module are you using?
Mamat

Joined: 20 Jan 2011
Posts: 9

View user's profile
Send private message

Yahoo Messenger

ICQ Number

gsm
PostPosted: Tue Oct 11, 2011 10:22 am     Reply with quote

so what work code now?
Display posts from previous:   

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group

Понравилась статья? Поделить с друзьями:
  • At cgatt 1 error
  • At cardlock error
  • At 95 confidence what is the margin of error
  • At 145te коды ошибок
  • Asyncpg exceptions postgressyntaxerror syntax error at or near