Модем не отвечает на AT в терминале — чаще всего причина в том, что выбран не тот COM-порт или порт уже занят другой программой. Прежде чем отправлять команды, нужно убедиться, что устройство определилось системой и порт свободен.
В этой статье разберём, как сделать AT-запрос к USB-модему, роутеру с модемом или GSM-модулю: от подключения и выбора терминала до базовых команд и диагностики типичных проблем. Материал подходит для Windows и Linux, а также для работы с модулями вроде SIM800 или Quectel через UART-адаптер.
Что такое AT-команды и когда они нужны
AT-команды — это текстовый протокол управления модемом, унаследованный от Hayes-модемов. Каждая команда начинается с префикса AT (от англ. attention — «внимание»), а модем отвечает строкой результата: OK, ERROR или данными.
На практике AT-запросы нужны, когда требуется проверить уровень сигнала, узнать IMEI, сменить режим работы модема, отправить SMS из скрипта или диагностировать зависший модуль. Штатный софт оператора таких возможностей обычно не даёт.
- 🔍 Диагностика: проверка регистрации в сети и уровня сигнала.
- ⚙️ Настройка: переключение режимов модема, управление составом портов.
- 📨 Автоматизация: отправка и приём SMS из скриптов и программ.
- 🛠️ Сервис: чтение информации об устройстве, сброс зависшего модуля.
Подготовка: определяем порт модема
Первое действие — найти, на каком порту «сидит» модем. В Windows откройте Диспетчер устройств и посмотрите раздел «Порты (COM и LPT)» и «Модемы». USB-модемы часто создают сразу несколько виртуальных COM-портов: один для AT-команд, другой для передачи данных.
В Linux после подключения модема выполните в терминале:
ls /dev/ttyUSB* /dev/ttyACM*Обычно появляется несколько устройств ttyUSB0, ttyUSB1 и так далее. Какое из них принимает AT-команды — зависит от модели; проще всего проверить каждый по очереди, отправив AT и дождавшись ответа OK.
⚠️ Внимание: если порт открыт другой программой (фирменная утилита модема, менеджер подключений), терминал либо не сможет его открыть, либо команды будут «молчать». Перед работой закройте весь софт, который использует модем.💡
Перед подключением к COM-порту завершите процессы фирменной программы модема через диспетчер задач — иначе порт останется занятым даже после закрытия окна приложения.