GSM-модуль для Arduino Uno и Pro Mini: подключение и проверка SIM900 и SIM800L

Вопросы и ответы

Назначение и принцип работы

Модуль GSM (Глобальная система мобильной связи) использует телефонную сеть оператора для приема и передачи сигнала на устройство дистанционного управления. Например, с помощью SMS-команд вы можете:

  • получать уведомления о состоянии объекта через используемые датчики;
  • знать сработавшую тревогу;
  • включить и отключить систему безопасности.

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

С помощью этой функции вы можете организовать автономную отчетность на удаленном сайте. Датчики зафиксируют изменение состояния, и информация об этом будет передана на ваш смартфон по каналам связи. По сути, вы можете организовать Умный дом самостоятельно, постепенно добавляя в схему надстройки.

Такое устройство работает на базе платы Arduino Uno. Никто не запрещает при необходимости использовать платы Nano (минисхемы) или Mega, но для удобства установки устройства с минимальной конфигурацией достаточно материнской платы Uno.

Модуль отвечает за передачу GSM или GPRS, который подключен к материнской плате. Он расширяет возможности Arduino UNO, позволяя принимать и совершать звонки, отправлять SMS, обмениваться данными через GPRS. На рынке есть несколько версий отличных карт GSM, которые можно сравнить и запрограммировать с помощью AT-команд для получения необходимой функциональности.

Топ 6 самых популярных модулей

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

Модуль — это изделие, состоящее из платы и элементов на ней (включая компонент, состоящий из набора микросхем и трансивера). Компонент размещен под крышкой в ​​едином форм-факторе (напоминающий процессор для материнской платы компьютера). Распайка на плате расширения происходит через контактные штыри клеммы. Такая полноценная плата называется модулем. Если на нем много других элементов, его иногда называют щитом.

Ниже будут представлены такие модули, как Neoway M590, A6 и A7 и другие, представлены их характеристики.

SIM900

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

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

Специфический:

  1. Диапазон частот EGSM900, DCS1800, GSM850, PCS1900.
  2. Напряжение 3,2-4,8 В
  3. Ток холостого хода 450 мА.
  4. Максимальный ток — 2 А.
  5. Канал связи до 14,4 кбит / с.
  6. Температурный диапазон от -30 ° C до +80 ° C без искажений и от -40 ° C до +85 ° C, с незначительным отклонением ВЧ характеристик при сохранении работоспособности.
  7. Вес 6,2 г.
  8. Размеры 24 х 24 х 3 мм.

Компонент имеет модификации: 900B, 900D, 900TE-C, 900R 900X. Каждая модификация имеет свои характеристики. SIM900D интегрирован с блоком зарядки аккумулятора, а в SIM900X были введены новые режимы энергосбережения, позволяющие использовать модули в современных системах отслеживания транспортных средств, безопасности и промышленной автоматизации. Все модификации компонентов могут быть выполнены в едином форм-факторе SMT с паяными клеммными контактами. Но не исключены варианты исполнения в других форм-факторах.

SIM800L

Модуль основан на компоненте SIM800L с реализацией обмена данными по каналам GSM и GPRS в полнодуплексном режиме. В модуле установлена ​​SIM-карта, есть встроенная антенна и выход для другой антенны. Питание на плату подается через преобразователь постоянного напряжения в постоянный. Также вы можете подключиться к другому источнику питания. Интерфейс подключения — UART.

Специфический:

  1. Четырехдиапазонный сотовый терминал.
  2. Напряжение 3,8-4,2 В
  3. Ток в режиме ожидания — 0,7 мА. Предел тока составляет 500 мА.
  4. Слот
  5. Поддержка сети 2G.
  6. Температурный диапазон от -30 ° C до +75 ° C.

A6

Shield A6 работает в мобильных сетях и позволяет принимать и передавать сигналы через GSM и GPRS. Модуль, созданный AI-THINKER несколько лет назад, успешно зарекомендовал себя и пользуется популярностью в системах автоматизации.

TTX A6:

  1. Четырехдиапазонный сотовый терминал.
  2. Напряжение питания 5 В.
  3. Ток подвески — 3 мА.
  4. Ток в режиме ожидания 100 мА.
  5. Ток в режиме подключения — 500 мА.
  6. Пиковый ток нагрузки — 2А.
  7. Коннектор
  8. Скорость GPRS при передаче сигнала 42,8 Кбит / с.
  9. Температура от -30 ° С до + 80 ° С.

A7

