Знакомство с A9G

Reading time: 4 minutes.

Last modified: 08 June 2021

IoT устройства в основном используют микроконтроллеры AVP, ESP и STM32. Для подключения GSM или GPRS приходится напаивать отдельные подмодули, что сильно загромождает финальное устройство.

Но не все знают, что существует такой модуль как A9G. Он имеет компактный SMD корпус, сочетающий в себе GSM и GPS модули. Остается только подключить антенны и питание.

A9G управляется с помощью AT-команд другого микроконтроллера или через собственную SDK прошивку. Модуль разработан компанией Ai-Thinker которая также является производителем микроконтроллеров семейства ESP.

В этом руководстве постараюсь кратко объяснить первые шаги для работы с A9G. Покажу установку ПО и приложу список AT-команд управления.

Illustration

Так выглядит сам модуль и две антенны: GPS и GSM. С обратной стороны расположен SIM лоток.

Первый запуск

Для начала потребуется:

  • A9G модуль.
  • GSM антенна.
  • GPS антенна.
  • SIM-карта.
  • TTL-конвертер.
  • ПК под Windows или Linux.

Скачиваем программу для управления модулем:
Скачать

Соединяем модуль с ПК через TTL конвертер (TTL на базе микросхемы CH340G)

TTL -> A9G
RX -> TX
TX -> RX
5V -> VUSB
GND -> GND

Убедитесь в том, что подключаете все верно. На модуле помимо разъемов RX и TX есть разъемы HST_RX и HST_TX. Они предназначены для загрузки прошивки и дальнейшего дебага.

1
AiThinker Serial Tool V1.2.3.

Запускаем программу и открываем Serial port. Жмём на самом модуле кнопку RESET и дожидаемся загрузки.

После инициализации можно тестировать модуль. Интерфейс программы интуитивно понятен, но я всё же расписал, что и где расположено.

2
  • В красной рамке приходит результат выполнения команд.
  • В зеленой - окно ввода команд.
  • В желтом - сохраняется история.
  • В голубом - набор команд быстрого доступа.

Модуль работает “из коробки”. Имеется возможность без перепрошивки принимать AT-команды и обрабатывать их. Для первого теста не забудьте подключить GSM и\или GPS антенны.

Список команд прикреплены ниже, как для GSM, так и для GPS модулей.

GSM команды

A9G можно использовать для приема звонка, вызова и отправки SMS. AT-команды:

Команды вызова:

  • ATA: ответ на входящий вызов. При успешном выполнении получаем - «+ CIEV:« CALL », 1 CONNECT», что значит связь установлена.
  • ATD: используется для набора номера. Команда в виде «AT + номер телефона», и при отправке мы получаем - «ATD + набранный номер OK + CIEV:« CALL », 1 + CIEV: SOUNDER, 1 ».
  • ATH: отменяет вызов номера. Отправляется как «ATH», после мы получаем сообщение «+ CIEV:« CALL », 0 OK».
  • AT+SNFS=0: выводит звук на наушники, подключенных к модулю.
  • AT+SNFS=1: выводит звук на динамики.
  • AT+CHUP: команда заставляет мобильный терминал завершить текущий вызов.

SMS команды:

  • AT+CMGF=1: Разрешает отправку\принятие СМС. При отправке команды получаем «ОК». SMS-сообщения читаются в виде строк, а не шестнадцатеричных символов.
  • AT+CMGS: используется для отправки SMS на заданный номер мобильного телефона. Формат для отправки этой команды - «AT+CMGS = номер_телефона. После отправки появится “>___________”. После чего можно ввести и отправить любое сообщение. Через несколько секунд модуль ответит идентификатором, указывающим, что сообщение было отправлено правильно: «+ CMGS: 62».
  • AT+CMGL: используется для чтения SMS-сообщений из хранилища.

GPS \ GPRS команды

GPS и GPRS AT-команды:

  • AT + GPS = 1: команда используется для включения GPS. При отправке включается модуль GPS и светодиод на нем начинает мигать.
  • AT + GPS = 0: выключает GPS. После отправки GPS выключается и светодиод перестает мигать.
  • AT + GPSRD = 1: используется для начала чтения данных GPS и отображения их на мониторе. Данные, возвращаемые этой командой, находятся в формате NMEA, который необходимо преобразовать, чтобы получить доступную для чтения форму.
  • AT + GPSRD = 0: останавливает чтение данных GPS.
  • AT + LOCATION = 1: используется для получения данных о местоположении через сервер LBS. Данные о местоположении отображаются в виде широты и долготы.
  • AT + CGPSPWR: эта команда используется для управления питанием GPS. Используется для включения или выключения питания GPS.
  • AT + CREG?: Эта команда используется для проверки, зарегистрированы ли мы в сети или нет. Если вернулось значение 1,1 - значит мы зарегистрированы в местной сети, если 1,5 - в роуминге.
  • AT + CGATT: эта команда похожа на команду CREG. Если его ответ - 1, значит, мы подключены к сети.
  • AT + CIPSTATUS: используется для проверки, подключен ли IP-адрес или нет. Если пришел ответ «INITIAL», то мы подключены.
  • AT + CGDCONT = 1: Эта команда используется для подключения к Интернету. Необходимо указать APN и IP в формате “AT + CGDCONT = 1, «IP», «www»”.
  • AT + HTTPGET: эта команда используется для отправки HTTP-запроса для получения любой ссылки на сервер. Его формат: AT + HTTPGET = “ссылка”.
  • AT + CIPMODE: используется для выбора режима приложения TCP/IP. «0» означает непрозрачный режим, а «1» - прозрачный режим.
  • AT + CIPACK: команда проверяет состояние передачи данных. Он вернет объем отправленных данных, объем данных подтвержденных сервером, и объем данных, не подтвержденных сервером.