Андрей Смирнов
Время чтения: ~9 мин.
Просмотров: 127

GSM GPRS модуль SIM800L. AT команды

ДомойДля начинающих

IMG_20170705_110804-1024x576.jpg

В предыдущей статье мы говорили о модуле SIM800l. В этой статье я хотел бы рассказать об управлении этим модулем. Как было сказано ранее — модуль управляется через UART интерфейс посредством AT команд. Конечно, все AT команды я перечислять не буду — для этого существует даташит, в котором все они подробно расписаны. Даташит вы можете скачать в конце статьи. Остановимся на самых распространенных и необходимых AT командах управления модулем SIM800l. Но прежде, я вкратце расскажу о том как подключить модуль. Итак, с питанием понятно — напряжение 4В и ток не менее 2А. Также понадобится переходник USB-UART, например такой. Подключаем переходник в свободный USB порт компьютера устанавливаем драйвера, далее подключаем RX вывод переходника к TX выводу модуля, а TX вывод модуля к RX выводу переходника. Вот и все. Запускаем любую терминальную программу (Hyper Terminal или PuTTy), и вносим настройки. Собственно по настройкам:

  1. Номер COM порта (смотрим в диспетчере устройств),
  2. Скорость соединения — 9600 (Хотя изначально модуль настроен на автоопределение).
  3. Четность — (8-N-1 4)
  4. Управление потоком — нет.

После подключения шлем модулю первую команду — AT и жмем Ентер. Если все правильно модуль должен ответить — OK. Теперь несколько команд для принудительной настройки UART порта модуля:

AT+IPR=115200 — эта команда настраивает скорость порта на 115200. Можно поставить любое значение: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200. Если поставить 0, то это означает автоопределение скорости (настройка по умолчанию). На команду модуль отвечает OK, или ERROR — если что-то не так. Чтобы узнать текущую установленную скорость даем команду AT+IPR?

AT+ICF=3,3 — эта команда служит для установки четности порта модуля. Имеет два параметра. Первый — отвечает за кол-во бит в посылке/четность/стопбит. Вот все варианты: 1 – 8/0/2, 2 – 8/1/1, 3 – 8/0/1, 4 – 7/0/2, 5 – 7/1/1, 6 – 7/0/1. Второй параметр — четность. Варианты: 0 – нечётный, 1 – чётный, 3 – нет. Т.е. команда AT+ICF=3,3 означает 8/0/1 (8 бит посылка, четность нет, стоп бит — 1). Для проверки текущей четности вводим AT+ICF?.

AT+IFC=0,0 — эта команда для установки контроля передачи данных. Первый параметр – терминалом от модуля, второй параметр – модулем от терминала. Возможные варианты: 0 – нет контроля, 1 – программный, 2 – аппаратный. По умолчанию контроль выключен.

Далее команды о состоянии модуля. Думаю принцип понятен и их я приведу уже в виде таблиц для удобства.

Команда Ответ Описание
AT+GCAP Возможности модуля
AT+GMM Идентификатор модуля
AT+GMR Ревизия
AT+GSN IMEI
AT+COPS? Информация об операторе
AT+COPS=? Доступные операторы
AT+CPAS Информация о состояние модуля 0 – готов к работе 2 – неизвестно 3 – входящий звонок 4 – голосовое соединение
AT+CREG? Тип регистрации сетиПервый параметр: 0 – нет кода регистрации сети 1 – есть код регистрации сети 2 – есть код регистрации сети + доп параметрыВторой параметр: 0 – не зарегистрирован, поиска сети нет 1 – зарегистрирован, домашняя сеть 2 – не зарегистрирован, идёт поиск новой сети 3 – регистрация отклонена 4 – неизвестно 5 – роуминг
AT+CSQ Уровень сигнала: 0 -115 дБл и меньше 1 -112 дБл 2-30 -110..-54 дБл 31 -52 дБл и сильнее 99 – нет сигнала.
AT+CCLK? Текущая дата и время телефона.
AT+CBC Монитор напряжения питания модуляПервый параметр: 0 – не заряжается 1 – заряжается 2 – зарядка оконченаВторой параметр: 1-100 % — уровень заряда батареиТретий параметр: Напряжение питание модуля (VBAT), мВ
AT+CADC? Значение АЦП (до 2,8В)

Команды настроек вызовов

Команда Ответ Описание
AT+CLIP=1 OK АОН 1 – вкл / 0 – выкл
AT+GSMBUSY=0 OK Запрет входящих звонков 0 – разрешены 1 – запрещены
ATS0=0 OK Автоответ 0 – ручной 1-более – автомотический после заданного количества звонков

Команды настроек СМС

Команда Ответ Описание
AT+CMGF=1 OK Текстовый режим 1 – включить 0 – выключить см. примечание
AT+CSCS= «GSM» OK Кодировка текстового режима Доступны следующие кодировки: IRA, GSM, UCS2, HEX, PCCP, PCDN, 8859-1 см. примечание
AT+CSCB=0 OK Приём специальных сообщений 0 – разрешен (по умолчанию) 1 – запрещен

Прочие команды настроек модуля

Команда Ответ Описание
ATE0 OK ЭХО 1 – вкл (по умолчанию) / 0 – выкл
ATV1 OK Формат ответа модуля 0 – только ответ 1 – полный ответ с ЭХО (по умолчанию)
AT+CMEE=0 OK Информация об ошибках 0 – отключён (по умолчанию) 1 – код ошибки 2 – описание ошибки
AT+CCLK=»13/09/25,13:25:33+05″ OK Установка часов «yy/mm/dd,hh:mm:ss+zz» Где: год/месяц/дата, часы:минуты:секунды +часовой пояс
AT+CPIN=XXXX Ввод PIN кода
ATZ0 Сброс настроек до значений по умолчанию (не до заводских) 0 или 1 – выбор профиля
AT&F Сброс настроек до заводских
AT&W OK Сохранение настроек для текущего профиляПараметр 0 или 1 — выбор профиля Параметр указывать сразу за командой (AT&W0)
AT+CPOWD=1 NORMAL POWER DOWN Выключение модуля 0 – срочное 1 – нормальное
AT+CFUN=1,1 Энергосберегающий режим и перезагрузкаПервый параметр: 0 – минимальный функционал 1 – нормальный режим (по умолчанию) 2 – выключения цепей приёма и передачи сигналаВторой параметр: 0 – выполнить без перезагрузки 1 – перезагрузить (доступно только в нормальном режиме, т.е. параметры = 1,1)

Команды для осуществления телефонных звонков

Команда Ответ Описание
ATD+380XXXXXXXX; OK Позвонить на номер +380XXXXXXXX;
ATDL OK Позвонить по последнему исходящему номеру
ATA OK Ответить на звонок
ATH0 OK Повесить трубку/ разорвать соединение
RING Входящий звонок
AT+CLIP=1 OK см. настройки
RING

+CLIP: «+380XXXXXXXX»,145,»»,,»»,0

Входящий звонок с включенным АОН Где:Первый параметр – номер телефона входящего звонка 2 – тип входящего номера 129 – не определен 161 – национальный 145 – интернациональный 177 – сетевой, специальный

Команды для отправки СМС сообщений

Команда Ответ Описание
AT+CMGS=

«+380XXXXXXXX» >Test sms.elschemo.ru

Отправка СМС. Указываем номер получателя в кавычках и отправляем модулю с символом переноса строки (13 в ASCII). После приглашения «>» вводим текст сообщения. Для отправки в конце сообщения отправляем символ SUB (26 в ASCII) или ESC (27) для отмены.
+CMTI: «SM»,4 Уведомление о приходе СМС.Второй параметр номер пришедшего СМС.
AT+CMGL=»REC UNREAD» Чтение групп СМС. Всего 5 групп: REC UNREAD – входящие непрочитанные REC READ – входящие прочитанные STO UNSENT – Пользовательские непрочитанные STO SENT – пользовательские прочитанные ALL – прочитать все сообщения
AT+CMGR=2 Чтение SMS сообщений. Запрос:Первый параметр – номер сообщения.Второй параметр (необязателен): 0 – обычный режим (по умолчанию) 1 – не изменять статус сообщения Ответ:Первый параметр – группа сообщений, см предыдущий пункт.Второй параметр – номер отправителя 3 – дата отправки Далее следует текс сообщения.
AT+CMGDA=»DEL SENT» OK Удаление групп СМС: DEL READ — прочитанные DEL UNREAD — не прочитанные DEL SENT — отправленные DEL UNSENT — не отправленные DEL INBOX — полученные DEL ALL — всех сообщения
AT+CMGD=4 OK Удаление СМС.Первый параметр – номер сообщенияВторой параметр: 0 – удаление указанного сообщения (по умолчанию) 1 – удаление прочитанных сообщений 2 – удаление прочитанных и отправленных сообщений 3 – удаление прочитанных, отправленных и не отправленных сообщений 4 – удаление всех сообщений
AT+CSCA? Возвращает номер сервис центра отправки сообщений.

Тоновый набор (DTMF)

Тоновые сигналы: 0-9,#,*,A-D

Команда Ответ Описание
AT+VTD=3 OK Длительность тоновых сигналов для AT+VTD. Значение параметра 1..255
AT+VTS=»1,4,#,A,6,7,0″ OK Отправить последовательность тоновых сигналов (до 20). Длительность задается командой AT+VTS.
AT+CLDTMF=7, «1,4,#,A,6,7,0» OK Проиграть на модуле (через аудио выход) тоновые сигналы.Первый параметр — длительность 1-100Второй параметр – строка тоновых сигналов, до 20.

USSD

Команды приведены для текстового режима и в GSM кодировке.

Команда Ответ Описание
AT+CUSD=1,»#100#» USSD запросПервый параметр – режим обработки операции: 0 – выполнить запрос, ответ проигнорировать 1 – выполнить запрос, вернуть ответ 2 – отменить запросВторой параметр – запрос в кавычках.
ATD#100#; Упрощенный USSD запрос (работает только при GSM кодировке)

GPRS Настройка и установка GPRS соединения:AT+SAPBR=1,1 — установка GPRS связиAT+SAPBR=2,1 — полученный IP адрес+SAPBR: 1,1,«10.229.9.115»AT+SAPBR=4,1 — текущие настройки соединенияAT+SAPBR=0,1 — разорвать GPRS соединение

2018-10-21_23-26-15.png

SIM800C — это компактный gsm/gprs модуль. Помимо основных частот, этот модуль так же поддерживает Bluetooth 3.0 на уровне чипсета. Что самое интересное, это то что данный модуль может так же воспроизводить аудио, так же поддерживает протоколы POP3, SMTP, MMS, FTP, HTTP, SSL и др.

Несмотря на все плюсы, есть у данного агрегата и минусы, расскажу про них поподробнее.

Первый минус заключается в его потреблении. К сожалению данный агрегат у вас не получиться запитать от ардуино, т.к. для его питания вам потребуется 5v и 2А( в пиковой мощности). Пять то вольт ардуино вам выдаст, а вот 2 ампера врятли, быстрее все пожжете.

Второй минус, это избирательность по операторам. Из 3х операторов(МТС, МЕГАФОН, ЙОТА)модуль смог стабильно работать только с МТС. Почему? Понятия не имею, но с предыдущими 2мя он то терял сеть, то не мог авторизироваться в сети, то и вовсе был постоноянно занят.

А теперь давайте поговорим о его подключении. Вот схема подключения с которой у меня модуль завелся. При не соблюдении всего подключения, я не гарантирую вам 100% работу модуля.

