Инструменты пользователя

Инструменты сайта


notes:at

АТ команды.

Практически все команды работают в 3 режимах — тестовом, чтения и записи.
В тестовом режиме возвращается OK, если команда поддерживается или возможные значения данных в параметре команды. Тестовый режим определяется окончанием команды в виде '=?'
В режиме чтения возвращаются текущие значения параметра, отличается от тестового наличием в конце просто символа '?'
И в режиме записи после '=' идут новые значения параметров.

Команды управление портом.

AT+IPR=9600 — настройка скорости порта
Можно выбрать: 0, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
0 — автовыбор. Стоит по умолчанию и для правильной работы первый посылаемый символ должен быть прописной буквой 'A'.

AT+IFC=0,0 — режим управления потоком в обе стороны.

  • 0, Без контроля.
  • 1, Программный режим (XON/XOFF). Имеются проблемы в использовании, лучше не использовать
  • 2, Аппаратный. Управление через CTS, DTR и т.д.

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 – Проверка связи с модемом. Должен вернуть “OK”

ATE<n> – Настройки режима “эха”. Включает отображение вводимых символов в терминале.
Параметр <n>:

  • 0 – выключить;
  • 1 – включить

ATV0 — формат ответа модуля.

  • 1, полный текстовый ответ с эхом (если включен). Стоит по умолчанию.
  • 0, возврат только кода ответа.

В первом случае всегда будет возвращаться OK, ERROR и прочее, а во втором будут возвращаться коды результата. Так вместо OK вернется 0, а вместо ERROR 4.

ATI – Команда проверки модели и версии модуля

AT+GETVERS – Команда чтения версии прошивки модуля

AT&W<значение> – Cохранение текущей конфигурации настроек в EEPROM память
Параметр <значение>:

  • 0 – сохранить настройки в 0-м профиле, параметр 0 можно не указывать;
  • 1 – сохранить настройки в 1-м профиле

AT+CPAS – Проверки статуса модуля.

  • 0 – готов к работе
  • 2 – неизвестно
  • 3 – входящий звонок
  • 4 – в режиме соединения
  • 5 – спящий режим

AT+GSN - вернет IMEI модуля

AT+CCLK? - считываем время с модуля

AT+CCLK=«yy/mm/dd,hh:mm:ss+zz» - где по порядку идут «год/месяц/дата,час:минуты:секунды+часовой пояс» Данные обязательно отправляются с ведущими нулями, то есть, к примеру, если месяц у нас «4», то отправить должны «04». Получить обратно текущие время и дату можно отправив ту же команду, только со знаком «?»:

AT+CCID – Возвращает ID SIM карты. Если есть проблемы с SIM картой возвращает “ERROR”

AT+CREG<mode> - Проверка регистрации модуля в сети
Параметр <mode>:

  • 0 – выключить уведомление о регистрации в сети
  • 1 – включить уведомление о регистрации в сети +CREG: <stat>
  • 2 – включить уведомление о регистрации в сети и информацию о местоположении

Запрос параметров AT+CREG?
Формат ответа AT+CREG: <mode>,<stat>
Параметр <stat>:

  • 0 – не зарегистрирован, поиск сети не выполняется
  • 1 – зарегистрирован в домашней сети
  • 2 – регистрация отклонена
  • 3 – не зарегистрирован, выполняется поиск сети
  • 4 – неизвестно
  • 5 – зарегистрирован, зона роуминга

AT+CSPN? — информация об операторе из сим-карты.

AT+COPS? - Информация об операторе, в сети которого зарегистрирован модуль

AT+COPS=? - Доступные операторы

AT+CMEE=0 - уровень информации об ошибке. Может быть от 0 до 2.

  • 0 - отключено. Будет просто писать ERROR.
  • 1 - код ошибки. Будет возвращать цифровой код ошибки.
  • 2 - описание ошибки. Напишет что именно ему не нравится в команде.

Для работы с модулем через терминал удобней режимы ATV1, ATE1 AT+CMEE=2, для общения с микроконтроллером лучше использовать ATV0, ATE0 и AT+CMEE=0 - так проще будет обрабатывать полученные ответы. Данные настройки не сохраняются после перезагрузки модуля, поэтому необходимо включать эти команды в код программы.

AT+CSQ - информация о качестве сигнала. Модуль вернет два числа +CSQ: 17,0

  • 17 - уровень сигнала. Может быть в диапазоне 0..31 или 99. Чем больше тем лучше. 99- отсутствие сигнала.
  • 0 - коэффициент ошибок связи (т.н. RXQUAL). Может быть от 0 до 7, чем число меньше тем качество связи лучше. 99 - отсутствие ошибок.

AT+ENPWRSAWE=<n> - Команда настройки спящего режима
Параметр <n>:

  • 0 – спящий режим запрещен;
  • 1 – спящий режим разрешен
  • Ответ OK или ERROR

