Модульность Ардуино позволяет создавать на базе этой платформы проекты различной направленности и функциональности. Существует возможность объединения платы и модулей связи практически любого стандарта и протокола, в частности, для подключения к сотовой сети. GSM модуль для Ардуино обеспечивает возможность соединения с любым удаленным устройством посредством мобильной сети — везде, где есть покрытие таковой.
Аббревиатура GSM расшифровывается как Global System for Mobile (Communications). Технология эксплуатирует сети связи сотовых операторов, обеспечивая трансляцию голосовой, текстовой и служебной информации между подключенными устройствами.
Через сеть GSM передаются не только данные, но и СМС-сообщения, и голос. С подключенной к Arduino GSM платой компьютер способен:
Поскольку GSM обеспечивает и доступ в интернет, устройства с его поддержкой также могут управляться через глобальную сеть, принимать команды, отдавать статусы и так далее.
Простейший пример применения Ардуино с GSM — автономная сигнализация. Периферийные датчики фиксируют свое состояние и передают на центральную плату, которая через модуль отправляет данные на смартфон владельца. Такое решение можно считать базой для «умного дома»: если добавить дополнительные подключаемые блоки, датчики и программные оболочки, Arduino превращается в полноценный комплекс Smart Home.
Любой GSM/GPRS блок соединяется с основной платой. Для реализации простых проектов, как правило, используют Arduino Uno, но есть возможность построения и на базе минималистичного Nano, и более богато оснащенного Mega. Соединенный с Arduino GSM модуль обеспечивает все возможности технологии передачи данных по сотовой сети.
Модулей связи на рынке представлено достаточно много. Далее мы рассмотрим характеристики наиболее популярных и приведем пример типового проекта.
Модуль сотовой связи для Arduino представляет собой устройство из платы и размещенных на ней элементов, включая приемопередатчик. Все они скомпонованы в едином корпусе, снабженном выведенными контактами для подсоединения к материнскому контроллеру. Иногда такой компонент называют шилдом.
Контроллер SIM900 от SIMCom Wireless Solution соединяется с Ардуино посредством распространенного протокола взаимодействия UART. К ПК его можно подключить простым USB-UART переходником, который легко собирается даже самостоятельно.
SIM900 выполняет работу в полнодуплексном режиме и дает возможность осуществлять голосовые звонки и обмен сообщениями. Основные характеристики:
Существует несколько модификаций модуля с индексами B, D. TE-C, R и X. Они обладают определенными отличиями. Так, модель D дооснащена подсистемой зарядки аккумулятора, а плата с индексом X содержит улучшенные режимы энергосбережения, продлевающие срок работы батареи без подзарядки. Это позволяет применить радиомодуль в требующих длительной автономности системах охраны, трекинга, промышленной автоматизации.
Вне зависимости от модификации этот GSM модуль Ардуино поставляется в корпусе SMT с выведенными на торец контактами для распайки. Существуют версии и в иных исполнениях.
Чип SIM800L «умеет» обмениваться информацией в режиме дуплекса через GSM и технологию GPRS. В устройстве предусмотрен слот под сим-карту, интегрированная антенна и дополнительный выход для внешней. Питание подается как от конвертера тока DC-DC, так и от иных внешних источников. С главным контроллером SIM800L взаимодействует через UART.
Характеристики:
Это популярный шилд от разработчика AI-Thinker. Контроллер А6 позволяет принимать и посылать GSM GPRS сигналы через сотовые сети и весьма популярен в проектах систем автоматизации и удаленного доступа к управлению.
Характеристики модуля:
Он развивает модуль А6 и отличается встроенным чипом позиционирования GPS. Последний добавляет плате функциональности, одновременно упрощая конструкцию.
Характеристики:
Данное GSM GPRS устройство 10 класса подключается по UART и умеет осуществлять обмен SMS, работать со звонками и взаимодействовать по протоколу GPRS.
Характеристики:
Для подсоединения к Ардуино понадобится преобразователь электропитания 3.3–5 В.
Рассмотрим примеры подключения указанных модулей к контроллерам Arduino.
Важно: прежде всего необходимо вставить в устройство сим-карту выбранного оператора. Это необходимо сделать перед выполнением прочих работ.
Принцип дальнейших действий во всех случаях общий: GPRS модуль сопрягается с материнской платой главного контроллера. Для правильного выполнения подключения следует изучить инструкцию к используемой модели Arduino, выяснить распиновку на ней и на компоненте сотовой связи. Далее на собранную систему заводится питание. Когда устройство включено, его переходником USB-UART подключают к ПК и создают программу в среде Arduino IDE или другом удобном пакете ПО разработчика.
GSM-GPRS блок программируется так называемыми AT-командами.
Рассмотрим несколько примеров сборки аппаратной части.
Поскольку напряжение SIM800L невелико, понадобится преобразователь.
Изучим распиновку устройства:
Последовательность действий:
К цифровым выводам можно подключать и другие устройства, объединяя, при необходимости, несколько дополнительных модулей и плат.
Здесь напряжение питания стандартное, и конвертер в схему не включается. Платы соединяются напрямую.
Общая схема распиновки:
Принцип соединения контактов:
Пиковая сила тока при активации устройства может достигать 2 А, в связи с чем напрямую питание подключать нежелательно. Перед соединением плат нужно поставить SIM-карту в предназначенный для нее слот и установить TX и RX джамперы:
Последовательность дальнейших действий:
Проверить собранный гаджет можно следующим экспериментом:
Когда система собрана, ее необходимо запрограммировать. Управление GSM выполняется специфическими функциями и АТ-командами. Устройство принимает их, интерпретирует и выдает определенный результат, отправляя/получая СМС или звонок. Команды задаются через программное обеспечение (такая возможность предусмотрена в IDE) или вводятся напрямую через утилиты работы с портами.
Как уже говорилось, GSM-модули управляются посредством передаваемых на них AT-команд. Это текстовые строки, обрабатываемые прошивкой и инициирующие те или иные действия.
Все команды начинаются с символов AT.
Обычно они генерируются управляющим ПО, но могут быть отправлены и с клавиатуры, например, через утилиту монитора порта из поставки Arduino IDE.
Команды делятся на три вида:
Набор команд может отличаться в зависимости от контроллера.
Пример работы с короткими сообщениями для связки «Arduino + сотовый модуль»:
Если все сделано, интерфейс программы вернет ОК.
Для получения SMS:
Для выполнения потребуется включить библиотеку разработчика GSM.h:
#include <GSM.h>
Если SIM-карта защищена пин-кодом, его также следует определить в скетче:
#define PINNUMBER ""
При пустом коде значение этого поля просто остается пустым.
В обязательном порядке объявляется переменная отслеживания статуса подключения к мобильной сети:
boolean notConnected=true;
Соединение выполняется посредством функции gsmAcess.begin(). Если процесс завершен успешно, функция возвращает строку GSM_READY.
Далее нужно указать, что сотовый модем переведен в режим приема звонка. За это отвечает функция vcs.hangCall(). Следующая важная функция — getvoiceCallStatus. При входящем звонке она вернет строку RECEIVINGCALL. А для определения номера звонящего следует воспользоваться retreiveCallingNumber.
При поднятой трубке скетч сообщит об этом строкой TALKING. После чего перейдет в режим ожидания ввода; для завершения разговора вводится символ перехода на новую строку.
Это основные функции и команды для данной задачи. Разумеется, в полном скетче потребуется определить гораздо больше параметров, которые можно найти в идущих с IDE примерах и официальной документации.
Приобрести GPRS/GSM модуль можно как в специализированном магазине, так и онлайн в Интернет-магазине. Во втором случае, особого внимания заслуживает бюджетный вариант приобретения изделий на сайте Алиэкспресс. У некоторых поставщиков есть вариант отгрузки со склада в РФ, их можно получить максимально быстро, для этого при заказе выберите «Доставка из Российской Федерации»:
Возможности микроконтроллера Arduino позволяют создать на его базе практически любой проект домашней или промышленной автоматизации. А если дополнить его комплектом подключения к сотовой сети и соответствующим образом запрограммировать, плата превратится в мощный комплекс удаленного доступа, мониторинга, оповещения и выполнения прочих задач, требующих наличия постоянной связи. GSM-модули доступны, легко устанавливаются и настраиваются, обладают низким энергопотреблением и работают везде в зоне покрытия сотовой сети.
Разумеется, использовать их как средство передачи крупных объемов данных нельзя, поскольку доступ в интернет этим классом устройств обеспечивается только через GPRS, с небольшими скоростями. Но в задачах создания дешевой и надежной охранной системы, комплекса мониторинга или хаба «умного дома» такие решения находят обширное применение — как у энтузиастов, так и профессионалов.