Обмен данными с модемом
Выбрав в качестве канала передачи данных сети GSM целесообразно использовать специальные АТ-команды, которыми обмениваются приложения и модемы для обработки событий и услуг GSM. АТ-команды Команды всегда начинаются с АТ (от английского Attention – внимание) и заканчиваются на <CR>.
Информационные ответы и результирующие коды Ответы начинаются и заканчиваются командами <CR><LF> (кроме формата ответа ATV0 DCE) и ATQ1 (подавление результирующего кода). • Если синтаксис команды неверен, то выдается «ERROR». • Если синтаксис команды верен, но при этом был передан с неверными параметрами, то выдается строка +CME ERROR: <Err> или +CMS ERROR: <SmsErr> с соответствующими кодами ошибок, если до этого CMEE было присвоено значение 1. По умолчанию, значение CMEE составляет 0, и сообщение об ошибке выглядит только как «ERROR». • Если последовательность команд была выполнена успешно, то выдается «ОК». В некоторых случаях, например, при AT+CPIN? или добровольных незапрашиваемых сообщениях, модем не выдает ОК в качестве ответа. В следующих примерах <CR> и <CR><LF> намеренно опущены. Операции с SIM-картой Отдельные программные функции отвечают за считывание с контрольного контакта наличия/отсутствия SIM карты. Состояние этого контакта (замкнут/разомкнут) постоянно отслеживается. Если SIM контакт показывает наличие карты в SIM-разъеме, то модем пытается запустить логический SIM-сеанс. Будет ли логический SIM-сеанс запущен или нет, зависит от того, является ли обнаруженная карта SIM-картой или нет. Команда AT+CPIN? выдает следующие ответы: • Если контрольный контакт указывает на отсутствие, то ответом на AT+CPIN? станет «+CME ERROR 10» (нет SIM-карты). • Если контрольный контакт указывает на наличие и вставленная карта является SIM-картой, то ответом на AT+CPIN? станет «+CPIN: xxx», в зависимости от состояния SIM PIN. • Если контрольный контакт указывает на наличие и вставленная карта не является SIM-картой, то ответом на AT+CPIN? станет «+CME ERROR 10». • Два последних ответа не могут быть возвращены немедленно в течение процесса инициализации. В то время как контрольный контакт SIM проверяет текущее состояние AT+CPIN? возвращает «+CME ERROR: 515» (Подождите, идет процесс инициализации). Если контрольный контакт SIM указывает на отсутствие карты и если SIM-карта была вставлена заранее, то выполняется процедура отсоединения IMSI, все пользовательские данные (записные книжки, SMS и т.д.) удаляются. Затем модем переходит в аварийный режим работы.
Базовая инициализация После ввода PIN (персональный идентификационный номер) некоторые данные с SIM-карты (записные книжки, состояние SIM и т.д.) загружаются в модем. Необходимо иметь в виду, что считывание большой записной книжки может занять некоторое время. Ответ на команду AT+CPIN? приходит после проверки PIN. После этого ответа начинается загрузка пользовательских данных. Это значит, что не все данные будут доступны сразу после того, как ввод PIN будет подтвержден. Чтение записных книжек будет отклонено строкой «+CME ERROR: 515» или «+CMS ERROR: 515», что означает: «Подождите, сервис недоступен в данный момент, идет процесс инициализации».
Данный ответ может быть получен в следующих случаях: · При попытке выполнения следующей АТ-команды до завершения выполнения предыдущей (до получения ответа) · При переключении с ADN на FDN (или с FDN на ADN) и попытке считать соответствующие записные книжки сразу же · При попытке узнать состояние +CPIN? сразу же после вставки SIM, еще до того, как модем определил, является ли вставленная карта подходящей SIM-картой Запрос на идентификацию модели: +CGMM Данная команда используется для получения поддерживаемых полос частот. При работе с многодиапазонными модемами ответ может являться комбинацией различных диапазонов частот.
Таблица 2 – Синтаксис команды: AT+CGMM
3.3 Выбор набора символов терминального оборудования: +CSCS Данная команда сообщает мобильному оборудованию, какой набор символов используется терминальным оборудованием. Мобильное оборудование может преобразовывать каждый символ введенных или отображаемых строк. Эта функция используется для отправки, чтения или написания коротких сообщений. См. также +WPCS о наборах символов записных книжек.
Таблица 3 – Синтаксис команды: AT+CSCS=<набор символов>
Задаваемые значения: <набор символов> GSM – алфавит GSM по умолчанию PCCP437 – кодовый набора символов PC страница 437 CUSTOM – пользовательский набор символов (для сравнения: команда +WCCS HEX – шестнадцатеричный режим. Набор символов не используется; пользователь может считывать или записывать шестнадцатеричные значения
Повтор предыдущей команды: А/ Данная команда вызывает повтор предыдущей команды. Невозможно повторить только саму команду А/. Таблица 4 – Синтаксис команды: А/
Установка набора функциональных возможностей: +CFUN Данная команда устанавливает уровень функционирования мобильной станции. Если приложение собирается отключить питание устройства или выполнить процедуру отсоединения IMSI DETACH, то необходимо предварительно подать команду AT+CFUN=0 (эквивалентно AT+CPOF). Данная команда выполняет IMSI DETACH и производит резервное копирование некоторых внутренних параметров в SIM и EEPROM. После этого обращение к SIM-карте становится невозможным.
Если выключение питания мобильного устройства не произошло после отсылки данной команды, то необходимо запустить команду AT+CFUN=1, чтобы перезапустить весь процесс GSM регистрации. Если выключение питания мобильного устройства произошло, при следующем включении GSM стек автоматически запустится снова. Команда AT+CFUN=1 перезапускает весь GSM стек: происходит полный программный сброс. Все параметры сбрасываются до своих предыдущих значений, если не использовалось AT&W. Если внести записи в записную книжку (+CPBW), а затем произвести программный сброс (AT+CFUN=1, если до этого не выполнялась команда AT+CFUN=0), то некоторые записи могут не сохраниться (слишком мало времени для внесения записей в SIM-карту). В дополнение к этому, возвращается ответ в виде ОК и используется скорость передачи данных, определенная командой +IPR. В режиме автоматической установки скорости (autobauding) ответ может быть передан на другой скорости, тем не менее, предпочтительно сохранять скорость передачи данных командой AT&W до отсылки команды AT+CFUN=1.
Таблица 5 – Синтаксис команды: AT+CFUN
3.4 Статус активности мобильного устройства +CPAS Данная команда показывает статус активности мобильного оборудования.
Таблица 6 – Синтаксис команды: AT+CPAS
Уровень сигнала: +CSQ Данная команда используется для подтверждения уровня полученного сигнала (<rssi>) и частоты появления ошибочных битов на канале (<ber>) при наличии или отсутствии SIM карты.Руководство по AT-командам 62 Библиотека Компэла
Таблица 7 – Синтаксис команды: АТ+CSQ
Задаваемые значения: <rssi>: 0:-113 dBm или меньше 1:-111 dBm 2 до 30: -109 до 53 dBm 31: 51 dBm или больше 99: не известно или нельзя определить <ber>: 0…7:как значения RXQUAL в таблице GSM 05.08 99:не известно или нельзя определить
|