Примечание Значение параметра <n> не сохраняется после выключения модуля.

AT+CPWROFF - Команда выключения модуля
Примечание Не следует одновременно подавать команду и оперировать выводом ON/OFF модуля.

Команды управления вызовом:

AT+CLIP=<n> - Настройка автоматического определения номера (АОН)
Параметр <n>:

  • 0 – АОН выключен;
  • 1 – АОН включен

Примечание: Если отправить команду с 0, то определение номера отключится и модуль вместо номера вызывающего будет слать только сообщение «RING».
Сообщение RING повторяется после каждого гудка

ATA - Ответить на звонок

ATD+79XXXXXXXXX; - Исходящий вызов для установления голосового соединения
Параметр 79XXXXXXXXX – номер вызываемого телефона, («;» обязательно) ATD>1; — позвонить по 1 номеру из сим карты
ATDL — позвонить по последнему набранному номеру
Сообщение от модуля:

  • CONNECT - Соединение установлено
  • BUSY - Занят другим сеансом связи
  • NO ANSWER - Нет ответа
  • NO CARRIER - Вызов сброшен

ATH<n> - Команда разъединения соединений (повесить трубку)
Параметр <n>:

  • 0 – разъединить все вызовы, параметр 0 можно не указывать;
  • 1 – разъединить исходящий вызов

При CSD вызове для возврата в AT режим нужно набрать +++ в течении 1000 миллисекунд.

Команды для работы с SMS сообщениями:

AT+CSCA? - Возвращает номер сервис центра отправки сообщений. Можно читать и писать.

AT+CMGF=<режим> - Команда настройки формата SMS сообщений
Параметр <режим>:

  • 0 – PDU формат;
  • 1 – текстовый формат (смс только латиницей)

Примечание: Если сообщение отправляется в PDU формате, необходимо установить кодировку UCS2 (при использовании кириллических символов), для текстового формата кодировку GSM, либо UCS2. В PDU формате, текст представлен в виде последовательности шестнадцатеричных чисел.

AT+CSCS=<chset> - Команда выбора кодировки текста
Параметр <chset>:

  • «GSM» – кодировка ASCII
  • «HEX» – кодировка шестнадцатеричными значениями
  • «IRA» – международный справочный алфавит
  • «PCCP437» – кодировка CP437 (IBM PC)
  • «8859-1» – кодовые страницы семейства ISO 8859
  • «UCS2» – кодировка Unicode (2 байта на символ)

AT+CMGR=<index> - Команда чтения SMS сообщения
Параметр <index>: номер считываемого сообщения
AT+CMGR=3,0 - (3-номер сообщения, которое хотим прочитать, 0-изменить статус сообщения на прочитанный)

Ответ Для текстового формата (CMGF=1):
+CMGR: <stat>,<oa>,<alpha>,<scts><CR><LF><data>
OK
(или ERROR)

Для PDU формата (CMGF=0):
+CMGR: <stat>,<alpha>,<length>,<scts><CR><LF><pdu>
OK
(или ERROR)

<stat> — статус SMS сообщения:

  • 0 – для PDU формата, REC UNREAD – для текстового формата: входящее непрочитанное сообщение
  • 1 – для PDU формата, REC READ – для текстового формата: входящее прочитанное сообщение
  • 2 – для PDU формата, STO UNSENT – для текстового формата: неотправленное (исходящее) сообщение
  • 3 – для PDU формата, STO SENT – для текстового формата: отправленное сообщение
  • 4 – для PDU формата, ALL – для текстового формата: все сообщения

<alpha> – имя отправителя
<scts> – отметка времени сервис-центра в формате:
год/месяц/день, часы: минуты: секунды ± часовой пояс
<data> – текст сообщения в ASCII символах
<length> – количество символов сообщения (для PDU формата)
<pdu> – информация о SMS и текст сообщения в PDU формате

AT+CMGS= - Команда отправки SMS сообщения
Отправка SMS на указанный номер телефона. После этой команды ждем символ “>”после чего вводим текст SMS, который завершаем нажатием Ctrl-Z (символ с кодом 0x1A (26)).
Формат Для текстового формата (CMGF=1):
AT+CMGS=<da><CR><text><ctrl-Z>

Для PDU формата (CMGF=0): AT+CMGS=<length><CR><pdu><ctrl-Z> Параметр <da> – номер на который посылается сообщение (в ASCII символах) <text> – текст сообщения в ASCII символах <length> – количество байт сообщения в PDU формате <pdu> – информация о SMS и текст сообщения в PDU формате Ответ +CMGS: <mr> OK (или ERROR)

<mr> – условный номер, присваиваемый модулем Пример AT+CMGS=»+79123456789″<CR>

Perezvoni mne<ctrl-Z>

+CMGS: 2