Новый модуль A7 отличается от предшественника наличием встроенного GPS. Это решение позволило упростить конструкцию платы.

Основные параметры:

  1. Четырехдиапазонный сотовый терминал.
  2. Напряжение 3,3-4,6 В
  3. Напряжение питания 5В.
  4. 10 Класс GPRS: канал передачи данных 85,6 кбит / с.
  5. Эхо и тревожный шум.

Neoway M590

Модуль на базе компонента Neoway M590 позволяет принимать звонки, обмениваться данными и сообщениями. Имеет интерфейс подключения UART.

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

  1. Частотный диапазон EGSM900, DCS1800.
  2. 10 класс
  3. Напряжение 3,3-5 В.
  4. Пиковый ток 2 А.
  5. Рабочий ток 210мА.
  6. Сигнал связи 3,3 В.
  7. Температура от -40 ° С до + 80 ° С.

При подключении модуля к контроллеру требуется преобразователь 3,3 В -> 5 В.

GSM GPRS модуль SIM900

На основе модуля SIM900 мы успешно разработали и использовали SIM900 GSM GPRS Shield в качестве модуля для подключения к Arduino UNO. По сравнению с остальными картами, эта намного дороже и имеет множество разъемов и контактов. Среди основных параметров:

  1. Плата подключается к Arduino Mega и UNO.
  2. Четыре рабочих частоты, как и у остальных карт.
  3. Низкое энергопотребление 1,5А в спящем режиме.
  4. GPRS мультислотовый класс 10/8.
  5. Рабочие температуры от -40 ° C до + 85 ° C.

Схема сборки типового проекта Умного дома

Рассмотрим варианты подключения нескольких модулей GSM к платам Arduino. В качестве примера рассматриваются платы Arduino UNO и MEGA.

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

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

Аппаратная часть: составляющие

Компоненты схемы зависят от того, какой модуль GSM будет использоваться.

В основном это: микроконтроллер Arduino UNO, совместимый с модулем GSM платы, понижающий преобразователь DC-DC (если сигнал связи менее 5В), проводка и переходники для подключения.

SIM800L + Arduino UNO

Например, для подключения SIM800L к Arduino UNO из-за низкого напряжения 3,8 В необходимо подключение через преобразователь постоянного тока в постоянный. Распиновка модуля SIM800L выглядит так.

Подключение производится в следующей последовательности:

  1. Подключите Arduino UNO к компьютеру через порт USB.
  2. Подключите питание 12 В через DC-DC.
  3. Меньше от питания к GND платы управления и от GND к меньшему, чем у преобразователя.
  4. Плюс от блока питания до плюса DC-DC.
  5. Плюс от DC-DC к плюсу (Vcc) модуля GSM.
  6. Меньше от земли преобразователя к GND модуля.
  7. Подключите RXD и TXD модуля к контактам 2 и 3 Arduino UNO.

К любому цифровому выводу (цифровые входы / выходы) при необходимости можно подключить несколько модулей.

A6 + Arduino UNO

Поскольку модуль GSM имеет стандартное напряжение питания, нет необходимости в преобразователе в схеме. Вы можете напрямую связать карты. Схема распиновки A6 показана ниже.

Ссылка следующая:

  1. UART_RXD модуля к TX → 1 микроконтроллера.
  2. UART_TXD модуля к RX ← 0 микроконтроллера.
  3. GND контроллера от GND модуля GSM.
  4. Подключите VCC0 (питание) к кнопке питания на модуле PWR_KEY (питание).

SIM900 Шилд + Arduino MEGA

Особенность платы в том, что при вызове устройства ток достигает пикового предела 2А. Поэтому не подключайте питание напрямую. Перед подключением установите SIM-карту в слот и установите перемычки TXD и RXD для слаботочной цепи, как показано на рисунке.

Затем соедините доски вместе:

  1. Соедините контакт TxD с желтым проводом.
  2. Салатов –
  3. Соедините GND плат с черным.
  4. Подключите микроконтроллер к ПК через порт USB.

Чтобы убедиться, что схема собрана правильно, настройте GPRS_Shield_Arduino в IDE.

Проверка правильности работы схемы выглядит так:

  1. На плате Arduino подключите RESET и заземлите, чтобы информация передавалась от Shield к ПК.
  2. Вставьте SIM-карту в слот и включите модуль.
  3. Подключаем материнскую плату к ПК через USB и нажимаем кнопку «ВКЛ».
  4. Когда схема работает правильно, зеленый светодиод будет мигать, а красный светодиод будет гореть постоянно.

Программная часть: скетчи и библиотеки

После разборки фурнитуры нужно запрограммировать собранное устройство. С помощью коротких текстовых AT-кодов устройству можно давать прямые команды. Они воспринимаются устройством, когда программируемое устройство находится в командном режиме. Устройство считывает команды прямо с клавиатуры или через программное обеспечение, такое как IDE. Программа или ее аналоги доступны для устройств под управлением Linux, MacOS, Windows, Android. Таким образом, вы также можете устанавливать команды удаленно со своего телефона.

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

Работа с СМС уведомлениями

Сначала настройте кодировку, с которой у компилятора нет проблем, а затем отправьте SMS:

  1. Перейдите в IDE и выполните команду AT + CMGF = 1, чтобы перевести сообщение в текстовый формат.
  2. Затем используйте команду AT + CSCS = «GSM», чтобы выбрать кодировку ASCII.
  3. Команда AT + CMGS = «+ 79 ********» отвечает за набор сообщения********».
  4. После команды введите текст сообщения и отправьте его.
  5. После отправки SMS нажмите CTRL + Z, и устройство отправит SMS-сообщение получателю.
  6. После правильного выполнения команд он вернет «ОК».

Чтобы получить сообщение, следуйте примеру:

  1. Для чтения SMS отправьте команду AT + CNMI = 2,2,0,0,0.
  2. Обратная связь с порта будет + CMTI: «SM», 2 — два означает номер SMS по очереди.
  3. Чтобы прочитать SMS, отправьте команду AT + CMGR = 2.

Технические характеристики и особенности SIM800L

SIM800 — это модем. Буквы в конце изменения указывают на его возможности. Кроме того, устройство Nano на букву L внешне отличается от модельного ряда.

SIM800L может:

  • управляется АТ-командами;
  • определять позицию через базовые станции;
  • проигрывать аудиофайлы удаленному абоненту или локально;
  • захватывать радиоволны;
  • отправлять и получать данные SMS и GPRS;
  • декодировать и генерировать тональную композицию DTMF.

Производитель оснастил модем:

  • 4-х диапазонный GSM / GPRS модуль на 850/900/1800/1900 МГц;
  • uSB-интерфейс для обновления программного обеспечения;
  • встроенный стек TCP / IP, UDP / IP;
  • протоколы HTTP, FTP, Email, PING, MMC;
  • UART;
  • FM-радио;
  • Блютуз;
  • RSM.

Размеры устройства 25x24x4 мм, вес 5 г. Модель поддерживает работу в сети в режиме 2G. Для работы требуется источник питания 3,7-4,2 В. В этом случае ток в режиме ожидания составляет 0,7 мА, а пиковый ток — 2 А.

Sim800l технические характеристики

Максимальное напряжение высокого уровня UART не должно превышать 2,8 В. Производитель запрограммировал универсальный асинхронный трансивер на работу в диапазоне от 1200 до 115200 бод. Максимальная скорость передачи данных GPRS составляет 85,6 Кбод.

Micro-SIM поддерживает PBCCH, CSD, USSD, PAP, RTC и имеет код CS 1-4.

Чтобы пользователь мог легко подключить модем к устройству, которое объединяет проекты в одной системе, карта micro-SIM продается с антенной и припаянными контактами. Контакты рекомендуется припаивать, если вы планируете использовать микрочип с модульными микроконтроллерами, например, Arduino.

Распиновка модели 800L:

  • RING — индикатор вызова;
  • DTR — готовность вывода;
  • MIC +/- — подключение микрофона;
  • СПК +/- — подключение динамика;
  • NET — подключение антенны;
  • VCC — напряжение питания;
  • RST — сброс, перезапуск;
  • RXD — полученные данные;
  • TXD — передаваемые данные;
  • GND — общий контакт;
  • IPX ANT — подключение антенны IPX;
  • LED — светодиодная индикация;
  • MICRO SIM — слот для карты micro-SIM.

Производитель рекомендует согласовать логические уровни подключенных устройств перед использованием микрочипа. Далее в слот вставляется SIM-карта.

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

Подключение GSM GPRS шилда к Arduino

В этом разделе мы рассмотрим проблемы, связанные с подключением модулей GSM к плате aduino. Большинство примеров основано на Arduino Uno, но большинство примеров будет относиться к Mega, Nano и т.д.

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

Для подключения понадобится плата Arduino, модуль SIM800L, понижающий преобразователь напряжения, кабели для подключения и аккумулятор на 12 В. Для модуля SIM800L требуется напряжение 3,7 В, что нестандартно для Arduino, для этого нужен понижающий преобразователь напряжения.

Распиновка модуля SIM800 показана на рисунке.

GSM GPRS в Arduino

Плата Arduino должна быть подключена к компьютеру через USB-кабель. Подключите аккумулятор 12 В через преобразователь: -12 В к земле Arduino, от земли к преобразователю к минусу, + 12 В к преобразователю к плюсу. Выходы модуля TX и RX должны быть подключены к контактам 2 и 3 Arduino. К любому цифровому выводу можно подключить несколько модулей.

GSM GPRS в Arduino

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

Модуль A6 дешевле, чем SIM900, и его очень просто подключить к Arduino. Модуль питается от 5В, поэтому дополнительных редукторов для подключения не требуется.

Для подключения понадобится плата Arduino (в данном случае это Arduino UNO), модуль GSM A6, соединительные кабели. Схема подключения представлена ​​на рисунке.

Модуль GSM и GPRS для Arduino

Контакт RX модуля GSM должен быть подключен к TX на плате Arduino, контакт TX должен быть подключен к контакту RX на Arduino. Масса модуля связана с массой микроконтроллера. Вывод Vcc модуля GSM должен быть подключен к PWR_KEY.

Подключение с помощью GSM-GPRS шилда

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

Перед подключением к Arduino необходимо установить SIM-карту на экран GSM-GPRS. Также необходимо установить перемычки TX и RX, как показано на рисунке.

Модуль GSM и GPRS для Arduino

Подключение осуществляется следующим образом: первый контакт (желтый провод на рисунке) от экрана должен быть подключен к TX на Arduino. Второй контакт (зеленый провод) подключается к RX на Arduino. Земля щита соединяется с землей аруина. Питание микроконтроллера осуществляется через USB-кабель.

Схема подключения экрана к плате Arduino представлена ​​на рисунке.

Модуль GSM и GPRS для Arduino

Для работы необходимо установить библиотеку GPRS_Shield_Arduino.

Чтобы проверить правильность собранной схемы, необходимо сделать следующее: подключить RESET и GND на Arduino (это приведет к тому, что данные будут передаваться прямо с щита на компьютер), вставить SIM-карту в щит и включите питание щита. Плата Arduino должна быть подключена к компьютеру и кнопка питания должна быть нажата. Если все подключено правильно, загорится красный светодиод, а зеленый будет мигать.

Краткое описание взаимодействия через AT-команды

AT-команды — это набор специальных модемных команд, состоящих из коротких строк текста. Чтобы модем распознал данную команду, строки должны начинаться с букв в. Строка будет принята, когда модем находится в командном режиме. AT-команды можно отправлять либо через коммуникационное программное обеспечение, либо вручную с клавиатуры. Практически все команды можно разделить на 3 режима: тестовый режим, в котором модуль отвечает, если поддерживает команду; read — вывод параметров текущей команды; регистрация — будут зарегистрированы новые значения.

Список наиболее используемых AT-команд:

  • AT — для проверки правильности подключения модуля. Если все в порядке, возвращается ОК.
  • A / — повторить предыдущую команду.
  • AT + DPI? — получить информацию о скорости движения двери. Ответ: + IPR: 0 OK (0 в данном случае автоматически).
  • AT + ICF? — настройка трансмиссии. Ответ будет + ICF: бит, четность.
  • AT + IFC? — управление трансмиссией. Ответ будет + IFC: терминал от модуля, модуль от терминала (0 — нет управления, 1 — программное управление, 2 — аппаратное управление).
  • AT + GCAP — показывает возможности модуля. Пример ответа: + GCAP: + FCLASS, + CGSM.
  • AT + GSN — получить форму IMEI. Пример ответа 01322600XXXXXXX.
  • AT + ПОЛИЦЕЙСКИЕ? — показывает доступных операторов.
  • AT + CPAS — статус модуля. Ответ + CPAS: 0. 0 — готов к работе, 3 — входящий звонок, 4 — голосовая связь, 2 — неизвестно.
  • AT + CCLK? — информация о текущем времени и дате.
  • AT + CLIP = 1 — включить / выключить АОН. 1 — включен, 0 — выключен.
  • AT + CSCB = 0 — получать специальные SMS-сообщения. 0 — включен, 1 — выключен.
  • AT + CSCS = «GSM» — кодировка SMS-сообщения. Можно выбрать один из следующих кодов: IRA, GSM, UCS2, HEX, PCCP, PCDN, 8859-1.
  • AT + CMEE = 0 — получение информации об ошибке.
  • AT + CPIN = XXXX — введите пин-код сим-карты.
  • AT&F — восстановить заводские настройки.
  • AT + CPOWD = 1 — срочное (0) или нормальное (1) отключение модуля.
  • ATD + 790XXXXXXXX — звоните + 790XXXXXXXX.
  • ATA — ответить на звонок.
  • AT + CMGS = «+ 790XXXXXXXX»> SMS test — отправьте SMS-сообщение на номер + 790XXXXXXXX.

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

GSM дверной монитор и модуль GPRS для Arduino

GSM модуль A7

A7 — последний модуль AI-THINKER. В отличие от A6 в нем есть встроенный GPS, что упрощает конструкцию. Модуль также поддерживает карты памяти microSIM. Есть функция передачи данных по GPRS, приема сигналов по GPS.

Технические характеристики:

  • напряжение питания 3.3В-4.6В;
  • частоты 850/900/1800/1900 МГц;
  • GPRS класс 10: макс. 85,6 кбит / с;
  • подавление эха и шума.

Все таки как подключать к Arduino:

А что подключать и к чему? Существуют десятки разновидностей модулей, даже версии плат Arduino. Не рекомендую использовать плату Arduino UNO, как и любую другую с ATmega328, в сочетании с библиотекой SoftwareSerial для работы с модемом, возможно, эта связка подходит для тестирования работы модема и отладки, но получить стабильную практически невозможно работа в устройствах.

Модем обменивается данными с микроконтроллерами через интерфейс UART, в UNO единственное оборудование UART предназначено для прошивки карты и «монитора порта», это вынуждает использовать библиотеку SoftwareSerial.h, которая обычно не может переваривать поток с модема. Правильным решением будет использование платы с несколькими аппаратными интерфейсами UART, такими как Arduino Leonardo, Arduino Mega.

В случаи с Arduino Leonardo и аппаратным UART:

Непростой случай с дешевым модулем на SIM800L, здесь нужен отдельный регулятор напряжения питания 4,0В, нужно согласовать логические уровни с ардуино с помощью резистивного делителя напряжения, иначе он не сработает.

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

class = «WP-block-separator»>

Управление модемом:

Связь с модемом происходит с помощью AT-команд, команда отправляется модему в текстовой форме, и после выполнения команды модем возвращает ответ, более простую команду «AT» и ответ на нее «OK», который используется для проверьте связь с модемом. Список всех доступных команд и возможных ответов доступен в документации модема.

Для управления модемом через «монитор порта» в ардуинке необходимо составить пример, транслирующий данные из «монитора порта» в UART, к которому подключен модем. Убедитесь, что скорость интерфейса UART правильная, в настройках модема скорость порта может отличаться от 9600.

Разновидности китайских модулей:

Модуль на SIM800C с минимальной обвязкой. Преобразователей уровня интерфейса UART, фильтров, регулятора мощности нет. Самый популярный, самый дешевый и самый маленький.

Аналогичный китайский модуль на SIM800L

Этот модуль уже поинтереснее, там преобразователь уровней (на плате два транзистора 2n7002), два диода, включенные последовательно для снижения напряжения питания на 5 вольт до необходимых для модема 4,2 вольт, решение сомнительное но самый дешевый. Ножка выдвинута для встроенной bluetooth-антенны. В аналоговой части все еще отсутствуют фильтры

Есть аналогичный модуль с такой же распиновкой, но вместо преобразователя уровня на преобразователе DC-DC MP1584EN установлен регулятор напряжения питания. Странное решение.

Это не сильно отличается от модулей выше, есть преобразователь уровня, есть два диода для снижения напряжения питания с 5 вольт до необходимых для модема 4,2 вольт, голосовых функций к сожалению нет! могло быть и удобнее подключить, есть отверстия для крепления.

Вот это уже что-то… Линейный стабилизатор напряжения MIC29302, преобразователь логического уровня, антенна bluetooth на плате и разъем SMA для антенны GSM.На аналоговой части нет фильтров.

Shield by Keystudio, так и должно быть, можно использовать внешний блок питания и блок питания от ардуино, линейный регулятор мощности MIC29302, фильтры в аналоговой части и разъем для подключения наушников, суперконденсатор для часов, даже USB вынут. Единственный недостаток, цена…

Читайте также: Принцип работы GPS: спутниковые навигационные системы

Оцените статью
Блог про Arduino