Управління модемом

У розділі 3 описано формат AT-команд. Тут також описані можливі повідомлення, що видаються модемом у відповідь на введену команду.

Зазвичай користувачі працюють з модемом за допомогою розвинених телекомунікаційних програм, у цьому випадку немає необхідності керувати модемом за допомогою AT-команд безпосередньо та аналізувати безпосередні відповіді модему. Програма сама посилає команди та обробляє повідомлення модему. Іншими словами, весь інтерфейс низького рівня прихований від користувача, якому зазвичай не важливо, що саме телекомунікаційний пакет надсилає модему і які повідомлення отримує у відповідь, для того, щоб, наприклад, передати файл або покласти лист у скриньку електронної пошти, оскільки Вас, як правило, цікавить кінцевий результат, а не спосіб його досягнення.

Втім, якщо Вам з якихось причин потрібно керувати модемом безпосередньо, то відомості викладені в цьому розділі виявляться дуже доречними.

Введення команд

За допомогою AT-команд Вашому модему можна наказати виконувати велику кількість різноманітних функцій, серед яких – набір номера, відповідь віддаленому модему, дії з передачі факсів та багато інших. Однак модем сприймає AT-команди тоді і тільки тоді, коли він знаходиться в командному режимі.

Щоб ввести команду AT, зробіть таке:

  1. Наберіть AT у латинському регістрі (взагалі, всюди у цьому документі всі символи команд набираються в латинському регістрі). Ці дві літери завжди повинні стояти на початку командного рядка (за винятком випадку A/, описаного нижче). Допустимо використовувати або великі, або малі літери, але не ті й інші одночасно (AT або at, але не At)
  2. Наберіть команду або поспіль кілька команд, які Ви бажаєте виконати. Довжина командного рядка не повинна перевищувати 40символів.
  3. Натисніть . Модем виконає командний рядок та видасть повідомлення про результат.

Як виправити неправильно набрану команду.

Якщо при наборі команди ви виявили помилку, для її виправлення слід клавішею ("забій") стерти невірні символи і набрати залишок командного рядка заново. У такий спосіб можна виправляти будь-які невірно набрані команди, крім самого префікса AT.

Як набирати команди у вигляді, найбільш зручному для сприйняття.

При розборі командного рядка модем ігнорує прогалини та зазначені розділові знаки. Проте, довжина рядка команд разом із цими знаками має перевищувати 40-символьний ліміт.

Введення командних рядків довжиною понад 40 символів

Якщо Ви хочете ввести рядок довжиною більше 40 символів, вам доведеться розбити його на два окремі рядки та вводити кожний окремо. Якщо потрібно ввести дуже довгу команду набору номера D (наприклад, команда для набору номера та видачі тонового пароля може виявитися значно довшою), наберіть спочатку першу частину номера, довжиною до 39 символів (разом із самою командою AT, D та іншими) символами), наприкінці поставте ';' та натисніть . При цьому модем, виконавши команду, повернеться в командний режим і Ви зможете набрати ще одну команду D з частиною номера.

Пропуск параметрів (за замовчуванням)

Деякі команди вимагають завдання числових параметрів, проте під час введення ці параметри можна опустити, тоді модем, виконуючи команду, використовуватиме параметр, прийнятий за промовчанням. Скрізь у цьому документі, де явно не вказано інше, значення параметра за замовчуванням є 0.

Наприклад, Q - "Встановити режим видачі відповідей" має параметр 0 або 1.

Q0 - кажемодему, що має супроводжувати кожну виконувану команду підтверджуючим повідомленням. Q1 - забороняє будь-які підтвердження. При цьому введення Q без параметра (наприклад AT Q ) еквівалентний Q0.

Іншим хорошим прикладом є рядок ініціалізації, що використовується програмою MTEZ з деякими модемами, що часто викликає подив користувачів:

яку можна записати у більш зрозумілому вигляді, як AT S0=0 Q0 (тобто заборонити автоматичну відповідь та дозволити видачу підтверджень).

Повторне виконання командного рядка.

Слід зазначити, що останній введений командний рядок зберігається у пам'яті модему до того часу, поки його замінить наступна команда. Тому є можливість повторити виконання останнього командного рядка. І тому служить спеціальна команда A/. Оскільки при вимкненні живлення або апаратному скиданні вміст буфера командного рядка руйнується, очевидно, що в цьому випадку намагатися повторити останній командний рядок безглуздо.

Увага! Команда A/ набирається без стандартного префікса AT і не завершується кнопкою . Просто наберіть A/ і модем автоматично виконає попередню команду.

Команду A/ можна використовувати неодноразово, доки не буде набрано новий командний рядок, що починається з AT, або не відбудеться скидання модему або вимкнення живлення.

Відомості про команди.

Тепер, коли ви знаєте, що таке команди і як вони задаються, зверніться до наступних розділів для повного опису доступних команд.

  • Команди для виклику віддаленого модему описані у Розділі 4.
  • Команди, які використовуються під час відповіді на дзвінок віддаленого модему, описані в Розділі 5.
  • Команди роботи з протоколами виправлення помилок та стиснення даних описані у Розділі 7.

Повідомлення модему

Коли Ви послав модему якусь команду, модем видає у відповідь повідомлення - зазвичай OK. Ви можете ніколи не побачити цих повідомлень, оскільки деякі телекомунікаційні програми перехоплюють та самостійно обробляють повідомлення, до того як вони можуть бути виведені на дисплей. Однак, якщо Ви збираєтеся безпосередньо керувати модемом, Вам необхідно знати, які повідомлення та в яких випадках видає модем.

У цьому розділі розглядаються всі види повідомлень, що видаються модемом.

Текстові та числові повідомлення

Модем, залежно від налаштувань, може надсилати два типи повідомлень - у вигляді тексту та у вигляді чисел (відповідно, звані текстовими або числовими повідомленнями). Кожному текстовому повідомленню однозначно відповідає числове та навпаки. Як правило, більшість програм і користувачів, які працюють з модемом безпосередньо, використовують зручніші текстові повідомлення, на які модем налаштований за умовчанням. Однак у цьому тексті для стислості іноді будуть вказані лише відповідні числові повідомлення. (Див. табл. 3-1).

Якщо Ваше програмне забезпечення потребує числових відповідей, перевести модем у цей режим можна за допомогою команди V0.

Заборонити отримання будь-яких відповідей взагалі (наприклад, модему, підключеного до принтера) можна командою Q1.

Модем може працювати в одному з п'яти режимів, що задаються командою Xn. Кожен з цих режимів передбачає свій метод набору номера і кожному з них відповідає певний набір повідомлень, які може видавати модем у відповідь на введену команду або у відповідь на ситуацію, наприклад, виявлення сигналу "зайнято" або встановлення з'єднання. Оскільки команда Xn впливає як вид повідомлень модему, а й уМетод набору номера, опис цієї команди та відповідних повідомлень знаходиться в Розділі 4 у розділі "Методи набору номера".

Повідомлення модему під час роботи з протоколами корекції помилок та стиснення даних

Ваш модем підтримує протоколи виправлення помилок та стиснення даних MNP та V.42/V.42bis. Працюючи з цими протоколами модем видає додаткові повідомлення, перелічені Таблиці 3-1. Щоб дозволити видачу розширеного набору повідомлень, слід скористатися командою Wn.

Увага! Команду W, яка дозволяє видачу розширених повідомлень при проходженні фази вибору протоколу корекції-стиснення даних у момент встановлення з'єднання між двома модемами, слід відрізняти від модифікатора W у команді D (набір номера).

За замовчуванням приймається установка W0, яка забороняє видачу розширеного набору відповідей, якщо регістр S95=0 (заводська установка). У режимі W0 всі повідомлення "CONNECT XXXX" відповідають швидкості обміну даними між модемом і терміналом (DTE speed).

Командою W1 дозволяється видача повідомлень "CARRIER" та "PROTOCOL". У цьому режимі "CONNECT XXXX" також вказують швидкість обміну даними з терміналом, останнє справедливо у випадку, якщо регістр S95=0.

Якщо Ви бажаєте, щоб повідомлення "CONNECT XXXX" вказувало фізичну швидкість передачі даних у каналі (DCE speed) замість швидкості обміну з терміналом, введіть W2. Ця команда забороняє видачу розширеного набору відповідей, якщо регістр S95=0.

Модеми, що підтримують протоколи виправлення помилок та стиснення даних MNP та V.42/V.42bis, обробляють також команду \V1. У цьому режимі всі повідомлення "CONNECT" містять суфікс /ARQ, якщо модем встановив з'єднання з використанням протоколу корекції помилок. Цей режим встановлюється за замовчуванням.

Увага! Багато програм можуть працювати некоректно в режимі W1, а деякі - і в режимі W2, тому не рекомендується змінювати заводські установки, якщо ви не впевнені, що ваша програма здатна працювати з розширеними повідомленнями. З іншого боку, комунікаційні програми, що використовують сучасні протоколи передачі файлів (наприклад, Zmodem), можуть працювати нестійко, якщо встановлено режим W0 або відсутні суфікси /ARQ у режимі W2.