OK Для текстового формата Отправка сообщения «Perezvoni mne»

AT+CMGS=27<CR>

> 07919740030900F001000B919721436587F900080E 041F044004380432043504420021<ctrl-Z>

+CMGS: 2

OK Для PDU формата кодировка Unicode (UCS2) Отправка сообщения «Привет!»

AT+CMGS=22<CR>

> 07919740030900F001000B919721436587F900000A 47E8B435A506A55419<ctrl-Z>

+CMGS: 2

OK Для PDU формата специальная 7-ми битная кодировка Отправка сообщения «GPS-START2» Примечание Сначала необходимо отправить команду AT+CMGS=»+79123456789″, затем дождаться приглашения в виде символов «> » (> и пробел), после чего отправить текст сообщения. Для завершения процесса следует отправить символ <ctrl-Z> (шестнадцатеричное значение 0х1A)

Кириллические символы необходимо отправлять в кодировке Unicode (UCS2), только в формате PDU. Латинские символы можно отправлять в текстовом формате с кодировкой ASCII (GSM), либо в формате PDU с кодировкой Unicode (UCS2), или при помощи специальной 7-ми битной кодировки символами ASCII

AT+CMGS=<index>,<delflag> - Команда удаления SMS сообщений
Параметр <index> – порядковый номер удаляемого сообщения, для удаления одного сообщения
Параметр <delflag>

  • 0 – удалить сообщение с номером <index>, можно не указывать
  • 1 – удалить все прочитанные сообщения
  • 2 – удалить все прочитанные и отправленные сообщения
  • 3 – удалить все прочитанные, отправленные и неотправленные сообщения
  • 4 – удалить все сообщения

AT+CMGDA=«DEL SENT» - Удаление групп СМС:

  • DEL READ — прочитанные
  • DEL UNREAD — не прочитанные
  • DEL SENT — отправленные
  • DEL UNSENT — не отправленные
  • DEL INBOX — полученные
  • DEL ALL — всех сообщения

AT+CSMS=1 – Устанавливает поддержку SMS “GSM03.40 and GSM03.41;SMS related AT commands support GSM07.05” Phase 2+

USSD запросы.

Запросы начинающиеся со '*' возвращают ответ в юникоде, на родном языке.
Запросы начинающиеся с '#' возвращают ответ в стандартном ascii.

AT+CUSD=1,«#102#« - USSD запрос
Первый параметр – режим обработки операции:

  • 0 – выполнить запрос, ответ проигнорировать
  • 1 – выполнить запрос, вернуть ответ
  • 2 – отменить запрос

Второй параметр – запрос в кавычках. Второй выглядит как обычный набор номера. Результат всегда возвращается в терминале. Но работает не на всех версиях прошивки.

ATD#102# - Упрощенный USSD запрос

Телефонная книга.

Данные на карте хранятся подобно массивам, с индексами начинающимися с 1. В принципе данные могут храниться не только на сим-карте, но и в других местах, например в памяти телефона. Но в данном случае эти знания нам не особо актуальны:)

AT+CPBS=«SM» — выбрать как основную память сим-карту. Данный режим стоит по умолчанию.

AT+CPBS? — сообщит тип памяти, количество имеющихся записей и их максимальное количество.
Например: +CPBS: «SM»,3,250 значит, что на сим-карте есть 3 записи из 250 возможных.

Чтение данных.

AT+CPBR=1 — считывает запись с индексом 1.

AT+CPBR=2,5 — считать записи со 2-о по 5-ю.

AT+CPBF=«что ищем» — поиск информации.

AT+CPBW=4,»+71234567890»,145,«Test» — записать контакт на сим-карту.
4, — индекс, куда записываем.

AT+CPBW=4 — стереть запись с указанным номером.

Прочее

AT&F - Сброс настроек до заводских

AT+CPOWD=1 - Выключение модуля

  • 0 – срочное
  • 1 – нормальное

AT+CFUN=1,1 - Энергосберегающий режим и перезагрузка
Первый параметр:

  • 0 – минимальный функционал
  • 1 – нормальный режим (по умолчанию)
  • 2 – выключения цепей приёма и передачи сигнала

Второй параметр:

  • 0 – выполнить без перезагрузки
  • 1 – перезагрузить (доступно только в нормальном режиме, т.е. параметры = 1,1)

Ссылки:
http://www.2150692.ru/faq/36-otpravka-sms-cherez-arduino-i-gsm-modul-neoway-m590
http://radiolaba.ru/microcotrollers/gsm-modul-neoway-m590-opisanie-i-komandyi-upravleniya.html
http://alex-exe.ru/radio/wireless/gsm-sim900-at-command/
http://we.easyelectronics.ru/part/gsm-gprs-modul-sim900-chast-vtoraya.html

notes/at.txt · Последние изменения: 2022/05/13 18:37 — alex