Введение в АТ-команды
Технически модем представляет собой своего рода компьютер, содержащий микропроцессор, постоянное запоминающее устройство и тому подобное. Надо заметить, что по "вычислительной мощности" современные модемы сравнимы с компьютерами десятилетней давности, например, в модемах zyxel используется микропроцессор motorola 68000, тот самый, который служил "сердцем" первых компьютеров apple macintosh, amiga и даже рабочих станций фирмы sun microsystems первого поколения. Сегодняшние технические новинки также нашли свое место в модемах: так, например, приобретающие все большую популярность модемы usrobotics courier (да и не только они) содержат ПЗУ на основе флэш-памяти, что позволяет "на лету" модернизировать управляющие микропрограммы. Но все-таки для пользователя важно не то, какие микросхемы установлены в модеме, а то, как он работает: скорость и надежность обмена данными, а также совместимость с модемами других производителей. Чтобы узнать эти параметры, как правило, не нужно разбирать устройство - достаточно взглянуть на поддерживаемые им стандарты.
К стандартам высокого уровня относятся так называемые hayes-команды, или АТ-команды. Они позволяют управлять модемом практически напрямую: изменить значение регистров, набрать телефонный номер и многое другое. Так, например, команда atdp123-45-67 означает, что модем должен позвонить по телефонному номеру 123-45-67, используя стандартную для российских АТС импульсную систему набора, а команда АТН указывает на необходимость разорвать связь. Нетрудно заметить, что эти команды начинаются с префикса at, верного практически для всего указанного набора, что и дало одно из названий стандарту.
Впервые такая система команд появилась в модеме smartmodem, выпущенном фирмой hayes (причина появления другого названия) и быстро стала действующим стандартом в отрасли. Через некоторое время она была значительно расширена, однако базовое ядро, выполняющее необходимые функции, сохранилось.
Команды модема
Модем поддерживает стандартный и расширенный наборы hayes-команд. После префикса at (attention code) может следовать одна или несколько команд. Эти команды пишутся на языке промышленного стандарта и позволяют связаться с модемом. Ваш модем всегда находится либо в командном режиме, либо в режиме непосредственного управления (online-режим). Как только вы включаете модем, он переходит в командный режим работы. Это означает, что АТ-команды могут быть посланы в модем только в том случае, когда он находится в командном режиме. Ввод команд в режиме непосредственной работы модема распознается самим модемом как ввод данных. Впрочем, АТ-команды могут быть загружены в модем и в терминальном режиме с помощью соответствующего программного обеспечения.
Любая команда at, введенная в модем автоматически остается в нем до тех пор, пока не будет из него выгружена или модем не будет выключен.
Командная строка для АТ-команд
Все АТ-команды, за исключением двух, должны начинаться с символов. Исключение составляют escape-последовательность +++ и команда повтора /. Префикс командной строки (символы at) не чувствителен к регистру. На одной строке вы можете ввести одну или несколько команд. В последнем случае, все команды могут разделяться пробелами, которые игнорируются модемом через его интерпретатор АТ-команд.
В командную строку вы можете ввести до 39 знаков, включая А и Т, исключая пробелы и возвраты каретки. Если вы введете более, чем 39 знаков, на экране появится сообщение о синтаксической ошибке.
Подтверждение команд at
Большинство АТ-команд, набранных в командной строке модем немедленно подтверждает. Как только вы введете последний символ команды и нажмете возврат каретки, модем ответит на это выводом краткого сообщения: ОК
Основные команды at
Следующие основные команды at доступны только в терминальном режиме работы вашего модема.
at С этого префикса начинаются все (кроме двух) команды at.
d Набрать номер. Вы можете использовать эту команду для того, чтобы набрать номер телефона прямо из командной строки. Формат команды следующий:
atd [string] Параметр string может содержать до 45 символов. Не используйте здесь круглые скобки или дефисы.
+++ esc-последовательность. Это одна из двух команд, которая не используются в префиксе at. После того, как произошло соединение с другим модемом, вам может понадобиться возвратиться в командный режим. Для этого вы должны набрать на клавиатуре три раза подряд символ +. После этого, модем ответит сообщением ОК и вы вновь возвратитесь в командный режим.
А/ Повтор. Эта команда не использует префикс at и вам не нужно нажимать возврат каретки. Ввод этой команды заставляет модем повторить последнюю введенную команду at. Весьма полезная команда для повторного набора телефонного номера.
&fn Исходные установки. Эта команда (п=0 или п=1) возвращает все параметры модема, которые были установлены в него производителем.
Н Повесить трубку. Эта команда посылает в модем сигнал, после которого происходит отключение от линии.
О online-режим работы с модемом. Эта команда возвращает модем в режим непосредственного управления. Обычно используется для того, чтобы возобновить связь после ввода escape-последовательности +++.
zn Перегрузить модем. Эта команда (п=0 или п==1) перегружает модем и возвращает его к установкам, которые хранятся в так называемой флэш-памяти (энергонезависимой памяти) модема.
Модификаторы команд для набора телефонного номера
Модификатора! команд для набора телефонного номера позволяют задать дополнительные параметры, которые заставят модем автоматически выполнять те или иные функции. Модификаторы команд для набора телефонного номера доступны лишь в том случае, если вы уже ввели АТ-команду d, т.е. на экране должна присутствовать строка набора телефонного номера.
Синтаксис:
АТО{модификатор} 1234567 [enter] Основные модификаторы для набора телефонного номера:
Р Ипульсный набор. Этот модификатор вводится после команды d и предшествует телефонному номеру. Пример:
atdp 3243781 [enter]
Тоновый набор. Этот модификатор вводится после команды d и предшествует телефонному номеру. Пример: