Подключение популярных GSM модулей к Ардуино

Оглавление статьи: Подключение популярных GSM модулей к Ардуино
Содержание

Модульность Ардуино позволяет создавать на базе этой платформы проекты различной направленности и функциональности. Существует возможность объединения платы и модулей связи практически любого стандарта и протокола, в частности, для подключения к сотовой сети. GSM модуль для Ардуино обеспечивает возможность соединения с любым удаленным устройством посредством мобильной сети — везде, где есть покрытие таковой.

GSM модуль для Ардуино

Зачем это нужно

Аббревиатура GSM расшифровывается как Global System for Mobile (Communications). Технология эксплуатирует сети связи сотовых операторов, обеспечивая трансляцию голосовой, текстовой и служебной информации между подключенными устройствами.

GSM

Через сеть GSM передаются не только данные, но и СМС-сообщения, и голос. С подключенной к Arduino GSM платой компьютер способен:

  • сообщать о состоянии датчиков периферийного оборудования;
  • передавать информацию о срабатывании тревожной сигнализации;
  • управлять подсоединенной системой, и выполнять любые другие действия по заданному сценарию;
  • осуществлять звонки.

Поскольку GSM обеспечивает и доступ в интернет, устройства с его поддержкой также могут управляться через глобальную сеть, принимать команды, отдавать статусы и так далее.

доступ в интернет

Простейший пример применения Ардуино с GSM — автономная сигнализация. Периферийные датчики фиксируют свое состояние и передают на центральную плату, которая через модуль отправляет данные на смартфон владельца. Такое решение можно считать базой для «умного дома»: если добавить дополнительные подключаемые блоки, датчики и программные оболочки, Arduino превращается в полноценный комплекс Smart Home.

Любой GSM/GPRS блок соединяется с основной платой. Для реализации простых проектов, как правило, используют Arduino Uno, но есть возможность построения и на базе минималистичного Nano, и более богато оснащенного Mega. Соединенный с Arduino GSM модуль обеспечивает все возможности технологии передачи данных по сотовой сети.

Подключение

Модулей связи на рынке представлено достаточно много. Далее мы рассмотрим характеристики наиболее популярных и приведем пример типового проекта.

Популярные GSM-модули связи

Модуль сотовой связи для Arduino представляет собой устройство из платы и размещенных на ней элементов, включая приемопередатчик. Все они скомпонованы в едином корпусе, снабженном выведенными контактами для подсоединения к материнскому контроллеру. Иногда такой компонент называют шилдом.

Плата

SIM900

Контроллер SIM900 от SIMCom Wireless Solution соединяется с Ардуино посредством распространенного протокола взаимодействия UART. К ПК его можно подключить простым USB-UART переходником, который легко собирается даже самостоятельно.

SIM900 выполняет работу в полнодуплексном режиме и дает возможность осуществлять голосовые звонки и обмен сообщениями. Основные характеристики:

  • рабочие частоты четырех стандартов — EGSM900, GSM850, DCS1800, PCS1900;
  • напряжение — от 3.2 до 4.8 вольт;
  • ток в состоянии простоя — 450 мА, пиковый – 2 А;
  • скорость канала GPRS — 14.4 Кбит/с;
  • рабочие температуры с гарантией отсутствия искажений — от −30 до +80 градусов, с таковыми от −40 до +85. В последнем диапазоне заявлены минимальные отклонения без потери работоспособности устройства;
  • масса — 6.5 г;
  • габариты — 24×24×3 мм.

SIM900

Существует несколько модификаций модуля с индексами B, D. TE-C, R и X. Они обладают определенными отличиями. Так, модель D дооснащена подсистемой зарядки аккумулятора, а плата с индексом X содержит улучшенные режимы энергосбережения, продлевающие срок работы батареи без подзарядки. Это позволяет применить радиомодуль в требующих длительной автономности системах охраны, трекинга, промышленной автоматизации.

Вне зависимости от модификации этот GSM модуль Ардуино поставляется в корпусе SMT с выведенными на торец контактами для распайки. Существуют версии и в иных исполнениях.

Контроллер SIM800L

Чип SIM800L «умеет» обмениваться информацией в режиме дуплекса через GSM и технологию GPRS. В устройстве предусмотрен слот под сим-карту, интегрированная антенна и дополнительный выход для внешней. Питание подается как от конвертера тока DC-DC, так и от иных внешних источников. С главным контроллером SIM800L взаимодействует через UART.

Характеристики:

  • четырехдиапазонный радиомодуль;
  • рабочее напряжение питания — от 3.8В до 4.2 В;
  • ток в standby 0.7 мА, в пиковом нагрузке — 500 мА;
  • слот под SIM карту;
  • имеется поддержка связи 2G;
  • температурный режим — от −30 до +75 градусов.

