Статья взята тут
GSM/GPRS SHIELD A6 подключается по шине UART и способен выполнять AT-команды. AT-команда это строка начинающаяся с букв «AT» (от английского attention – «внимание»). Shield выполняет поступившую команду и отправляет обратно ответ (результат выполнения команды), который также является строкой. В GSM/GPRS SHIELD A6 каждая команда (как и ответ) должна заканчиваться символами перевода строки «\r\n».
Подключение:
- Shield устанавливается на Arduino и использует следующие её выводы: «RX» (D0 или D7), «TX» (D1 или D8), «PWR» (D9), GND, 3V3, «Vcc» (5V или Vin).
- Shield позволяет использовать как аппаратную так и программную реализацию шины UART Arduino. Если переключатель на плате shield находится в положении «RX-0/TX-1», то используется аппаратная шина, выводы D0 (RX Arduino, TX shield) и D1 (TX Arduino, RX shield). Если переключатель на плате shield находится в положении «RX-7/TX8, то используется программная шина, выводы D7 и (RX Arduino, TX shield) и D8 (TX Arduino, RX shield).
Настройка:
Модуль GSM/GPRS A6 сможет принимать команды только если правильно настроены следующие параметры последовательного порта:
- Номер 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)» это символы перевода строки «\r\n» которые Вы не сможете ставить самостоятельно в конце AT-команд.
Для настройки этих параметров в программе Termite, нажмите на кнопку «Настройки» (Settings). В том же окне можно установить Русский язык.
При использовании Arduino, номер порта указывается во вкладке «Инструменты». Параметры передачи данных используются по умолчанию. Для добавления символов NL & CR воспользуйтесь меню в правом нижнем углу монитора последовательного порта.
Проверка:
Для проверки связи с GSM/GPRS A6 отправьте тестовую команду AT (введите текст AT и нажмите Enter). Если связь установлена корректно, то shield ответит OK. После этого можно отправлять остальные AT-команды.
Синтаксис AT-команд:
Если в программе терминал указано добавлять символы CR & LF или NL & CR то символы «\r\n» в командах ставить не нужно!
Команды можно писать следующим образом:
- AT+КОМАНДА=?\r\n – Синтаксис запроса списка параметров и диапазонов их значений поддерживаемых командой (shield вернёт строку с корректными параметрами для отправки данной команды).
- AT+КОМАНДА?\r\n – Синтаксис запроса данных (shield вернёт текущие значения параметров команды).
- AT+КОМАНДА=ПАРАМЕТР(Ы)\r\n – Синтаксис установки данных (shield установит указанные значения параметров команды).
- AT+КОМАНДА\r\n – Синтаксис запроса/установки данных определяемых внутренними процессами модуля.
- Если синтаксис команды неверен, то возвращается ERROR.
- Если синтаксис команды верен, но допущены ошибки в параметрах, то возвращается +CME ERRORили +CMS ERROR.
- Если команда выполнена успешно, то в большинстве случаев возвращается ОК.
Пример 1: (синтаксис команды с одним параметром)
- Получить список параметров и диапазон их значений для команды AT+CSCS (выбор набора символов терминального оборудования):
- Запрос: AT+CSCS=?\r\n
- Ответ: +CSCS: (“GSM“,”HEX“,”PCCP936“,”UCS2“)\r\nOK\r\n
- Из ответа видно, что команда AT+CSCS содержит один параметр (так как в ответе одни скобки), который может принимать одно из четырёх значений: “GSM”, “HEX”, “PCCP936” или “UCS2”.
- Получить используемый в данный момент набор символов терминального оборудования:
- Запрос: AT+CSCS?\r\n
- Ответ: +CSCS: “PCCP936”\r\nOK\r\n
- Из ответа видно, что в данный момент используется набор символов “PCCP936”.
- Установить набор символов “GSM” для терминального оборудования:
- Запрос: AT+CSCS=”GSM”\r\n
- Ответ: OK\r\n
- Из ответа OK, следует, что набор символов “GSM” успешно установлен и используется.
Пример 2: (синтаксис команды с двумя параметрами)
- Получить список параметров и диапазон их значений для команды AT+ICF (запрос / установка параметров передачи данных по шине UART):
- Запрос: AT+ICF=?\r\n
- Ответ: +ICF: (1-6),(0-3)\r\nOK\r\n
- Из ответа видно, что команда AT+ICF содержит два параметра (так как в ответе две скобки), первый может принимать значение от 1 до 6, а второй от 0 до 3.
- Получить используемые в данный момент параметры передачи данных по шине UART:
- Запрос: AT+ICF?\r\n
- Ответ: +ICF: 3, 0\r\nOK\r\n
- Из ответа видно, что первый параметр равен 3, а второй 0. Согласно таблице основных AT-команд, это значит, что передача ведётся по 8 бит данных, используется 1 стоп бит и проверка нечётности.
- Установить новые параметры передачи данных по шине UART:
- Запрос: AT+ICF=2,3\r\n
- Ответ: OK\r\n
- Из ответа OK, следует, что новые параметры передачи данных успешно установлены (8 бит данных, 1 стоп бит, без проверки).
Используемые сокращения:
- GSM (Global System for Mobile communications) – глобальная система мобильной связи. Это стандарт цифровой мобильной сотовой связи, с разделением каналов по времени (TDMA) и частоте (FDMA).
- TDMA (Time Division Multiple Access) – множественный доступ с разделением по времени. Это способ, когда в одном частотном диапазоне находятся несколько абонентов, разные абоненты используют разные временные интервалы (слоты) для передачи данных.
- FDMA (Frequency Division Multiple Access) – множественный доступ с разделением каналов по частоте. Это способ, когда в одном частотном диапазоне находится только один абонент, разные абоненты используют разные частоты в пределах соты.
- DTE (Data Terminal Equipment) – терминальное оборудование данных. Это оконечное устройство приёма/передачи данных (в данном случае компьютер или Arduino).
- DCE (Data Communication Equipment) – оборудование коммуникации данных. Это устройство осуществляющее связь, но не являющееся источником или конечным получателем данных (в данном случае это GSM/GPRS SHIELD A6).
- 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) – служба коротких сообщений. Это технология, приёма / передачи коротких текстовых сообщений с помощью сотового телефона.
- STK (SIM Tool Kit) – набор инструментов для SIM-карты. Это стандарт позволяющий приложениям SIM-карты получать доступ к функциям телефона. Часто STK используется для реализации сервиса SIM-меню.
- PDU (Packet Data Unit) – блок пакетной передачи данных. Это формат записи SMS сообщений.
Примеры:
С примерами использования AT-команд можно ознакомиться на странице Wiki – примеры использования AT-команд.
Описание AT-команд переведено с первоисточника AT A6 V1.01.
Скачать файл MODUL GSM A6 (русский)