Содержание

АТ команды.

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

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

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

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

AT+ICF=3,3 — устанавливает режим передачи. Первое число — биты данных/четность/стоп биты

Второе число — четность

Все настройки этих команд сохраняются в энергонезависимой памяти. Так что их можно делать только один раз.

Информационные команды.

AT – Проверка связи с модемом. Должен вернуть “OK”

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

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

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

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

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

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

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

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>:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 сообщения:

<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>

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

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 запрос
Первый параметр – режим обработки операции:

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

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 - Выключение модуля

AT+CFUN=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