SIM800L

A6

Это популярный шилд от разработчика AI-Thinker. Контроллер А6 позволяет принимать и посылать GSM GPRS сигналы через сотовые сети и весьма популярен в проектах систем автоматизации и удаленного доступа к управлению.

Характеристики модуля:

  • четырехдиапазонный терминал мобильной связи;
  • питание — от источника 5 В;
  • потребляемый в состоянии «сна» ток — 3 мА, в standby 100 мА, при передаче 500 мА;
  • максимальная нагрузка гаджета — 2 А;
  • скорость GPRS — до 42.8 Кбит/с;
  • диапазон рабочих температур от −30 до +80 градусов.

A6

А7

Он развивает модуль А6 и отличается встроенным чипом позиционирования GPS. Последний добавляет плате функциональности, одновременно упрощая конструкцию.

Характеристики:

  • сотовый терминал с 4-мя диапазонами;
  • напряжение питания — от 3.3 до 4.6 В;
  • источник тока — 5 В;
  • модуль GPRS класса 10, скорость трансляции до 86.5 Кбит/с;
  • имеется встроенное подавление электронного эха, статических шумов и паразитных наводок.

A7

NeoWay M590

Данное GSM GPRS устройство 10 класса подключается по UART и умеет осуществлять обмен SMS, работать со звонками и взаимодействовать по протоколу GPRS.

Характеристики:

  • двухдиапазонный контроллер с поддержкой стандартов DCS1800 и EGSM 900;
  • 10 класс модуля GPRS;
  • напряжение питания от 3.3 до 5 В;
  • пиковый ток — 2 А;
  • рабочий ток устройства — 210 мА;
  • заявленный диапазон эксплуатационных температур — от −40 до +80 градусов.

NeoWay M590

Для подсоединения к Ардуино понадобится преобразователь электропитания 3.3–5 В.

Типовые схемы

Рассмотрим примеры подключения указанных модулей к контроллерам Arduino.

Важно: прежде всего необходимо вставить в устройство сим-карту выбранного оператора. Это необходимо сделать перед выполнением прочих работ.

Принцип дальнейших действий во всех случаях общий: GPRS модуль сопрягается с материнской платой главного контроллера. Для правильного выполнения подключения следует изучить инструкцию к используемой модели Arduino, выяснить распиновку на ней и на компоненте сотовой связи. Далее на собранную систему заводится питание. Когда устройство включено, его переходником USB-UART подключают к ПК и создают программу в среде Arduino IDE или другом удобном пакете ПО разработчика.

GSM-GPRS блок программируется так называемыми AT-командами.

Рассмотрим несколько примеров сборки аппаратной части.

Arduino Uno и контроллер SIM800L

Поскольку напряжение SIM800L невелико, понадобится преобразователь.

Изучим распиновку устройства:

контроллер SIM800L

 

Последовательность действий:

  • подключаем плату UТO к компьютеру;
  • к ней подводится питание 12 В через конвертер;
  • минус источника выводится на контакт GND Ардуино, а GND — на контакт минуса конвертера;
  • плюс ИП идет к плюсу преобразователя;
  • плюс конвертера — к плюсу блока GSM;
  • минус с «земли» преобразователя на GND сотового блока;
  • RXT и TXD блока на 2, 3 пины микроконтроллера UNO соответственно.

микроконтроллер UNO

К цифровым выводам можно подключать и другие устройства, объединяя, при необходимости, несколько дополнительных модулей и плат.

UNO и A6

Здесь напряжение питания стандартное, и конвертер в схему не включается. Платы соединяются напрямую.

Общая схема распиновки:

A6

Принцип соединения контактов:

  • UART_RXD выводится на TX 1 UNO;
  • UART_TXD — на RX 0;
  • GND соединяется с GND на GSM-блоке;
  • пин электропитания VCC0 c кнопкой включения PWR-KEY.

UNO и A6

Шилд GSM SIM900 и контроллер Arduino Mega

Пиковая сила тока при активации устройства может достигать 2 А, в связи с чем напрямую питание подключать нежелательно. Перед соединением плат нужно поставить SIM-карту в предназначенный для нее слот и установить TX и RX джамперы:

GSM SIM900

Последовательность дальнейших действий:

  • желтый провод (TX) объединяется с TX Arduino;
  • зеленым соединяются контакты RX;
  • GND выводится на «землю» микроконтроллера.

Подключение

Проверить собранный гаджет можно следующим экспериментом:

  • соединить GND и RESET главного микроконтроллера;
  • вставить в разъем сим-карту;
  • подать питание на модуль GSM;
  • подключить центральную плату Arduino к ПК через порт USB, нажать кнопку ON;
  • Если все собрано верно, красный светодиод загорится, а зеленый станет мигать.