Схема-1024x800.jpg

Немного распишем выходы модуля:

5 В: Разъем питания, единственный вход DC5V, используемый для питания платы.V_ttl: Пин управления преобразователем логики TTL(5В или 3.3В)GND: Земля т.е минус питания.TXD: Пин последовательного порта, уровеня TTL.RXD: Пин последовательного порта, уровеня TTL.Spkp: Пин аудио выходаSpkn: Пин аудио выходаMICN: Пин аудио входаMicp: Пин аудио входаPWX: Пин для включения и отключения модуля(можно присобачить кнопку)VBAT: Пин подключения питания от Батареи (3.3В-4.4В)

Программную часть мы с вами разберем во второй части нашей с вами статьи.

В этом уроке вы узнаете как настроить модуль SIM800L GSM/GPRS используя AT Команды и микроконтроллер Ардуино.

Комплектующие

  • Sim800L
  • Arduino Uno
  • Преобразователь постоянного тока LM2596

Sim800L — самое доступное (и довольно дешевое) решение для вашего проекта, управляемого GSM / GPRS. Вы можете совершать телефонные звонки, получать и отправлять текстовые сообщения, получать информацию о местоположении. Вы можете делать все, что вы обычно делаете со своим мобильным телефоном.

Прежде чем интегрировать этот модуль в свой проект, вы должны проверить, работает ли модуль. Он работает с AT-командами, и эти команды могут показаться запутанными. Поэтому я рекомендую вам использовать программное обеспечение. Я использовал AT Command Tester Tool, который можно бесплатно использовать в течение 7 дней. Я покажу, как использовать это программное обеспечение для настройки модуля SIM800L. Когда вы будете настраивать программное обеспечение, вам понадобится установить дополнение JAVA (англ. — add on) и открыть файл jar с помощью JAVA.

Подключение модуля к Arduino

Вы должны подавать на модуль SIM800 точно 4,2 В. Я использовал понижающий модуль LM2596. Настраиваем выходное напряжение до 4,2 В от потенциометра. Не забудьте соединить Arduino GND с выходом LM2596 (-). Сначала подключите ваш модуль Sim800L к Arduino;

  • NET -> Нет соединения
  • VCC -> LM2596 Out (+)
  • RST -> Arduino D9
  • RXD -> Arduino D7
  • TXD -> Arduino D8
  • GND -> LM2596 Out (-)

Код урока

Откройте пустой эскиз Arduino и загрузите код ниже:

#include     SoftwareSerial mySerial(8,7);  // Change These Pins if you make different wiring  void setup()  {    Serial.begin(19200);    //Serial.println(“Begin”);    mySerial.begin(19200);    }    void loop()  {    if (mySerial.available())      Serial.write(mySerial.read());    if (Serial.available())      mySerial.write(Serial.read());  }  

Откройте AT Command Tester Tool. Нажмите «Найти порты» и выберите правильный порт. Выберите «BaudRate» как 19200. Выбрав порт устройства и правильную скорость передачи (скорость последовательного порта), нажмите «Connect» (перевод — «соединиться») на AT Command Tester. Инструмент отправит запрос на устройство и подключится.

Регистрация устройства в сети необходима перед установлением соединения для передачи данных. В разделе «Выбор сети» устройство можно настроить для ручной или автоматической регистрации.

На вкладке «Голосовой вызов» вы можете проверить исходящие и входящие голосовые вызовы. Инструмент предоставляет простой в использовании интерфейс для набора исходящих номеров и приема входящих звонков.

Используемые источники:

  • https://elschemo.ru/dlya-nachinayushhix/gsm-gprs-modul-sim800l-at-komandy/
  • https://devetime.ru/sim800c-%d0%b4%d0%bb%d1%8f-arduino-gsm-%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d1%8c/
  • https://arduinoplus.ru/sim800l-arduino-podkluchenie-i-nastroika/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации