Для чего нужны AT-команды?
AT-команды предназначены для управления модемами. По сути, это строки символов, которые начинаются с букв АТ, а завершаются знаками возврата каретки. Однако в строке инициализации закрывающиеся элементы формируются автоматически. Символы AT-команды могут быть как прописными, так и строчными. Между отдельными командами могут ставиться пробелы.
Дополнительные возможности
Кроме выполнения основных действий, связанных с переключением режимов модема, AT-команды могут управлять S-регистрами устройства связи. В них содержится разнообразная служебная информация, которая необходима для обеспечения работоспособности модема. Например, в S-регистре могут храниться константы, определяющие время ожидания, типы применяемых протоколов, аналоговые сигналы, уровни входного и выходного сигналов и так далее. Количество регистров определяет разработчик модема, иногда их общее количество составляет несколько сотен. Однако принято, что первые 13 таких узлов сохраняют назначение, определенное фирмой-изготовителем. Несмотря на то что содержимое S-регистров каждый пользователь может модифицировать и считывать по собственному усмотрению, не следует забывать, что между данными в различных узлах системы имеется весьма сложная взаимосвязь. Так что произвольное изменение каких-либо регистров может привести к тому, что в дальнейшем будет невозможно использовать стандартные программы для работы в сети Интернет.
Основные AT-команды, которые наиболее часто применяются в модемах
1. L0-L3 – означает громкость динамика. Цифры соответствуют минимальному, низкому, среднему и максимальному уровню.
2. In – означает запрос данных из постоянного запоминающего устройства модема, где n соответствует номеру первой команды.
3. М0-М3 – состояние динамика, где:
- 0 - выключенное устройство;
- 1 - динамик включен от «снятия трубки» и до момента, когда установится соединение;
- 2 - устройство всегда выключено;
- 3 – динамик включается только после нажатия последней цифры в номере, а выключается после установления сеанса связи.
4. Р и Т – соответствует использованию импульсного (PULSE) и тонального (TONE) набора.
5. S – работа с регистрами модема. SO? соответствует запросу содержимого узла SO. SO=1 означает присвоение данному регистру состояния единицы.
6. Z – подразумевает, что содержимое всех узлов устанавливается на начальный уровень.
7. &F – соответствует восстановлению информации в S-регистрах модема из постоянного запоминающего устройства. Эти данные записываются производителем модема, они не могут изменяться пользователем.
8. &W – означает запись содержимого всех регистров в специальную энергонезависимую память с целью сохранения настроек пользователя.
AT-команды GSM-модемов
Согласно стандартам GSM 07.07, строка команды управления для определения «контекста» обязана иметь следующий вид: +CGDCONT=[[,<PDP_type>[,[,<PDP_addr>[,<d_comp>[,<h_comp>[,[,…[,pdN]]]]]]]]]. Давайте рассмотрим, что означает такая запись (команда AT):
1. cid – это идентификатор контекста. Всегда целое число со знаком "+". Максимальное значение его определяется моделью устройства.
2. PDP_type - означает тип протокола.
3. APN - наименование точки доступа, задается оператором сотовой связи.
4. d_comp – означает сжатие данных PDP, где 0 – выключено, 1 – включено.
5. h_comp - соответствует сжатию заголовка PDP, где 0 – выключено, 1 – включено.
6. pd1 …pdN - подразумевает строковые параметры, специфичные для данного типа протокола.