Программная часть

Когда система собрана, ее необходимо запрограммировать. Управление GSM выполняется специфическими функциями и АТ-командами. Устройство принимает их, интерпретирует и выдает определенный результат, отправляя/получая СМС или звонок. Команды задаются через программное обеспечение (такая возможность предусмотрена в IDE) или вводятся напрямую через утилиты работы с портами.

AT-команды

Как уже говорилось, GSM-модули управляются посредством передаваемых на них AT-команд. Это текстовые строки, обрабатываемые прошивкой и инициирующие те или иные действия.

Все команды начинаются с символов AT.

Обычно они генерируются управляющим ПО, но могут быть отправлены и с клавиатуры, например, через утилиту монитора порта из поставки Arduino IDE.

AT-команды

Команды делятся на три вида:

  • текстовые — на них контроллер дает ответ о поддержке введенной пользователем директивы или отсутствии таковой;
  • чтение — просмотр параметров;
  • запись — ввод и сохранение некоторых новых значений.

Набор команд может отличаться в зависимости от контроллера.

Получение и отправка СМС

Пример работы с короткими сообщениями для связки «Arduino + сотовый модуль»:

  • в IDE выполняется директива AT+CMGF=1. Она указывает перейти в формат передачи текстового сообщения;
  • далее вводится AT+CSCS=«GSM». Выбирается кодировка ASCII;
  • AT+CMGS=«номер», где номер указывается полностью (в формате «+7…»);
  • когда выполнена эта команда, вводится непосредственно текст сообщения, и по нажатию ctrl-Z отправляется на выбранный номер.

Если все сделано, интерфейс программы вернет ОК.

Для получения SMS:

  • AT + CNMI = 2,2,0,0,0 — переход в состояние чтения;
  • когда блок GSM получит сообщение, он отправит в порт строку +CMTI: «SM»,2. Цифра может отличаться, она обозначает номер СМС в очереди;
  • для прочтения следует дать директиву AT+CMGR=2.

SMS

Прием голового звонка

Для выполнения потребуется включить библиотеку разработчика GSM.h:

#include <GSM.h>

Если SIM-карта защищена пин-кодом, его также следует определить в скетче:

#define PINNUMBER ""

При пустом коде значение этого поля просто остается пустым.

В обязательном порядке объявляется переменная отслеживания статуса подключения к мобильной сети:

boolean notConnected=true;

Соединение выполняется посредством функции gsmAcess.begin(). Если процесс завершен успешно, функция возвращает строку GSM_READY.

Далее нужно указать, что сотовый модем переведен в режим приема звонка. За это отвечает функция vcs.hangCall(). Следующая важная функция — getvoiceCallStatus. При входящем звонке она вернет строку RECEIVINGCALL. А для определения номера звонящего следует воспользоваться retreiveCallingNumber.

При поднятой трубке скетч сообщит об этом строкой TALKING. После чего перейдет в режим ожидания ввода; для завершения разговора вводится символ перехода на новую строку.

TALKING

Это основные функции и команды для данной задачи. Разумеется, в полном скетче потребуется определить гораздо больше параметров, которые можно найти в идущих с IDE примерах и официальной документации.

Где купить

Приобрести GPRS/GSM модуль можно как в специализированном магазине, так и онлайн в Интернет-магазине. Во втором случае, особого внимания заслуживает бюджетный вариант приобретения изделий на сайте Алиэкспресс. У некоторых поставщиков есть вариант отгрузки со склада в РФ, их можно получить максимально быстро, для этого при заказе выберите «Доставка из Российской Федерации»:

Заключение

Возможности микроконтроллера Arduino позволяют создать на его базе практически любой проект домашней или промышленной автоматизации. А если дополнить его комплектом подключения к сотовой сети и соответствующим образом запрограммировать, плата превратится в мощный комплекс удаленного доступа, мониторинга, оповещения и выполнения прочих задач, требующих наличия постоянной связи. GSM-модули доступны, легко устанавливаются и настраиваются, обладают низким энергопотреблением и работают везде в зоне покрытия сотовой сети.

Разумеется, использовать их как средство передачи крупных объемов данных нельзя, поскольку доступ в интернет этим классом устройств обеспечивается только через GPRS, с небольшими скоростями. Но в задачах создания дешевой и надежной охранной системы, комплекса мониторинга или хаба «умного дома» такие решения находят обширное применение — как у энтузиастов, так и профессионалов.

Видео по теме

Хорошая реклама

 

Добавить комментарий Ваш e-mail не будет опубликован. Обязательные поля помечены *