Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

управление умным домом с телефона

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

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

GSM-модуль (Global System for Mobile Communications) использует сеть телефонной связи оператора, для получения и передачи сигнала на удаленный объект управления. Например, с помощью СМС команд можно:

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

С помощью GPRS, который также поддерживают GSM-модули, можно аналогичные команды обрабатывать через Internet.

С помощью такого функционала можно организовать автономную сигнализацию на удаленном объекте.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Датчики будут фиксировать изменение состояния, а по каналам связи будет транслироваться информация об этом на ваш смартфон. По сути, можно организовать Smart Home самостоятельно, постепенно добавляя в схему дополнительное комплектующее.

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

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

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

Представленные ниже модули – популярный продукт для монтажа систем автономной сигнализации и иных проектов, для передачи управляющего сигнала через сети мобильных операторов.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

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

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

SIM900

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

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

Спецификация:

  1. Диапазон частот EGSM900, DCS1800, GSM850, PCS1900.
  2. Напряжение 3,2-4,8 В.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
  3. Сила тока в режиме простоя – 450 мА.
  4. Максимальный ток – 2 А.
  5. Канал связи до 14.4 кбит/с.
  6. Диапазон температур от -30 °C до +80 °C без искажения, и от -40 °C до +85 °C, с незначительным отклонением радиочастотных характеристик, с сохранением работоспособности.
  7. Вес 6,2 г.
  8. Размеры 24 x 24 x 3 мм.

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

SIM800L

Основа модуля – компонент SIM800L с реализацией обмена данными по каналам GSM и GPRS с помощью дуплексного режима. В модуль устанавливается SIM-карта, есть встроенная антенна и выход под еще одну антенну.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Питание на плату подается через преобразователь напряжения DC-DC. Еще, есть возможность подключиться к другому источнику питания. Интерфейс подключения – UART.

Спецификация:

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

A6

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

ТТХ А6:

  1. Четырехдиапазонный сотовый терминал.
  2. Напряжение питания 5 В.
  3. Ток в спящем режиме – 3 мА.
  4. Ток режима ожидания – 100 мА.
  5. Ток режима соединения – 500 мА.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
  6. Ток пиковой нагрузки – 2А.
  7. Разъем
  8. Скорость GPRS во время передачи сигнала 42,8 Кбит/сек.
  9. Температура от -30 °C до +80 °C.

A7

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

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

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

Neoway M590

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

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

  1. Диапазон частот EGSM900, DCS1800.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
  2. 10 Класс
  3. Напряжение 3,3-5 В.
  4. Пиковый ток 2 А.
  5. Рабочий ток 210 мА.
  6. Коммуникационный сигнал 3,3 В.
  7. Температура от -40 °C до +80 °C.

Подключая модуль к контроллеру, потребуется преобразователь 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 gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной В качестве примера рассматриваются платы Arduino UNO и MEGA.

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

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

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

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

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

SIM800L + Arduino UNO

Например, для подключения SIM800L к Arduino UNO, из-за малого напряжения в 3,8 В нужно подключить через преобразователь DC-DC. Распиновка модуля 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.

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

A6 + Arduino UNO

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

Соединение происходит следующим образом:

  1. UART_RXD модуля к TX→1 микроконтроллера.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
  2. UART_TXD модуля к RX ←0 микроконтроллера.
  3. GND контроллера с GND GSM-модуля.
  4. Пин VCC0 (питание) к кнопке питания на модуле PWR_KEY (power).
SIM900 Шилд + Arduino MEGA

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

Далее, подключайте платы между собой:

  1. Желтым проводом соедините контакт TxD.
  2. Салатовым –
  3. Черным соедините GND плат.
  4. Через USB-порт соединить Микроконтроллер с ПК.

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

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

  1. На плате Arduino соедините RESET и землю, чтобы информация поступала от Shield к ПК.
  2. Установите SIM-карту в слот и дайте напряжение на модуль.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
  3. Основную плату по USB соедините с ПК и нажмите кнопку «ON».
  4. При правильной работе схемы, зеленый светодиод будет мигать, а красный постоянно гореть.

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

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

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

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

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

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

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

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

Естественно, пока к схеме не подключены микрофон и динамик, ни о каком приеме звонка и речи быть не может. Когда осуществиться звонок, будет выведен номер, с которого звонили. Чтобы далее работать со звонками:

  1. Загрузите библиотеку #include <GSM.h>.
  2. Если на сим установлен PIN, то введите команду #define PINNUMBER “”, где в скобках пропишите его.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной В случае, если пин не установлен, оставьте скобки пустыми.
  3. Выполнив данную команду, следует узнать статус симки с подключением к сети с помощью boolean notConnected = true.
  4. Установить активацию с сетью можно через begin(). Если соединение готово к работе, в обратной связи покажется статус GSM_READY.

Выводы

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

Касаемо программирования контроллеров, с этим тоже не возникнет проблем. С помощью библиотек, АТ-команд и скетчев, можно определять статус SIM-карты, получать и отправлять SMS сообщения, принимать звонки и тому прочее.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Осуществляется это в среде программирования Arduino IDE или в аналогичных средах, установленных на удаленном устройстве, которыми могут быть как смартфон, так компьютер, что непосредственно подключен к программируемому устройству.

Arduino A6 gsm module (big) — Все остальное

A6 GPRS Pro серийный GPRS GSM модуль Core DIY
замена SIM900
Описание:

Это профессиональная версия серийного GSM / GPRS модуля на основе GPRS A6. Он поддерживает двухдиапазонную сеть GSM/GPRS, доступную для передачи данных GPRS и sms-сообщений.
Плата имеет компактный размер и низкое потребление тока. Благодаря технологии энергосбережения потребление тока в спящем режиме не превышает 3 мА.
Он общается с микроконтроллером через порт UART, поддерживает команды, включая GSM 07,07, GSM 07,05 и Ai-Thinker.

Особенности:
-Рабочая частота: Четырехдиапазонная сеть, 850 / 900 / 1800 / 1900 МГц
-Рабочее напряжение: 4.8-9VDC (бортовой регулятор напряжения питания цепи питания для модуля A6)
-Рабочий ток: Максимум 2 А
-Ток сна: 5 мА
-Встроенный держатель Micro SIM карты,
-Встроенный интерфейс Micro USB для внешнего источника питания
-Интерфейс связи: Последовательный порт TTL/последовательный порт RS232
-Скорость передачи данных: 115200bps, также может быть установлен по команде.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
-Логическое напряжение интерфейса: 3,3 В
-Совершать и отвечать на телефонные звонки с помощью гарнитуры и электретного микрофона.
-Отправка и получение sms-сообщений.
-Отправка и получение данных GPRS (TCP/IP, HTTP и т. Д.)
-Шаг коннектора: 2,54 мм
-Интерфейс антенны: SMA и IPX

Об антенне:
-Подходит для модулей SIM800L GSM/Arduino SIM900 GPRS Shield
-Частота: 780 МГц ~ 960 МГц. 1710 МГц ~ 2170 МГц
-Усиление антенны: + 2,0 0,7 дБи @ 880 МГц, + 2,0 0,7 дБи @ 1800 МГц
-S. W. R
Հարգելի գնորդներ, 10.000 դրամ և ավելի գնումներ կատարելու դեպքում` Երևանի տարածքում և շրջակա բնակավայրերում առաքումը կկատարվի անվճար: Մինչև 10.000 դրամ արժողությոմբ գնումները կառաքվեն 500 դրամով: Մարզերում հնարավոր է փոստային առաքում:
Ցանկացած ապրանքի վերաբերյալ կարող եք ստանալ անվճար խորհարդատվություն (Խորհրդատվություն ստանալու համար ապրանքը գնելը պարտադիր չէ) :

Arduino Iot avtomat automat avtomatika wifi ESP BLE Bluetooth smart home sensor hardware/software development internet of things USB I2C SPI TTL
Առդուինո ավտոմատ էլեկտրոնիկա ծրագրավորում սմարթ արդուինո
Ардуино автоматика смарт дом управление электроника программирование схемотехника искусственный интеллект дистанционное управление датчик разработка

Работа со встроенным TCP/IP-стеком модулей GSM/GPRS серии SIM800 компании SIMCom Wireless Solutions

Компания SIMCom Wireless Solutions, ведущий разработчик и производитель GSM/GPRS, 3G, LTE и GPS/ГЛОНАСС- решений для М2М-отрасли, предлагает новую линейку GSM/GPRS-модулей серии SIM800 на замену хорошо известной в мире серии SIM900.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной В новых модулях улучшен ряд ключевых качеств, таких как массо-габаритные параметры, скорости передачи данных, цена. Кроме того, в новой линейке реализована поддержка Bluetooth и множества сетевых протоколов передачи данных, включая SSL.

Серия GSM/GPRS-модулей SIM800

В России линейка SIM800 (табл. 1) представлена модулями SIM800C, SIM800C-DS, SIM800H, SIM800, SIM800F [1]. Все они покрывают подавляющее большинство потребностей рынка М2М. Так, SIM800C в популярном корпусе LCC является фокусным и базовым решением для широкого спектра приложений. SIM800C-DS самый малогабаритный в мире GSM/GPRS-модуль с поддержкой двух SIM-карт (Dual SIM Dual Standby). Этот модуль нашел применение в охранном секторе и приложениях, где необходимо мгновенное переключение между сетями сотовой связи и требуется разделить балансы конечного потребителя и интегратора. Модуль SIM800H аналогичен модулю SIM800C по техническим характеристикам, но его основные потребители те, кому нужна поддержка передачи данных CSD и кого не смущает корпус LGA, подразумевающий пайку в печи.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Модули SIM800F и SIM800 (24×24 мм) не выделяются какими-либо особенными качествами, их основная задача замена модулей SIM900R или SIM900 в текущих проектах и упрощение освоения серии SIM800 для новых разработок. Генеральное отличие между SIM800 и SIM800F заключается лишь в том, что первый поддерживает CSD, а второй, как SIM800С и SIM800C-SD, нет.

Таблица 1. Линейка GSM/GPRS-модулей серии SIM800

Модуль

SIM800C

SIM800C-DS

SIM800H

SIM800

SIM800F

Корпус

LCC

LCC+LGA

LGA

LCC

Размер, мм

15,7×17,6

15,8×17,8

24×24

GPRS

85,6 кбит/с ↕

Bluetooth

3.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной 0 (кроме SIM800C-DS)

Количество SIM-карт

1

2

1

Функции

Voice Call, USSD, SMS, CSD (только SIM800H и SIM800), DTMF, Jamming Detection, MMS, Audio R/F, Embedded AT (опционально)

Поддерживаемые протоколы передачи данных

PPP, TCP/IP, UDP/IP, FTP, HTTP, SMTP, POP3, SSL

Интерфейсы

2×UART, USB

2×UART, USB, I2C, SPI

Аудио

MIC, SPK 32 Ом

PCM, MIC, 2×SPK 8/32 Ом

PCM, 2×MIC, 2xSPK 8/32 Ом

PCM, MIC, SPK 32 Ом

Память пользователя

Внутренняя

Внутренняя, SD-карта (<32 Гбайт)

Внутренняя

Рабочее напряжение, В

3,4–4,4

Диапазон рабочих температур, °С

–40…+85

Следует подчеркнуть, что GSM/GPRS-модули серии SIM800 поддерживают беспроводную технологию связи Bluetooth 3.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной 0 Classic (профили SPP, HFP и проч.) на аппаратном уровне. Поддержка Bluetooth требует соответствующего программного обеспечения (ПО). Данная функция, нисколько не увеличивая стоимость изделия, дает пользователю уникальные возможности: голосовые вызовы посредством стандартной беспроводной гарнитуры, обмен произвольными данными на расстояниях в десятки метров, файлами и контактами из записной книжки все то, для чего предназначен Bluetooth, но в разрезе задач IoT. Также разработчику следует знать, что модули серии SIM800 поддерживают технологию Embedded AT. Она позволяет интегрировать пользовательский Си-код в операционную систему (ОС) модуля и управлять всеми его ресурсами: SMS, голосовые вызовы, выход в Интернет, управление интерфейсами UART, SPI, I2C, GPIO и проч. Это весьма полезная технология, широко применяемая, когда остро стоит вопрос о стоимости и/или размере конечного изделия. Подробней о работе Bluetooth и Embedded AT в модулях серии SIM800 можно узнать отдельно из руководств по применению или у инженеров технической поддержки компании и дистрибьюторов.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной В данной же статье речь пойдет о работе со встроенным TCP/IP-стеком.

Протокол TCP/IP в М2М

Рис. 1. Обобщенная схема системы сбора данных посредством сети GSM

Обобщенная схема любой системы сбора данных построена на принципах клиент-серверного подключения (рис. 1). То есть где-то в сети есть сервер, который ждет подключения М2М-устройств и принимает от них полезные данные (расход топлива, координаты перемещения объекта, температура, тревожный сигнал, количество потребленной электроэнергии и т. п.) в зависимости от приложения и задач, выполняемых системой. В качестве клиентов в такой схеме выступают устройства на базе GSM/GPRS-модуля и управляющий контроллер (хост): модуль предоставляет доступ в Интернет, а хост управляет этим процессом. Такие клиент-серверные соединения для передачи данных, как правило, используют протокол TCP/IP.

Опытные разработчики знают, что посредством GSM/GPRS-модуля можно выйти в Интернет и подключиться к серверу двумя способами при помощи протокола канального уровня PPP или встроенного протокола TCP/IP.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Оба варианта доступны в GSM/GPRS-модулях серии SIM800.

Когда в распоряжении клиентской части имеются продвинутые аппаратные ресурсы хоста и ОС типа Linux или Android, для выхода в Интернет часто применяют протокол PPP. Протоколы до уровня приложений при этом реализованы в самой ОС хоста. Но это относится к небольшому числу случаев. В подавляющем большинстве М2М-приложений ставятся жесткие требования к стоимости проекта, который подразумевает недорогой хост с небольшой памятью и простейшей ОС (без особых изысков). Реализация собственного стека протоколов (надстройка над PPP) в таком случае часто выводит проект за временные рамки сдачи работ и рамки бюджета единицы изделия.

Рис. 2. Граф процессов и состояний стека протоколов TCP/IP

В таких случаях более оправданным является применение встроенного стека TCP/IP-модуля, т. к. значительно упрощается процесс отладки и удешевляется стоимость конечного изделия. Разработчику не нужно знать/помнить принципы сетевых протоколов, тайминги, инкапсуляцию и т.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной д. (рис. 2), не нужно обрабатывать кадры, пакеты и сегменты данных. При работе со встроенным TCP/IP-стеком модуля хост имеет дело лишь с потоком полезных данных (рис. 3), обмениваясь ими с сервером на прикладном уровне стека протоколов.

Рис. 3. Стек протоколов TCP/IP

GSM/GPRS-модуль, управляемый хостом через последовательный порт UART, берет на себя общение с сетью сотовой связи и работу в IP-сети. Хосту для этого предоставляется командный интерфейс, т. е. доступ к сетевым функциям происходит посредством простой и понятной системы AT-команд [4]. При этом все сложные сетевые процессы, такие как активация контекста, открытие сессии, передача данных, закрытие сессии и т. д., скрыты от хоста.

Кстати, надо сказать, что протокол TCP/IP, наряду с другими протоколами, к примеру UDP/IP, очень удобен для систем, требующих надежности передачи данных, т. к. в его основе заложены принципы подтверждения и повтора посылок в случае потери пакетов. Прикладному уровню не нужно заботиться об организации повторного запроса данных.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

Возможности встроенного стека протоколов TCP/IP в GSM/GPRS-модулях серии SIM800

Встроенный стек модуля гибок и может быть настроен на различные режимы работы в зависимости от пожеланий и фантазии разработчика. На рис. 4 схематически указаны режимы работы встроенного стека. Они определяют роль модуля по отношению к удаленной стороне (клиент/сервер), способ передачи данных и количество одновременно открытых соединений.

Рис. 4. Режимы работы встроенного стека TCP/IP-модулей серии SIM800

Режимы работы встроенного стека настраиваются в момент инициализации, до активации контекста и установления соединения, при помощи следующих АТ-команд:

  • AT+CIPMUX=<n>,где<n>=0 моносокет, <n>=1 мультисокет;
  • AT+CIPMODE=<n>где<n>=0 командный режим передачи данных,<n>=1 прозрачный.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

Так, в режиме мультисокета модуль может открыть и поддерживать до шести одновременных соединений или работать только с одним соединением (моносокет).

Как видно, есть два способа обмена данными с удаленной стороной: прозрачный и командный режимы. В прозрачном режиме данные, находящиеся на стороне клиента, во время открытой сессии передаются и принимаются в последовательный порт UART модуля в том же виде, в каком их видит на удаленной стороне сервер. В некоторых случаях предпочтительней командный режим, при котором GSM/GPRS-модуль настроен на прием только АТ-команд, и, чтобы осуществить отправку данных на сервер или принять их, потребуется подавать данные вкупе с АТ-командами. Кстати, мультисокет исключает работу модуля в прозрачном режиме передачи данных.

На рис. 4 показано, что GSM/GPRS-модуль может быть настроен на выполнение роли клиента или сервера. Роль модуля не задается АТ-командой, как количество соединений или режим обмена данными, а определяется способом открытия соединения.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной В дальнейшем мы будем рассматривать вариант открытия одного соединения (моносокет) с удаленным сервером (роль модуля клиент). Передачу данных рассмотрим как в командном, так и в прозрачном режиме. Но перед тем как перейти к практическим примерам, надо разобраться с механизмом работы встроенного стека TCP/IP.

Механизм работы встроенного стека TCP/IP описывается диаграммой состояний, показанной на рис. 5. Это диаграмма состояний для односокетного соединения. Как видно, всего состояний 10. Все они, от IP INITIAL до PDP DEACT, замыкают цикл от активации контекста и открытия соединения до закрытия соединения и деактивации контекста именно в таком порядке, в нормальном случае. Состояние стека можно контролировать командой AT+CIPSTATUS (без параметров).

Рис. 5. Диаграмма состояний встроенного TCP/IP-стека модулей серии SIM800

Начальное состояние стека после инициализации AT+CIPMUXи AT+CIPMODE IP INITIAL, оно означает, что GPRS-контекст не настроен.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Во время активации контекста информация направляется в сеть GPRS и может служить условием доступа к услугам пакетной передачи данных. Сегодня многие операторы сотовой связи дают доступ в GPRS независимо от того, какой контекст был задан. Однако этап настройки контекста пропускать не следует.

Настройка контекста осуществляется по команде AT+CSTT=<APN>,<USR>,<PASS>, где <APN> точка доступа, <USR> логин, <PASS> пароль. Эти параметры можно получить от поставщика мобильной связи. После этой команды встроенный стек принимает состояние IP START. Кстати, если говорить о повторном открытии сессии (питание не отключалось), то команду AT+CSTT можно подавать без параметров. Модуль примет в исполнение ранее заданные параметры и приведет встроенный стек в верное состояние.

После успешной настройки контекста его следует активировать командой AT+CIICR (без параметров).Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной С момента активации контекста модуль получает доступ в сеть GPRS и на стороне оператора сотовой связи начинается отсчет трафика. За этим этапом следует переход встроенного стека в состояние IP STATUS посредством запроса своего IP-адреса в сети командой AT+CIFSR (без параметров).

Итак, к примеру, мы имеем сервер с IP-адресом 192.168.123.123 и открытым портом 1234. Для подключения к этому серверу должна быть исполнена команда AT+CIPSTART=”TCP”,”192.168.123.123”,1234. Важно, чтобы состояние стека перед подачей этой команды было IP STATUS. В противном случае связь не будет установлена. Кстати, допускается вместо IP-адреса задавать доменное имя, например: AT+CIPSTART=”TCP”,”www.simcomm2m.com”,1234.

Когда соединение с сервером установлено, состояние стека приобретает статус CONNECT OK. Теперь между сервером и хостом установлен канал передачи данных уровня приложений. После того как обмен данными будет завершен, соединение с сервером можно будет закрыть командой AT+CIPCLOSE.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной При этом есть варианты закрытия:

  • Штатное закрытие соединения при помощи команды AT+CIPCLOSE (без параметров) или AT+CIPCLOSE=0, которое проходит с отправкой командных пакетов в адрес сервера и ожиданием от сервера подтверждения закрытия (рис. 6). Это согласованное закрытие сокета.
  • Быстрое закрытие при помощи команды AT+CIPCLOSE=1, которое подразумевает перевод состояния стека в состояние TCP CLOSED без уведомления сервера. Этот случай актуален при потере связи с сервером или с GPRS-сетью. Этот способ нужен, чтобы вернуть стек в предсказуемое состояние, не тратя время на ожидание подтверждения, которое может и не прийти.

После закрытия соединения с сервером GPRS-контекст все еще активен. Его следует закрыть командой AT+CIPSHUT (без параметров). После этого стек модуля переходит в начальное состояние IP INITIAL, и он готов к новой сессии.

Обработка исключительных случаев

Все команды GSM/GPRS-модулей серии SIM800 имеют время исполнения.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Разработчику ПО хоста важно знать время исполнения отдельно для каждой команды, чтобы исключить бесконечное ожидание реакции на команду (открытие соединения, к примеру). Значения максимального времени исполнения задокументированы, их можно найти в системе команд GSM/GPRS-модуля [4]. В таблице 2 указаны значения максимального времени исполнения основных команд встроенного TCP/IP-стека. Как видно, некоторые команды исполняются десятки секунд. Это объясняется зависимостью этих команд от быстродействия сети и сервера.

Таблица 2. Максимальное время исполнения команд встроенного стека TCP/IP

Команда

Максимальное время исполнения, с

CIICR

85

CIPSTART

160

CIPSEND

645

CIPCLOSE

120

CIPSHUT

65

Рис.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной 6. Нормальная процедура закрытия соединения с сервером

Получается, некоторые команды могут исполняться несколько минут, прежде чем можно будет понять, что что-то пошло не так. В М2М такие задержки, конечно, недопустимы. Как же обрабатывать случаи, когда время исполнения команды затянулось, а реакции так и не последовало? Все зависит от того, на каком этапе установления соединения произошел сбой (ошибка или вышел таймаут) и в каком состоянии находится стек (рис. 6). Причин сбоя может быть несколько, и реакция может быть разная, но главное вернуть встроенный стек в исходное состояние IP INITIAL или IP STATUS. Рассмотрим на примере несколько случаев:

  1. Сервер вышел из строя или доступ в Интернет ограничен (потеря пакетов, высокий пинг и проч.). В этом случае все команды из таблицы 1 приведут к длительному времени исполнения. Чтобы повторить попытку соединения с этим или другим сервером, следует перед этим закрыть сокет командой AT+CIPCLOSE=1.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной При этом деактивировать контекст командой AT+CIPSHUT не обязательно.
  2. Потеря связи с GSM-сетью. Такое возможно в местах плохого покрытия сети, из-за ухудшения условий приема сигнала или внезапной выемки SIM-карты из прибора. Здесь следует проверить готовность SIM-карты (AT+CPIN? или чтение ячейки памяти командой AT+CMGR), уровень сигнала (AT+CSQ), наличие регистрации в сети (AT+CREG?) и доступ к услугам GPRS (AT+CGATT?). Если физический доступ к GSM-сети пропадет после или во время открытия сессии командой AT+CIPSTART, то придется закрыть соединение (AT+CIPCLOSE=1), деактивировать контекст и восстанавливать соединение с начала, сразу после того как будут успешно проверены SIM-карта, уровень сигнала, регистрация в сети и доступ к услугам GPRS.
  3. Истек срок жизни контекста.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Когда открывается контекст, сеть выделяет определенные ресурсы на его поддержание. Операторы сотовой связи не допускают мертвые контексты, когда ресурс занят, а обмена данными в этом контексте нет. Если обмена данных нет, то через некоторое время оператор деактивирует контекст. У разных операторов это время разное примерно от трех до семи минут. Модуль при этом в порт UART выдаст уведомление: +PDP DEACT. Его нужно обработать и сбросить встроенный стек в исходное состояние командой CIPSHUT. Однако иногда в некоторых приложениях требуется поддерживать контекст в активном состоянии. Для этого можно периодически обмениваться с сервером пустыми данными, типа эха. Но это неудобно в реализации. Взамен можно воспользоваться функцией поддержания соединения командой AT+CIPTKA [4].
  4. Нагрузка на сеть GSM. Всем известно, что GPRS-услуги и голосовая связь делят общие ресурсы. GPRS всегда выделяется оператором по остаточному принципу, а у голосовых соединений наивысший приоритет.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Контекст может быть деактивирован оператором принудительно. Внешне данный случай выглядит как предыдущий (п. 3), и обрабатывать его следует аналогично.

Следует предусмотреть случай, когда переинициализация соединения не дает желаемого эффекта. В этом случае рекомендуются штатное выключение/включение модуля и повторная попытка восстановить соединение с самого начала.

Работа со встроенным стеком протоколов TCP/IP в GSM/GPRS-модулях серии SIM800

Перейдем к практике применения встроенного стека TCP/IP на примере GSM/GPRS-модуля SIM800C, а точнее, на примере отладочного набора (рис. 7). В качестве сервера для наглядности будем использовать ПК с внешним статическим IP-адресом и учебную программу Server (рис. 8) примитивный TCP-сервер.

Рис. 7. Отладочный набор для GSM/GPRS- модуля SIM800C

При запуске программы сервер уже готов к работе. В окне программы всегда отображается информация об IP-адресе сервера и номере порта для подключения.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Эту информацию мы и используем при открытии соединения на стороне SIM800C. Также в окне программы есть поля Received (для отображения принятых данных от удаленной стороны, от SIM800C) и Sending (для ввода данных в сторону удаленной стороны, к SIM800C). Данные по умолчанию отправляются/принимаются в формате ASCII-символов. Если требуется передавать произвольные бинарные данные, то для этого нужно поставить галочку возле параметра HEX.

Рис. 8. Окно программы Server

Итак, ниже приведен рабочий АТ-лог, который можно применить на практике. После каждой AT-команды для модуля SIM800C идут ответы и сообщения от модуля. Данный лог демонстрирует инициализацию стека, настройку контекста и открытие соединения с удаленным сервером, а также различные способы обмена данными в командном и прозрачном режимах.

Инициализация

AT+CPIN? // Проверка готовности SIM-карты.

+CPIN: READY

OK

AT+CSQ // Уровень сигнала RSSI = 20 ед.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной  
(примерно -73 дБм), удовлетворительный уровень.

+CSQ: 20,0

OK

AT+CREG? // Проверка наличия регистрации в сети GSM.

+CREG: 0,1

OK

AT+CGATT? // Проверка доступа к услугам пакетной передачи данных.

+CGATT: 1

OK

AT+CIPMODE=0 // Командный режим передачи данных.

OK

AT+CIPMUX=0 // Моносокет.

OK

Настройка контекста и открытие соединения

AT+CIPSTATUS

OK

STATE: IP INITIAL

AT+CSTT=”internet” // Настройка точки доступа.

OK

AT+CIPSTATUS

OK

STATE: IP START

AT+CIICR // Активация контекста.

OK

AT+CIPSTATUS

OK

STATE: IP GPRSACT

AT+CIFSR

100.91.34.225

AT+CIPSTATUS

OK

STATE: IP STATUS

AT+CIPSTART=”TCP”,”81.95.20.18”,2020 // Открытие соединения с удаленным сервером.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной 

OK

CONNECT OK // Сообщение об успешном открытии соединения.

AT+CIPSTATUS

OK

STATE: CONNECT OK

Передача данных с подтверждением в командном режиме

AT+CIPSEND? // Проверяем максимальный размер данных, которые можно послать в сторону удаленной стороны. Этот размер зависит от сети.

+CIPSEND: 1460

OK

AT+CIPQSEND? // Нормальный режим передачи данных. В этом режиме каждая порция высланных данных подтверждается сообщением SEND OK, что означает, что сервер данные принял и подтвердил их получение.

+CIPQSEND: 0

OK

AT+CIPSEND=100 // Передача 100 байт данных.

> // Приглашение. hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello // Размер данных не должен быть больше 1460 байт, 
и в конце блока данных следует байт 0x1A.

SEND OK // Данные успешно переданы.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной 

AT+CIPSEND // Передача данных произвольного размера.

> hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello // Размер данных не должен быть больше 1460 байт, и в конце блока данных следует байт 0x1A.

SEND OK

Быстрая передача данных в командном режиме

AT+CIPQSEND=1 // Режим быстрой передачи данных. Этот режим подразумевает передачу данных без ожидания от сервера подтверждения о получении.

OK

AT+CIPSEND=100 // Передача 100 байт данных.

> hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello

DATA ACCEPT:100 // Модуль принял данные в свой буфер и вышлет их в сторону сервера в фоновом режиме.

AT+CIPACK // Проверка: 300 байт передано на сервер, из них 300 байт сервером приняты и подтверждены.

+CIPACK: 300,300,0

OK

AT+CIPSEND // Передача данных произвольного размера происходит аналогичным образом.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной 

> hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello

DATA ACCEPT:100

AT+CIPACK

+CIPACK: 400,400,0

OK

AT+CIPQSEND=0 // Нормальный режим передачи данных.

OK

Прием данных в командном режиме, автоматический вывод принятых данных

AT // Модуль находится в командном режиме;

OK

AT

OK

HelloHelloHelloHelloHelloHelloHelloHelloHelloHello // Данные, принятые от сервера, выводятся из порта UART модуля автоматически. Данные выводятся как есть, и это неудобно, поэтому будут полезны следующие настройки.

AT

OK

AT+CIPHEAD=1 // Перед блоком данных, принятых от сервера, добавлять заголовок формата +IPD,<длина блока данных>.

OK

AT+CIPSRIP=1 // При приеме данных показывать уведомление в виде RECV FROM:<IP адрес отправителя>,<порт>.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной 

OK

Прием данных в командном режиме, ручной вывод принятых данных

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

AT+CIPCLOSE // Закрытие соединения.

CLOSE OK

AT+CIPSTATUS

OK

STATE: TCP CLOSED

AT+CIPSHUT // Деактивация контекста.

SHUT OK

AT+CIPRXGET?

+CIPRXGET: 0 // Автоматический вывод принятых данных.

OK

AT+CIPRXGET=1 // Настройка ручного вывода данных.

OK

AT+CSTT

OK

AT+CIICR

OK

AT+CIFSR

100.69.113.182

AT+CIPSTART=”TCP”,”81.95.20.18”,2020

OK

CONNECT OK

AT

OK

AT

OK

+CIPRXGET: 1,”81.95.20.18:2020” // Уведомление 
о приеме данных от сервера.

AT

OK

AT+CIPRXGET=4 // Уточнение размера принятых данных.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной 

+CIPRXGET: 4,100 // Пришло 100 байт данных.

OK

AT+CIPRXGET=2,20 // Вывести 20 байт в порт UART;

+CIPRXGET: 2,20,80,”81.95.20.18:2020” // В буфере модуля осталось 80 байт.

HelloHelloHelloHello // Запрошенные 20 байт данных.

OK

AT+CIPRXGET=2,20 // Вывести 20 байт в порт UART.

+CIPRXGET: 2,20,60,”81.95.20.18:2020” // В буфере модуля осталось 60 байт.

HelloHelloHelloHello // Запрошенные 20 байт данных.

OK

AT+CIPRXGET=2,60 // Вывести 60 байт в порт UART.

+CIPRXGET: 2,60,0,”81.95.20.18:2020” // Приемный буфер модуля пуст.

HelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHello // Запрошенные 60 байт данных.

OK

AT+CIPRXGET=4 // Проверка наличия данных в буфере модуля.

+CIPRXGET: 4,0 // Буфер пуст.

OK

Обмен данными с сервером в прозрачном режиме

Для смены режима передачи данных требуется разорвать соединение и деактивировать контекст.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

AT+CIPCLOSE

CLOSE OK

AT+CIPSHUT

SHUT OK

AT+IFC=2,2 // Аппаратный контроль потока должен быть включен, чтобы избежать потери данных.

OK

AT+CIICR

OK

AT+CIFSR

100.104.155.220

AT+CIPSTART=”TCP”,”81.95.20.18”,2020

OK

CONNECT // Соединение установлено.

* * *

Благодаря подробному освещению возможностей встроенного стека протоколов TCP/IP новой линейки модулей серии SIM800, выгод его применения и приведению объемного исчерпывающего примера работы со стеком в различных режимах, данная статья поможет разработчику быстро освоить материал официальных руководств по применению модулей SIMCom Wireless Solutions и послужит в разработке отправной точкой.

Литература

  1. www.simcomm2m.com/russian
  2. Батуев Б. Embedded AT: начало работы с технологией интеграции пользовательского ПО в GSM/GPRS-модуль SIM800/SIM800H // Беспроводные технологии.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной 2014. № 3.
  3. Руководство по применению встроенного стека протоколов TCP/IP GSM/GPRS-модулей серии SIM800SIM800. Series_TCPIP_Application Note_V1.01.pdf.
  4. Система АТ-команд GSM/GPRS-модулей серии SIM800. SIM800_Series_AT_Command_ Manual_V1.09.pdf.

Бюджетная GSM сигнализация с мозгами из Arduino

Внимание! Команды выделенные жирным шрифтом могут быть выполнены только с основного номера, так как отвечают за конфигурацию устройства. Остальные команды могут быть выполнены с номеров с признаком «Management».

SMS — команды управления не чувствительны к регистру:
AddPhone — Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone или FullReset. Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Невозможно добавить два одинаковых номера.
Пример команды:
До версии GSM_2017_05_26-20-22.hex:

AddPhone:2+71234567891m

AddPhone:3+71234567892a

AddPhone:4+71234567893

AddPhone:5+71234567894ma

Начиная с версии GSM_2017_05_26-20-22.hex:

AddPhone:2+71234567891mrsp

AddPhone:3+71234567892ms

AddPhone:4+71234567893sp

AddPhone:5+71234567894r

Синтаксис команды:

AddPhone — команда
: — разделитель
5 — записать в пятую ячейку памяти
+71234567890 — номер телефона
До версии GSM_2017_05_26-20-22.hex:
а — Параметр «Alarm» — на номера с этим параметром будут отправляться смс — сообщения о срабатывании сигнализации и сообщения постановке или снятии с охраны.
Начиная с версии GSM_2017_05_26-20-22.hex:
m — Параметр «Management» — разрешено управление сигнализацией
s — Параметр «SMS» — будет отправлено sms сообщение при срабатывании датчиков
r — Параметр «Ring» — будет совершен голосовой вызов при срабатывании датчиков
p — Параметр «Power» — будет отправлено sms сообщение при включении/отключении внешнего питания
i — Параметр «Info» — будет отправлено sms сообщение при постановке или снятии с охраны
При отсутствии параметров «m», «s», «r», «p»,«i» телефон заносится в память, но никак не используется.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

DeletePhone — Удалить номер телефона.
Пример команды:

DeletePhone:+71234567891

Синтаксис команды:

DeletePhone — команда
: — разделитель
+71234567891 — номер телефона

EditMainPhone — Изменить параметры «s», «r», «p», «i» основного телефона, этот номер занесён в первую ячейку памяти.
Пример команды:

EditMainPhone:spri

Синтаксис команды:

EditMainPhone — команда
: — разделитель
srpi — параметры

BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:

BalanceNum:#103#L24

Синтаксис команды:

BalanceNum — команда
: — разделитель
#103# — номер запроса баланса
L24 — Длина (len) пересылаемого ответа 24 символа, обрезаем спам из запроса баланса.

EditSensor — Изменить название датчика и логический уровень срабатывания.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Всего может быть не более 8 дополнительных датчиков. После изменения параметров необходима перезагрузка устройства.
Пример команды:

EditSensor:1+Datchik dvizheniya v koridore#h

EditSensor:2+Gerkon na okne

Синтаксис команды:

EditSensor — команда
: — разделитель
1 — записать в первую ячейку памяти
+ — разделитель
Datchik dvizheniya v koridore — название датчика, не может превышать 36 символов, включая пробелы.
#h — Признак высокого логического уровня с датчика, при получении которого сработает сигнализация. Если отсутствует «#h», сигнализация будет срабатывать при получении с датчика низкого логического уровня.

SleepTime — Время «засыпания» сигнализации при получении смс — команды «Pause», указывается в минутах. Значение по умолчанию: 15, не может быть менее 1 и более 60.
Пример команды:

SleepTime:20

Синтаксис команды:

SleepTime — команда
: — разделитель
20 — 20 минут «сна».Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

AlarmPinTime — Время на которое включается/выключается тревожный/инверсный пин, указывается в секундах. Значение по умолчанию: 60, не может быть менее 1 секунды и более 43200 секунд (12 часов).
Пример команды:

AlarmPinTime:30

Синтаксис команды:

AlarmPinTime — команда
: — разделитель
30 — 30 секунд включения/выключения тревожного пина.

DelayBeforeGuard — Время до постановки устройства на охрану, после получения соответствующей команды.
Пример команды:

DelayBeforeGuard:25

Синтаксис команды:

DelayBeforeGuard — команда
: — разделитель
25 — 25 секунд до постановки на охрану

DelayBeforeAlarm — Время по истечении которого будет отправлено «тревожное» смс уведомление, если за этот период времени сигнализация не была снята с охраны. Заменена расширенными командами начиная с версии GSM_2017_08_10-12-17.hex
Пример команды:

DelayBeforeAlarm:40

Синтаксис команды:

DelayBeforeAlarm — команда
: — разделитель
40 — 40 секунд до отправки «тревожного» уведомления

WatchPowerTime — Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:

WatchPowerTime:5

Синтаксис команды:

WatchPowerTime — команда
: — разделитель
5 — 5 минут до отправки смс сообщения

RingTime — Длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд.
Пример команды:

RingTime:40

Синтаксис команды:

RingTime — команда
: — разделитель
40 — 40 длительность вызова составит 40 секунд, после чего будет вызван следующий абонент.

ModemID — Принудительная установка модели используемого модема. Возможные значения: 0 — автоопределение модема, 1 — M590, 2 — SIM800l, 3 — A6_Mini.
Пример команды:

ModemID:2

Синтаксис команды:

ModemID — команда
: — разделитель
2 — ID модема.

ExtDeviceTime — Количество секунд на которое изменится уровень сигнала на выходе управления внешним устройством.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
Пример команды:

ExtDeviceTime:5

Синтаксис команды:

ExtDeviceTime- команда
: — разделитель
5 — 5 секунд

ExtDeviceLevelLow — Внешнее устройство подключенное к выходу A3 управляется низким уровнем сигнала (GND). На выходе по умолчанию будет присутствовать высокий уровень +5В, пока не поступит команда управления внешним устройством
ExtDeviceLevelHigh — Внешнее устройство подключенное к выходу A3 управляется высоким уровнем сигнала (+5V). На выходе по умолчанию будет присутствовать низкий уровень GND, пока не поступит команда управления внешним устройством

ResetSensor — сброс параметров датчиков расширителя порта

ResetConfig — сброс настроек на заводские установки

ResetPhone — удаление из памяти всех телефонных номеров

FullReset — сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.

RingOn — включить уведомление звонком на «главный» номер записанный в первую ячейку памяти при срабатывании датчика.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Удалена начиная с версии GSM_2017_06_11-00-07.hex
RingOff — выключить уведомление звонком при срабатывании датчика. Удалена начиная с версии GSM_2017_06_11-00-07.hex

SmsOn — включить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex
SmsOff — выключить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex

PIROn — включить обработку датчика движения
PIROff — выключить обработку датчика движения

ReedSwitchOn — включить обработку основного герконового датчика
ReedSwitchOff — выключить обработку основного герконового датчика

WatchPowerOn — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану. Удалена начиная с версии GSM_2017_03_01-23-37.

WatchPowerOn1 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
WatchPowerOn2 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено

WatchPowerOff — выключить контроль внешнего питания

GuardButtonOn — управление сигнализацией внешними устройствами или кнопкой включено Удалена начиная с версии GSM_2017_04_16-12-00.
GuardButtonOn1 — функция постановки или снятия охраны внешними устройствами или кнопкой включена
GuardButtonOn2 — функция только постановки на охрану внешними устройствами или кнопкой включена, снятие с охраны производится по звонку на устройство или с помощью смс команды.
GuardButtonOff — управление сигнализацией внешними устройствами или кнопкой выключено

Reboot — перезагрузка устройства (Arduino)

PCFForceOn — постоянный мониторинг группы всех датчиков модуля расширения
PCFForceOff — мониторинг группы всех датчиков модуля расширения только при постановке устройства на охрану

MainSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (D6) от датчика
MainSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (D6) от датчика
MainSensorLevelOff — обработка датчика на входе (D6) отключена

SecondSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (A0) от датчика
SecondSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (A0) от датчика
SecondSensorLevelOff — обработка датчика на входе (A0) отключена

MainDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании основного датчика (D6), если за этот период времени сигнализация не была снята с охраны.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Синтаксис аналогичен команде DelayBeforeAlarm.
SecondDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании дополнительного датчика (A0), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.
PCFDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании датчиков платы расширения (PCF8574), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.

GuardOn — поставить на охрану
GuardOff — снять охраны

Open — команда управления внешним устройством

Info — проверить состояние, в ответ на это сообщение будет отправлено sms с информацией о том с какого номера была включена/выключена охрана

Pause — приостанавливает работу системы на время установленное командой sleeptime в минутах, система не реагирует на срабатывания датчика.

TestOn — включается тестовый режим, мигает синим светодиодом.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
TestOff — выключается тестовый режим.

LedOff — выключает светодиод режима ожидания.
LedOn — включает светодиод режима ожидания.

Money — запроса баланса.

ClearSms — Удалить из памяти все sms

Консольные команды (до версии GSM_2017_04_24-13-22.hex) — вводятся в мониторе порта Arduino IDE:

AddPhone — аналогична sms-команде AddPhone

DeletePhone — аналогична sms-команде DeletePhone

EditSensor — аналогична sms-команде EditSensor

ListPhone — вывод в монитор порта списка сохранённых в памяти телефонов

ResetConfig — аналогична sms-команде ResetConfig

ResetPhone — аналогична sms-команде ResetPhone

FullReset — аналогична sms-команде FullReset

ClearSms — аналогична sms-команде ClearSms

WatchPowerOn1 — аналогична sms-команде WatchPowerOn1
WatchPowerOn2 — аналогична sms-команде WatchPowerOn2
WatchPowerOff — аналогична sms-команде WatchPowerOff

GuardButtonOn — аналогична sms-команде GuardButtonOn .Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Удалена начиная с версии GSM_2017_04_16-12-00
GuardButtonOn1 — аналогична sms-команде GuardButtonOn1
GuardButtonOn2 — аналогична sms-команде GuardButtonOn2
GuardButtonOff — аналогична sms-команде GuardButtonOff

Memtest — тест энергонезависимой памяти устройства, все настройки устройства будут сброшены, аналогично команде FullReset.

I2CScan — поиск и инициализация поддерживаемых устройств на шине I2C.

ListConfig — вывод в монитор порта текущей конфигурации устройства.

ListSensor — вывод в монитор порта текущей конфигурации датчиков.

Пользовательские блоки для работы с GSM модулями. – FLProg

Блок работает по принципу Запрос-Ответ. Модулю посылается команда, и анализируется ответ.
Тем самым удалось полностью уйти от временных задержек и использования оператора delay()(останавливает выполнение всей программы на указанное количество мс), который используется в большинстве примеров по работе с такими модулями.

1.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Для M590
Реализованы следующие функции:
– Отправка SMS (только латинский вариант)
– Прием SMS (только латинский вариант)
– Обработка входящего звона.
* Определение номера звонящего
* Подсчет числа гудков входящего вызова
* Сброс вызова
*Так как модуль не имеет входов под микрофон и динамик, остальные функции голосового соединения не реализованы.
– Периодический опрос модуля на :
* Наличие регистрации в сети оператора
* Уровень сигнала, в dBm
* Имя оператора сотовой связи
* Текущее время модуля . Синхронизации времени с вышкой сотовой связи, идет при запуске модуля, для повторной, его необходимо перезагрузить
– Работа с USSD запросами
– Работа с телефонной книгой SIM-карты. Предназначено для возможности задачи рабочих номеров не в проекте, а на сим карте, и главное возможности смены рабочих номеров, без перепрограммирования контроллера.

-Реализовано возможность исходящего голосового вызова (разговор невозможен, не имеет входов под микрофон и динамик )
-Добавлен параметр выбора частоты работы сотовой связи авто/900/1800.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
2 Для SIM800
Поддерживает все функции описанные для M590, за некоторыми отличиями:
– Обработка входящих звонков, возможно установка соединения и разговора
– Исходящий голосовой вызов
– Поддержка приема DTMF кодов.
Подробнее в описании блока.
3 Для SIM900
Поддерживает все функции описанные для SIM800, за некоторыми отличиями:
– Поддержка приема DTMF кодов. (Не работает в некоторых прошивках, в этом случаи надо отключать через параметры )
Подробнее в описании блока.

Блок может работать как с аппаратными COM портами, так и SoftwareSerial.

Ограничения при использовании SoftwareSerial
На платах Arduino Mega и Mega2560 некоторые выводы не поддерживают прерывания, возникающие при изменении уровня сигнала. В силу этого, на данных платах в качестве вывода RX могут использоваться только следующие выводы: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
На Arduino Leonardo некоторые выводы не поддерживают прерывания, возникающие при изменении уровня сигнала. Поэтому, на этой плате в качестве вывода RX могут использоваться только следующие выводы: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

Подробнее в описании блока.

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

Перед началом работы с модулем необходимо подключится к модулю напрямую.
Используем USB – com преобразователь (возможно использовать для этих целей платы ардуино с замкнутым GND и RESET) Произвести ряд настроек, как это делаться читайте с статьях приведенный в конце.
Обязательно настройка порта (AT+IPR=).
Для модуля SIM800, также включить получение времени ( AT+CLTS=1)

Еще прилагаю два блока для расшифровки времени, которое выдает блок работы с GSM модулем.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

В разработке и тестировании блоков очень помогли пользователи НовыйUser, stapmoff,

Обещанные ссылки :
GSM модуль NEOWAY M590 – описание и команды управления
Отправка СМС через Arduino и GSM модуль NEOWAY M590
Подключение GSM модуля SIM800L к Arduino
GSM/GPRS модуль SIM900
GSM/GPRS модуль SIM900. Часть вторая.

Вложения

  • GSM-NEW

    Date added: 10.11.2019 11:54

    File size: 22 MB

    Downloads: 1873

Publication author

574

Comments: 14Publics: 363Registration: 04-02-2018

Бюджетная GSM сигнализация с мозгами из Arduino

Внимание! Команды выделенные жирным шрифтом могут быть выполнены только с основного номера, так как отвечают за конфигурацию устройства. Остальные команды могут быть выполнены с номеров с признаком «Management».Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

SMS — команды управления не чувствительны к регистру:
AddPhone — Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone или FullReset. Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс. Возможно добавить два одинаковых номера, но тогда у номера дубликата автоматически остаётся только признак «r» — исключительно для повторного голосового вызова.

Пример команды:

До версии GSM_2017_05_26-20-22.hex:

AddPhone:2+71234567891m

AddPhone:3+71234567892a

AddPhone:4+71234567893

AddPhone:5+71234567894ma

Начиная с версии GSM_2017_05_26-20-22.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной hex:

AddPhone:2+71234567891mrsp

AddPhone:3+71234567892ms

AddPhone:4+71234567893sp

AddPhone:5+71234567894r

Синтаксис команды:

AddPhone — команда

: — разделитель

5 — записать в пятую ячейку памяти

+71234567890 — номер телефона

До версии GSM_2017_05_26-20-22.hex:

а — Параметр «Alarm» — на номера с этим параметром будут отправляться смс — сообщения о срабатывании сигнализации и сообщения постановке или снятии с охраны.
Начиная с версии GSM_2017_05_26-20-22.hex:

m — Параметр «Management» — разрешено управление сигнализацией

s — Параметр «SMS» — будет отправлено sms сообщение при срабатывании датчиков

r — Параметр «Ring» — будет совершен голосовой вызов при срабатывании датчиков

p — Параметр «Power» — будет отправлено sms сообщение при включении/отключении внешнего питания

i — Параметр «Info» — будет отправлено sms сообщение при постановке или снятии с охраны
При отсутствии параметров «m», «s», «r», «p»,«i» телефон заносится в память, но никак не используется.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

DeletePhone — Удалить номер телефона.
Пример команды:

DeletePhone:+71234567891

Синтаксис команды:

DeletePhone — команда

: — разделитель

+71234567891 — номер телефона

EditMainPhone — Изменить параметры «s», «r», «p», «i» основного телефона, этот номер занесён в первую ячейку памяти.
Пример команды:

EditMainPhone:spri

Синтаксис команды:

EditMainPhone — команда

: — разделитель

srpi — параметры

BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:

BalanceNum:#103#L24

Синтаксис команды:

BalanceNum — команда

: — разделитель

#103# — номер запроса баланса

L24 — Длина (len) пересылаемого ответа 24 символа, обрезаем спам из запроса баланса.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной

EditSensor — Изменить название датчика и логический уровень срабатывания. Всего может быть не более 8 дополнительных датчиков. После изменения параметров необходима перезагрузка устройства.
Пример команды:

EditSensor:1+Datchik dvizheniya v koridore#h

EditSensor:2+Gerkon na okne

Синтаксис команды:

EditSensor — команда

: — разделитель

1 — записать в первую ячейку памяти

+ — разделитель

Datchik dvizheniya v koridore — название датчика, не может превышать 36 символов, включая пробелы.

#h — Признак высокого логического уровня с датчика, при получении которого сработает сигнализация. Если отсутствует «#h», сигнализация будет срабатывать при получении с датчика низкого логического уровня.

SleepTime — Время «засыпания» сигнализации при получении смс — команды «Pause», указывается в минутах.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Значение по умолчанию: 15, не может быть менее 1 и более 60.
Пример команды:

SleepTime:20

Синтаксис команды:

SleepTime — команда

: — разделитель

20 — 20 минут «сна».

AlarmPinTime — Время на которое включается/выключается тревожный/инверсный пин, указывается в секундах. Значение по умолчанию: 60, не может быть менее 1 секунды и более 43200 секунд (12 часов).
Пример команды:

AlarmPinTime:30

Синтаксис команды:

AlarmPinTime — команда

: — разделитель

30 — 30 секунд включения/выключения тревожного пина.

DelayBeforeGuard — Время до постановки устройства на охрану, после получения соответствующей команды.
Пример команды:

DelayBeforeGuard:25

Синтаксис команды:

DelayBeforeGuard — команда

: — разделитель

25 — 25 секунд до постановки на охрану

DelayBeforeAlarm — Время по истечении которого будет отправлено «тревожное» смс уведомление, если за этот период времени сигнализация не была снята с охраны.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной Заменена расширенными командами начиная с версии GSM_2017_08_10-12-17.hex
Пример команды:

DelayBeforeAlarm:40

Синтаксис команды:

DelayBeforeAlarm — команда

: — разделитель

40 — 40 секунд до отправки «тревожного» уведомления

WatchPowerTime — Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:

WatchPowerTime:5

Синтаксис команды:

WatchPowerTime — команда

: — разделитель

5 — 5 минут до отправки смс сообщения

RingTime — Длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд.Arduino gsm a6: Модуль GSM GPRS A6 SMS Speech на плате с антенной
Пример команды:

RingTime:40

Синтаксис команды:

RingTime — команда

: — разделитель

40 — 40 длительность вызова составит 40 секунд, после чего будет вызван следующий абонент.

ModemID — Принудительная установка модели используемого модема. Возможные значения: 0 — автоопределение модема, 1 — M590, 2 — SIM800l, 3 — A6_Mini.
Пример команды:

ModemID:2

Синтаксис команды:

ModemID — команда

: — разделитель

2 — ID модема.

ExtDeviceTime — Количество секунд на которое изменится уровень сигнала на выходе управления внешним устройством.
Пример команды:

ExtDeviceTime:5

Синтаксис команды:

ExtDeviceTime- команда

: — разделитель

5 — 5 секунд

ExtDeviceLevelLow — Внешнее устройство подключенное к выходу A3 управляется низким уровнем сигнала (GND). На выходе по умолчанию будет присутствовать высокий уровень +5В, пока не поступит команда управления внешним устройством
ExtDeviceLevelHigh — Внешнее устройство подключенное к выходу A3 управляется высоким уровнем сигнала (+5V). На выходе по умолчанию будет присутствовать низкий уровень GND, пока не поступит команда управления внешним устройством

ResetSensor — сброс параметров датчиков расширителя порта

ResetConfig — сброс настроек на заводские установки

ResetPhone — удаление из памяти всех телефонных номеров

FullReset — сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.

RingOn — включить уведомление звонком на «главный» номер записанный в первую ячейку памяти при срабатывании датчика. Удалена начиная с версии GSM_2017_06_11-00-07.hex
RingOff — выключить уведомление звонком при срабатывании датчика. Удалена начиная с версии GSM_2017_06_11-00-07.hex

SmsOn — включить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex
SmsOff — выключить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex

PIROn — включить обработку датчика движения
PIROff — выключить обработку датчика движения

ReedSwitchOn — включить обработку основного герконового датчика
ReedSwitchOff — выключить обработку основного герконового датчика

WatchPowerOn — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану. Удалена начиная с версии GSM_2017_03_01-23-37.

WatchPowerOn1 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану.
WatchPowerOn2 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено

WatchPowerOff — выключить контроль внешнего питания

GuardButtonOn — управление сигнализацией внешними устройствами или кнопкой включено Удалена начиная с версии GSM_2017_04_16-12-00.
GuardButtonOn1 — функция постановки или снятия охраны внешними устройствами или кнопкой включена
GuardButtonOn2 — функция только постановки на охрану внешними устройствами или кнопкой включена, снятие с охраны производится по звонку на устройство или с помощью смс команды.
GuardButtonOff — управление сигнализацией внешними устройствами или кнопкой выключено

Reboot — перезагрузка устройства (Arduino)

PCFForceOn — постоянный мониторинг группы всех датчиков модуля расширения
PCFForceOff — мониторинг группы всех датчиков модуля расширения только при постановке устройства на охрану

MainSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (D6) от датчика
MainSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (D6) от датчика
MainSensorLevelOff — обработка датчика на входе (D6) отключена

SecondSensorLevelHigh — тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (A0) от датчика
SecondSensorLevelLow — тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (A0) от датчика
SecondSensorLevelOff — обработка датчика на входе (A0) отключена

MainDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании основного датчика (D6), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.
SecondDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании дополнительного датчика (A0), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.
PCFDelayBeforeAlarm — время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании датчиков платы расширения (PCF8574), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.

GuardOn — поставить на охрану

GuardOff — снять охраны

Open — команда управления внешним устройством

Info — проверить состояние, в ответ на это сообщение будет отправлено sms с информацией о том с какого номера была включена/выключена охрана

Pause — приостанавливает работу системы на время установленное командой sleeptime в минутах, система не реагирует на срабатывания датчика.

TestOn — включается тестовый режим, мигает синим светодиодом.

TestOff — выключается тестовый режим.

LedOff — выключает светодиод режима ожидания.

LedOn — включает светодиод режима ожидания.

Money — запроса баланса.

ClearSms — Удалить из памяти все sms

Консольные команды (до версии GSM_2017_04_24-13-22.hex) — вводятся в мониторе порта Arduino IDE:

AddPhone — аналогична sms-команде AddPhone

DeletePhone — аналогична sms-команде DeletePhone

EditSensor — аналогична sms-команде EditSensor

ListPhone — вывод в монитор порта списка сохранённых в памяти телефонов

ResetConfig — аналогична sms-команде ResetConfig

ResetPhone — аналогична sms-команде ResetPhone

FullReset — аналогична sms-команде FullReset

ClearSms — аналогична sms-команде ClearSms

WatchPowerOn1 — аналогична sms-команде WatchPowerOn1

WatchPowerOn2 — аналогична sms-команде WatchPowerOn2

WatchPowerOff — аналогична sms-команде WatchPowerOff

GuardButtonOn — аналогична sms-команде GuardButtonOn . Удалена начиная с версии GSM_2017_04_16-12-00

GuardButtonOn1 — аналогична sms-команде GuardButtonOn1

GuardButtonOn2 — аналогична sms-команде GuardButtonOn2

GuardButtonOff — аналогична sms-команде GuardButtonOff

Memtest — тест энергонезависимой памяти устройства, все настройки устройства будут сброшены, аналогично команде FullReset.

I2CScan — поиск и инициализация поддерживаемых устройств на шине I2C.

ListConfig — вывод в монитор порта текущей конфигурации устройства.

ListSensor — вывод в монитор порта текущей конфигурации датчиков.

gravity__uart_a6_gsm _ & _ gprs_module_sku__tel0113-DFRobot

  • ДОМ
  • СООБЩЕСТВО
  • ФОРУМ
  • БЛОГ
  • ОБРАЗОВАНИЕ

ДОМА
ФОРУМ
БЛОГ


  • Контроллер


    • DFR0010 Arduino Nano 328

    • DFR0136 Сервоконтроллер Flyduino-A 12

    • DFR0225 Romeo V2-Все в одном контроллере R3

    • Arduino_Common_Controller_Selection_Guide

  • DFR0182 Беспроводной геймпад V2.0

  • DFR0100 Комплект для начинающих DFRduino для Arduino V3

  • DFR0267 Блуно

  • DFR0282 Жук

  • DFR0283 Мечтательный клен V1.0

  • DFR0296 Блуно Нано

  • DFR0302 MiniQ 2WD Plus

  • DFR0304 Беспроводной геймпад BLE V2

  • DFR0305 RoMeo BLE

  • DFR0351 Romeo BLE mini V2.0

  • DFR0306 Блуно Мега 1280

  • DFR0321 Узел Wido-WIFI IoT

  • DFR0323 Блуно Мега 2560

  • DFR0329 Блуно М3

  • DFR0339 Жук Блуно

  • DFR0343 Контроллер с низким энергопотреблением UHex

  • DFR0355 SIM808 с материнской платой Leonardo

  • DFR0392 DFRduino M0 материнская плата, совместимая с Arduino

  • DFR0398 Контроллер роботов Romeo BLE Quad

  • DFR0416 Bluno M0 Материнская плата

  • DFR0575 Жук ESP32

  • DFR0133 X-Доска

  • DFR0162 X-Board V2

  • DFR0428 3.5-дюймовый сенсорный TFT-экран для Raspberry Pi

  • DFR0494 Raspberry Pi ШАПКА ИБП

  • DFR0514 DFR0603 IIC 16X2 RGB LCD KeyPad HAT V1.0

  • DFR0524 5.5 HDMI OLED-дисплей с емкостным сенсорным экраном V2.0

  • DFR0550 5-дюймовый TFT-дисплей с сенсорным экраном V1.0

  • DFR0591 модуль дисплея raspberry pi e-ink V1.0

  • DFR0592 Драйвер двигателя постоянного тока HAT

  • DFR0604 HAT расширения ввода-вывода для Pi zero V1.0

  • DFR0566 Шляпа расширения ввода-вывода для Raspberry Pi

  • DFR0528 Шляпа ИБП для Raspberry Pi Zero

  • DFR0331 Romeo для контроллера Edison

  • DFR0453 DFRobot CurieNano — мини-плата Genuino Arduino 101

  • TEL0110 CurieCore Intel® Curie Neuron Module

  • DFR0478 Микроконтроллер FireBeetle ESP32 IOT (V3.0) с поддержкой Wi-Fi и Bluetooth

  • DFR0483 FireBeetle Covers-Gravity I O Expansion Shield

  • FireBeetle Covers-24 × 8 светодиодная матрица

  • TEL0121 FireBeetle Covers-LoRa Radio 433 МГц

  • TEL0122 FireBeetle Covers-LoRa Radio 915 МГц

  • TEL0125 FireBeetle охватывает LoRa Radio 868MHz

  • DFR0489 FireBeetle ESP8266 Микроконтроллер IOT

  • DFR0492 FireBeetle Board-328P с BLE4.1

  • DFR0498 FireBeetle Covers-Camera & Audio Media Board

  • DFR0507 FireBeetle Covers-OLED12864 Дисплей

  • DFR0508 FireBeetle Covers-Двигатель постоянного тока и шаговый драйвер

  • DFR0511 FireBeetle Covers-ePaper Черно-белый дисплейный модуль

  • DFR0531 FireBeetle Covers-ePaper Черно-белый и красный дисплейный модуль

  • DFR0536 Micro bit плата расширения геймпада

  • DFR0548 Плата расширения микробитового драйвера

  • ROB0148 micro: Maqueen для micro: bit

  • ROB0150 Microbit Круглая плата расширения для светодиодов RGB

  • MBT0005 Micro IO-BOX

  • SEN0159 Датчик CO2

  • DFR0049 DFRobot Датчик газа

  • TOY0058 Датчик атмосферного давления

  • SEN0220 Инфракрасный датчик CO2 0-50000ppm

  • SEN0219 Гравитационный аналоговый инфракрасный датчик CO2 для Arduino

  • SEN0226 Датчик барометра Gravity I2C BMP280

  • SEN0231 Датчик силы тяжести HCHO

  • SEN0251 Gravity BMP280 Датчики атмосферного давления

  • SEN0132 Датчик угарного газа MQ7

  • SEN0032 Трехосный акселерометр — ADXL345

  • DFR0143 Трехосевой акселерометр MMA7361

  • Трехосный акселерометр серии FXLN83XX

  • SEN0072 CMPS09 — Магнитный компас с компенсацией наклона

  • SEN0073 9 степеней свободы — бритва IMU

  • DFR0188 Flymaple V1.1

  • SEN0224 Трехосевой акселерометр Gravity I2C — LIS2DH

  • SEN0140 Датчик IMU с 10 степенями свободы, версия 2.0

  • SEN0250 Gravity BMI160 6-осевой инерционный датчик движения

  • SEN0253 Gravity BNO055 + BMP280 интеллектуальный 10DOF AHRS

  • SEN0001 URM37 V5.0 Ультразвуковой датчик

  • SEN0002 URM04 V2.0

  • SEN0004 SRF01 Ультразвуковой датчик

  • SEN0005 SRF02 Ультразвуковой датчик

  • SEN0006 SRF05 Ультразвуковой датчик

  • SEN0007 SRF08 Ультразвуковой датчик

  • SEN0008 SRF10 Ультразвуковой датчик

  • SEN0149 URM06-RS485 Ультразвуковой

  • SEN0150 URM06-UART Ультразвуковой

  • SEN0151 URM06-PULSE Ультразвуковой

  • SEN0152 URM06-ANALOG Ультразвуковой

  • SEN0153 Ультразвуковой датчик URM07-UART

  • SEN0246 URM08-RS485 Водонепроницаемый гидролокатор-дальномер

  • SEN0304 Ультразвуковой датчик URM09 (Gravity-I2C) (V1.0)

  • SEN0304 Ультразвуковой датчик URM09 (Gravity-I2C) (V1.0)

  • SEN0300 Водонепроницаемый ультразвуковой датчик ULS

  • SEN0301 Водонепроницаемый ультразвуковой датчик ULA

  • SEN0307 URM09 Аналог ультразвукового датчика силы тяжести

  • SEN0311 A02YYUW Водонепроницаемый ультразвуковой датчик

  • SEN0312 ME007YS Водонепроницаемый ультразвуковой датчик

  • SEN0313 A01NYUB Водонепроницаемый ультразвуковой датчик

  • DFR0066 SHT1x Датчик влажности и температуры

  • DFR0067 DHT11 Датчик температуры и влажности

  • SEN0137 DHT22 Модуль температуры и влажности

  • DFR0023 Линейный датчик температуры DFRobot LM35

  • DFR0024 Gravity DS18B20 Датчик температуры, совместимый с Arduino V2

  • DFR0024 Gravity DS18B20 Датчик температуры, совместимый с Arduino V2

  • SEN0114 Датчик влажности

  • Датчик температуры TOY0045 TMP100

  • TOY0054 SI7021 Датчик температуры и влажности

  • SEN0206 Датчик инфракрасного термометра MLX

  • SEN0227 SHT20 Водонепроницаемый датчик температуры и влажности I2C

  • SEN0236 Gravity I2C BME280 Датчик окружающей среды Температура, влажность, барометр

  • SEN0248 Gravity I2C BME680 Датчик окружающей среды VOC, температура, влажность, барометр

  • DFR0558 Цифровой высокотемпературный датчик силы тяжести типа К

  • SEN0308 Водонепроницаемый емкостный датчик влажности почвы

  • SEN0019 Регулируемый переключатель инфракрасного датчика

  • SEN0042 DFRobot Инфракрасный датчик прорыва

  • SEN0143 SHARP GP2Y0A41SK0F ИК-датчик рейнджера 4-30 см

  • SEN0013 Sharp GP2Y0A02YK ИК-датчик рейнджера 150 см

  • SEN0014 Sharp GP2Y0A21 Датчик расстояния 10-80 см

  • SEN0085 Sharp GP2Y0A710K Датчик расстояния 100-550 см

  • Модуль цифрового ИК-приемника DFR0094

  • DFR0095 Модуль цифрового ИК-передатчика

  • SEN0018 Цифровой инфракрасный датчик движения

  • DFR0107 ИК-комплект

  • SEN0264 TS01 ИК-датчик температуры (4-20 мА)

  • SEN0169 Аналоговый pH-метр Pro

  • DFR0300-H Gravity: аналоговый датчик электропроводности (K = 10)

  • DFR0300 Гравитационный аналоговый датчик электропроводности V2 K = 1

  • SEN0165 Аналоговый измеритель ОВП

  • SEN0161-V2 Комплект гравитационного аналогового датчика pH V2

  • SEN0161 PH метр

  • SEN0237 Гравитационный аналоговый датчик растворенного кислорода

  • SEN0204 Бесконтактный датчик уровня жидкости XKC-Y25-T12V

  • SEN0205 Датчик уровня жидкости-FS-IR02

  • SEN0244 Gravity Analog TDS Sensor Meter для Arduino

  • SEN0249 Комплект измерителя pH с аналоговым наконечником копья силы тяжести для применения в почве и пищевых продуктах

  • SEN0121 Датчик пара

  • SEN0097 Датчик освещенности

  • DFR0026 Датчик внешней освещенности DFRobot

  • TOY0044 УФ-датчик

  • SEN0172 LX1972 датчик внешней освещенности

  • SEN0043 Датчик внешней освещенности TEMT6000

  • SEN0175 УФ-датчик v1.0-ML8511

  • SEN0228 Gravity I2C VEML7700 Датчик внешней освещенности

  • SEN0101 Датчик цвета TCS3200

  • DFR0022 Датчик оттенков серого DFRobot

  • Датчик отслеживания линии SEN0017 для Arduino V4

  • SEN0147 Интеллектуальный датчик оттенков серого

  • SEN0212 TCS34725 Датчик цвета I2C для Arduino

  • SEN0245 Gravity VL53L0X Лазерный дальномер ToF

  • SEN0259 TF Mini LiDAR ToF Laser Range Sensor

  • SEN0214 Датчик тока 20А

  • SEN0262 Гравитационный аналоговый преобразователь тока в напряжение для приложений 4 ~ 20 мА

  • SEN0291 Gravity: Цифровой ваттметр I2C

  • DFR0027 Цифровой датчик вибрации DFRobot V2

  • DFR0028 DFRobot Датчик наклона

  • DFR0029 Цифровая кнопка DFRobot

  • DFR0030 DFRobot емкостный сенсорный датчик

  • Модуль цифрового зуммера DFR0032

  • DFR0033 Цифровой магнитный датчик

  • DFR0034 Аналоговый звуковой датчик

  • SEN0038 Колесные энкодеры для DFRobot 3PA и 4WD Rovers

  • DFR0051 Аналоговый делитель напряжения

  • DFR0052 Аналоговый пьезодисковый датчик вибрации

  • DFR0076 Датчик пламени

  • DFR0053 Аналоговый датчик положения ползуна

  • DFR0054 Аналоговый датчик вращения V1

  • DFR0058 Аналоговый датчик вращения V2

  • Модуль джойстика DFR0061 для Arduino

  • DFR0075 AD Клавиатурный модуль

  • Модуль вентилятора DFR0332

  • SEN0177 PM2.5 лазерный датчик пыли

  • Модуль датчика веса SEN0160

  • SEN0170 Тип напряжения датчика скорости ветра 0-5 В

  • TOY0048 Высокоточный двухосевой датчик инклинометра, совместимый с Arduino Gadgeteer

  • SEN0187 RGB и датчик жестов

  • SEN0186 Метеостанция с анемометром Флюгер Дождь ведро

  • SEN0192 Датчик микроволн

  • SEN0185 датчик Холла

  • FIT0449 DFRobot Speaker v1.0

  • Датчик частоты сердечных сокращений SEN0203

  • DFR0423 Самоблокирующийся переключатель

  • SEN0213 Датчик монитора сердечного ритма

  • SEN0221 Датчик угла Холла силы тяжести

  • Датчик переключателя проводимости SEN0223

  • SEN0230 Инкрементальный фотоэлектрический датчик угла поворота — 400P R

  • SEN0235 Модуль поворотного энкодера EC11

  • SEN0240 Аналоговый датчик ЭМГ от OYMotion

  • SEN0232 Гравитационный аналоговый измеритель уровня звука

  • SEN0233 Монитор качества воздуха PM 2.5, формальдегид, датчик температуры и влажности

  • DFR0515 FireBeetle Covers-OSD Модуль наложения символов

  • SEN0257 Датчик гравитационного давления воды

  • SEN0289 Gravity: Цифровой датчик встряхивания

  • SEN0290 Gravity: Датчик молнии

  • DFR0271 GMR Плата

  • ROB0003 Pirate 4WD Мобильная платформа

  • Мобильная платформа ROB0005 Turtle 2WD

  • ROB0025 NEW A4WD Мобильный робот с кодировщиком

  • ROB0050 4WD MiniQ Полный комплект

  • ROB0111 4WD MiniQ Cherokey

  • ROB0036 Комплект роботизированной руки с 6 степенями свободы

  • Комплект наклонно-поворотного устройства FIT0045 DF05BB

  • ROB0102 Мобильная платформа Cherokey 4WD

  • ROB0117 Базовый комплект для Cherokey 4WD

  • ROB0022 4WD Мобильная платформа

  • ROB0118 Базовый комплект для Turtle 2WD

  • Робот-комплект ROB0080 Hexapod

  • ROB0112 Мобильная платформа Devastator Tank

  • ROB0114 Мобильная платформа Devastator Tank

  • ROB0124 Мобильная платформа HCR с всенаправленными колесами

  • ROB0128 Devastator Tank Мобильная платформа Металлический мотор-редуктор постоянного тока

  • ROB0137 Explorer MAX Робот

  • ROB0139 Робот FlameWheel

  • DFR0270 Accessory Shield для Arduino

  • DFR0019 Щит для прототипирования для Arduino

  • DFR0265 IO Expansion Shield для Arduino V7

  • DFR0210 Пчелиный щит

  • DFR0165 Mega IO Expansion Shield V2.3

  • DFR0312 Плата расширения Raspberry Pi GPIO

  • DFR0311 Raspberry Pi встречает Arduino Shield

  • DFR0327 Arduino Shield для Raspberry Pi 2B и 3B

  • DFR0371 Экран расширения ввода-вывода для Bluno M3

  • DFR0356 Щит Bluno Beetle

  • DFR0412 Gravity IO Expansion Shield для DFRduino M0

  • DFR0375 Cookie I O Expansion Shield V2

  • DFR0334 GPIO Shield для Arduino V1.0

  • DFR0502 Gravity IO Expansion & Motor Driver Shield V1.1

  • DFR0518 Micro Mate — мини-плата расширения для микробита

  • DFR0578 Gravity I O Expansion Shield для OpenMV Cam M7

  • DFR0577 Gravity I O Expansion Shield для Pyboard

  • DFR0626 MCP23017 Модуль расширения с IIC на 16 цифровых IO

  • DFR0287 LCD12864 Экран

  • DFR0009 Экран ЖК-клавиатуры для Arduino

  • DFR0063 I2C TWI LCD1602 Модуль, совместимый с Gadgeteer

  • Модуль DFR0154 I2C TWI LCD2004, совместимый с Arduino Gadgeteer

  • Светодиодная матрица DFR0202 RGB

  • DFR0090 3-проводной светодиодный модуль

  • TOY0005 OLED 2828 цветной дисплейный модуль.Совместимость с NET Gadgeteer

  • Модуль дисплея TOY0006 OLED 9664 RGB

  • Модуль дисплея TOY0007 OLED 2864

  • FIT0328 2.7 OLED 12864 дисплейный модуль

  • DFR0091 3-проводной последовательный ЖК-модуль, совместимый с Arduino

  • DFR0347 2.8 TFT Touch Shield с 4 МБ флэш-памяти для Arduino и mbed

  • DFR0348 3.5 TFT Touch Shield с 4 МБ флэш-памяти для Arduino и mbed

  • DFR0374 Экран LCD клавиатуры V2.0

  • DFR0382 Экран со светодиодной клавиатурой V1.0

  • DFR0387 TELEMATICS 3.5 TFT сенсорный ЖК-экран

  • DFR0459 Светодиодная матрица RGB 8×8

  • DFR0460 Светодиодная матрица RGB 64×32 — шаг 4 мм / Гибкая светодиодная матрица 64×32 — Шаг 4 мм / Гибкая светодиодная матрица 64×32 — Шаг 5 мм

  • DFR0461 Гибкая светодиодная матрица 8×8 RGB Gravity

  • DFR0462 Гибкая светодиодная матрица 8×32 RGB Gravity

  • DFR0463 Gravity Гибкая светодиодная матрица 16×16 RGB

  • DFR0471 Светодиодная матрица RGB 32×16 — шаг 6 мм

  • DFR0472 Светодиодная матрица RGB 32×32 — шаг 4 мм

  • DFR0464 Gravity I2C 16×2 ЖК-дисплей Arduino с подсветкой RGB

  • DFR0499 Светодиодная матрица RGB 64×64 — шаг 3 мм

  • DFR0506 7-дюймовый дисплей HDMI с емкостным сенсорным экраном

  • DFR0555 \ DF0556 \ DFR0557 Gravity I2C LCD1602 Модуль ЖК-дисплея Arduino

  • DFR0529 2.2-дюймовый ЖК-дисплей TFT V1.0 (интерфейс SPI)

  • DFR0605 Gravity: цифровой светодиодный модуль RGB

  • FIT0352 Цифровая светодиодная водонепроницаемая лента с RGB-подсветкой 60LED м * 3 м

  • DFR0645-G DFR0645-R 4-цифровой светодиодный сегментный модуль дисплея

  • Артикул DFR0646-G DFR0646-R 8-цифровой светодиодный сегментный модуль дисплея

  • DFR0597 Гибкая светодиодная матрица RGB 7×71

  • DFR0231 Модуль NFC для Arduino

  • Модуль радиоданных TEL0005 APC220

  • TEL0023 BLUETOOH BEE

  • TEL0026 DF-BluetoothV3 Bluetooth-модуль

  • Модуль беспроводного программирования TEL0037 для Arduino

  • TEL0044 DFRduino GPS Shield-LEA-5H

  • TEL0047 WiFi Shield V2.1 для Arduino

  • TEL0051 GPS GPRS GSM модуль V2.0

  • TEL0067 Wi-Fi Bee V1.0

  • TEL0073 BLE-Link

  • TEL0075 RF Shield 315 МГц

  • TEL0078 WIFI Shield V3 PCB Антенна

  • TEL0079 WIFI Shield V3 RPSMA

  • TEL0084 BLEmicro

  • TEL0086 DF-маяк EVB

  • TEL0087 USBBLE-LINK Bluno Адаптер для беспроводного программирования

  • TEL0080 UHF RFID МОДУЛЬ-USB

  • TEL0081 УВЧ RFID МОДУЛЬ-RS485

  • TEL0082 UHF RFID МОДУЛЬ-UART

  • TEL0083-A GPS-приемник для Arduino Model A

  • TEL0092 WiFi Bee-ESP8266 Wirelss модуль

  • Модуль GPS TEL0094 с корпусом

  • TEL0097 SIM808 GPS GPRS GSM Shield

  • DFR0342 W5500 Ethernet с материнской платой POE

  • DFR0015 Xbee Shield для Arduino без Xbee

  • TEL0107 WiFiBee-MT7681 Беспроводное программирование Arduino WiFi

  • TEL0089 SIM800C GSM GPRS Shield V2.0

  • Модуль приемника RF TEL0112 Gravity 315MHZ

  • TEL0113 Gravity UART A6 GSM и GPRS модуль

  • TEL0118 Gravity UART OBLOQ IoT-модуль

  • Модуль TEL0120 DFRobot BLE4.1

  • Bluetooth-адаптер TEL0002

  • Модуль аудиоприемника Bluetooth TEL0108

  • TEL0124 SIM7600CE-T 4G (LTE) Shield V1.0

  • DFR0505 SIM7000C Arduino NB-IoT LTE GPRS Expansion Shield

  • DFR0013 IIC для GPIO Shield V2.0

  • Плата привода двигателя датчика DFR0057 — Версия 2.2

  • DFR0062 Адаптер WiiChuck

  • DFR0233 Узел датчика RS485 V1.0

  • DFR0259 Arduino RS485 щит

  • DFR0370 Экран CAN-BUS V2

  • DFR0627 IIC для двойного модуля UART

  • TEL0070 Multi USB RS232 RS485 TTL преобразователь

  • DFR0064 386AMP модуль аудиоусилителя

  • DFR0273 Экран синтеза речи

  • DFR0299 DFPlayer Mini

  • TOY0008 DFRduino Плеер MP3

  • SEN0197 Диктофон-ISD1820

  • DFR0420 Аудиозащитный экран для DFRduino M0

  • DFR0534 Голосовой модуль

  • SD2403 Модуль часов реального времени SKU TOY0020

  • TOY0021 SD2405 Модуль часов реального времени

  • DFR0151 Модуль Gravity I2C DS1307 RTC

  • DFR0469 Модуль Gravity I2C SD2405 RTC

  • DFR0316 MCP3424 18-битный канал АЦП-4 с усилителем с программируемым усилением

  • DFR0552 Gravity 12-битный модуль I2C DAC

  • DFR0553 Gravity I2C ADS1115 16-битный модуль АЦП, совместимый с Arduino и Raspberry Pi

  • DFR0117 Модуль хранения данных Gravity I2C EEPROM

  • Модуль SD DFR0071

  • Плата привода двигателя датчика DFR0057 — Версия 2.2

  • DFR0360 XSP — Программист Arduino

  • DFR0411 Двигатель постоянного тока Gravity 130

  • DFR0438 Яркий светодиодный модуль

  • DFR0439 Светодиодные гирлянды красочные

  • DFR0440 Модуль микровибрации

  • DFR0448 Светодиодные гирлянды, теплый белый цвет

  • Встроенный термопринтер DFR0503 — последовательный TTL

  • DFR0504 Гравитационный изолятор аналогового сигнала

  • DFR0520 Двойной цифровой потенциометр 100K

  • DFR0565 Гравитационный цифровой изолятор сигналов

  • DFR0563 Гравитация 3.Датчик уровня топлива литиевой батареи 7V

  • DFR0576 Гравитационный цифровой мультиплексор I2C с 1 по 8

  • DFR0117 Модуль хранения данных Gravity I2C EEPROM

  • DRI0001 Моторный щит Arduino L293

  • DRI0002 MD1.3 2A Двухмоторный контроллер

  • DRI0009 Моторный щит Arduino L298N

  • DRI0021 Драйвер двигателя постоянного тока Veyron 2x25A Brush

  • DRI0017 2A Моторный щит для Arduino Twin

  • Драйвер двигателя постоянного тока DRI0018 2x15A Lite

  • Микродвигатель постоянного тока FIT0450 с энкодером-SJ01

  • FIT0458 Микродвигатель постоянного тока с энкодером-SJ02

  • DFR0399 Микро-металлический мотор-редуктор постоянного тока 75 1 Вт Драйвер

  • DRI0039 Quad Motor Driver Shield для Arduino

  • DRI0040 Двойной 1.Драйвер двигателя 5A — HR8833

  • DRI0044 2×1.2A Драйвер двигателя постоянного тока TB6612FNG

  • Драйвер двигателя постоянного тока DFR0513 PPM 2x3A

  • DFR0523 Гравитационный цифровой перистальтический насос

  • DRI0027 Digital Servo Shield для Arduino

  • DRI0029 24-канальный сервопривод Veyron

  • SER0044 DSS-M15S 270 ° 15KG Металлический сервопривод DF с аналоговой обратной связью

  • DRI0023 Экран шагового двигателя для Arduino DRV8825

  • DRI0035 TMC260 Щиток драйвера шагового двигателя

  • DFR0105 Силовой щит

  • DFR0205 Силовой модуль

  • DFR0457 Контроллер мощности Gravity MOSFET

  • DFR0564 Зарядное устройство USB для 7.Литий-полимерная батарея 4 В

  • DFR0535 Менеджер солнечной энергии

  • DFR0559 Солнечная система управления мощностью 5 В для подсолнечника

  • DFR0559 Менеджер солнечной энергии 5 В

  • DFR0580 Solar Power Manager для свинцово-кислотных аккумуляторов 12 В

  • DFR0222 Реле X-Board

  • Релейный модуль DFR0017, совместимый с Arduino

  • DFR0289 Релейный контроллер RLY-8-POE

  • DFR0290 RLY-8-RS485 8-релейный контроллер

  • DFR0144 Релейный экран для Arduino V2.1

  • DFR0473 Gravity Digital Relay Module Совместимость с Arduino и Raspberry Pi

  • KIT0003 EcoDuino — Комплект для автомобильных заводов

  • KIT0071 Комплект MiniQ Discovery

  • KIT0098 Пакет компонентов подключаемого модуля Breadboard

  • Артикул DFR0748 Цветок Китти

  • SEN0305 Гравитация: HUSKYLENS — простой в использовании датчик машинного зрения с искусственным интеллектом

    Freelance | Ардуино GSM A6

    Схема подключения

    AT-команды

    Отправка и получение SMS

    Arduino UNO

    Ардуино Нано

    Интернет вещей


    Модуль A6 GSM обычно используется в проектах Arduino IoT.Менее чем за 15 евро вы получаете возможность подключения к сети GSM / GPRS.

    Ознакомьтесь с демонстрационным проектом IoT, выполненным с использованием Arduino Nano, GSM-модема A6 и реле.

    Вы можете проверить исходный код на
    Bitbucket …

    Вот простая схема подключения Arduino UNO к модулю A6:

    Перед тем, как начать

    В Интернете есть различные примеры того, как подключить ваш проект.Это соединение было самым простым, потому что у Arduino IDE могут возникнуть проблемы с загрузкой вашего скетча в Arduino, если что-то подключено к цифровым PINS 0 или 1.

    В следующих примерах я буду использовать библиотеку SoftwareSerial. В нем есть ошибка, из-за которой в полученных вами SMS-сообщениях не будет текста. Обходной путь — увеличить размер буфера _SS_MAX_RX_BUFF до 512.

    Arduino GSM A6 внешнее питание

    Я использую внешнее зарядное устройство для мобильного телефона для питания модуля GSM A6.Была проблема с последовательной связью, пока я не подключил GND PINS от GSM A6 и Arduino UNO. После подключения GND все работает без проблем.

    Arduino Nano

    Arduino Nano использует ATMega 328P (старый загрузчик). Не удалось загрузить новый эскиз. Обходной путь — включить подробный вывод во время загрузки: Файл -> Ссылки, а затем выберите: Показать подробный вывод во время загрузки. После этого вам необходимо выполнить HW reset Arduino Nano, как только вы увидите следующий текст:

    avrdude: Версия 6.3-20171130
             Авторские права (c) Брайан Дин, 2000-2005 гг., Http://www.bdmicro.com/
             Copyright (c) 2007-2014 Йорг Вунш
    
             Общесистемный файл конфигурации - "C: \ Program Files \ WindowsApps ..."
    
             Использование порта: COM7
             Использование программатора: arduino
             Преобладающая скорость передачи данных: 57600
             Часть AVR: ATmega328P
     

    Затем вы увидите индикатор выполнения, когда он попытается написать. Если запись прошла успешно, то все в порядке (независимо от того, произошла ли ошибка чтения и есть сообщения об ошибках).

    реле Arduino

    Датчик движения Arduino (PIR)

    Прием СМС

    #include "SoftwareSerial.h"
    
    // Создаем программный серийный объект для связи с A6
      SoftwareSerial  mySerial (3, 2); // A6 Tx & Rx подключен к Arduino # 3 и # 2
    
    установка void ()
    {
     // Начинаем последовательную связь с Arduino и Arduino IDE (Serial Monitor)
      Серийный . Начало (9600);
     
     // Начинаем последовательную связь с Arduino и A6
     mySerial.begin (9600);
    
      Серийный номер  .println («Инициализация ...»);
     задержка (1000);
    
     mySerial.println ("AT"); // Как только тест рукопожатия будет успешным, он вернется к ОК
     updateSerial ();
     
     mySerial.println ("AT + CMGF = 1"); // Настройка режима ТЕКСТ
     updateSerial ();
     mySerial.println («AT + CNMI = 1,2,0,0,0»); // Решает, как обрабатывать вновь поступившие SMS-сообщения
     updateSerial ();
    }
    
    пустой цикл ()
    {
     updateSerial ();
    }
    
    недействительным updateSerial ()
    {
     задержка (500);
     в то время как ( серийный . доступный ())
     {
     mySerial.write ( Serial  .read ()); // Перенаправить полученное Serial на программный последовательный порт
     }
     в то время как (mySerial.available ())
     {
      Serial  .write (mySerial.read ()); // Перенаправляем полученный программный последовательный порт на последовательный порт
     }
    }
    
     

    Отправить SMS

    #include < SoftwareSerial  .h>
    
    // Создаем программный серийный объект для связи с A6
      SoftwareSerial  mySerial (3, 2); // A6 Tx & Rx подключен к Arduino # 3 и # 2
    
    установка void ()
    {
      Серийный .begin (9600);
     mySerial.begin (9600);
     задержка (200);
    
     mySerial.println ("AT");
     updateSerial ();
    
     mySerial.println ("AT + CMGF = 1");
     updateSerial ();
    
     mySerial.println ("AT + CMGS = \" + 381 XX YYY YYYY \ "");
     updateSerial ();
    
     mySerial.println («Привет, мир!»); // текстовое содержимое
     updateSerial ();
     
     mySerial.write (26);
    }
    
    пустой цикл ()
    {
    }
    
    недействительным updateSerial ()
    {
     задержка (1000);
     в то время как ( серийный . доступный ())
     {
     mySerial.write ( Serial  .read ()); // Перенаправляем полученный Serial на программный последовательный порт
     }
     в то время как (mySerial.имеется в наличии())
     {
      Serial  .write (mySerial.read ()); // Перенаправляем полученный программный последовательный порт на последовательный порт
     }
    }
    
     

    Совершение звонков и SMS с использованием модуля A6 GSM / GPRS, взаимодействующего с Arduino Uno — KT666

    Введение:

    Модуль A6 GSM / GPRS особенно намного дешевле, чем SIM900, а также его соединения довольно просты. В этом проекте мы увидим, как подключить этот модуль к Arduino, чтобы позвонить и отправить SMS.

    ПРИМЕЧАНИЕ. Мобильного адаптера достаточно для питания модуля A6 GSM, который не входит в комплект.

    Arduino IDE 1.8.5 (программируемая платформа для Arduino)

    Нажмите, чтобы загрузить: https: //www.arduino.cc/en/Main/Software

    A6 GSM / GPRS Module

    • Размеры: 22,8 × 16,8 × 2,5 мм
    • Частота: 850, 900, 1800, 1900 МГц
    • Многослотовый GPRS: 12, настраиваемый 1-12
    • Станция GPRS: класс B  Совместимость с фазой GSM 2/2 +: Класс 4 (2 Вт при 850/900 МГц), Класс 1 (1 Вт при 1800/1900 МГц)
    • Рабочее напряжение: 3.3 — 4,2 В
    • Ток: 1,3 мА при DRX = 5, 1,2 мА при DRX = 9
    • Температура: от -30 градусов до +80 градусов
    • Вес: 3,0 г
    • Команда AT: Стандартный GSM07.07,07.05 AT команда и команда расширения Ai-Thinker
    • Скорость GPRS Class 10: макс. 85,6 кбит / с (вверх), 42,8 кбит / с (вниз)
    • Поддержка PBCCH, CSD, USSD
    • Стек протоколов: PPP, TCP, UDP, HTTP, FTP, SMTP, MUX

    A6 Модуль GSM / GPRS

    • Сначала мы вставим Micro Sim в модуль.

    ПРИМЕЧАНИЕ. Нажмите и удерживайте кнопку питания в течение нескольких секунд, чтобы включить модуль.

    • Соедините контакт U_RxD (приемник) модуля GSM A6 с цифровым контактом 2 Arduino Uno.
    • Соедините контакт U_TxD (передатчик) модуля GSM A6 с цифровым контактом 3 Arduino Uno.
    • Соедините контакт GND модуля GSM A6 с GND Arduino Uno.
    • Соедините контакт VCC 5.0 модуля GSM A6 с контактом PWR модуля GSM A6, который действует как Chip Enable.

    ПРИМЕЧАНИЕ. Этот шаг также можно использовать в качестве шага устранения неполадок, когда на мобильный телефон не поступает сообщение или звонок. Кроме того, вы должны подать питание на модуль GSM через кабель Micro-USB, чтобы включить модуль.

    Код 1: Этот код возвращает мощность сигнала сети. Он предоставляет информацию о статусе регистрации домашней сети.

    • Загрузите код.
    • Откройте монитор последовательного порта.
    • После процесса инициализации подождите некоторое время.
    • Следующие команды описаны здесь с указанием их функций:

    Нажмите, чтобы увидеть код 1 здесь: https://docs.google.com/document/d/ e / 2PACX-1vStC8HSIdyXl4JN9Rvfs3cyLhW1CBlqJcsuvQrvZAmtkk606Lait7K0xjxtNrRMqsEK5YoG1uQ2VWT / pub

    Код сообщения 2: 908 для отправки сообщений на телефонный модуль с помощью модуля GSM.

    ПРИМЕЧАНИЕ. Этот конкретный скрытый номер используется здесь для получения и отправки сообщения или вызова модуля GSM.

    • Вы можете просмотреть номер (для получения текстовых сообщений) и имя сети на последовательном мониторе.

    ПРИМЕЧАНИЕ. Номер и имя сети необходимо ввести в код.

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

    Нажмите, чтобы увидеть код 2 здесь: https://docs.google.com/document/d/e/2PACX-1vSEfstS_dE9n0NVaue85xa_HZ6qgyLwWrAm-p1xXCVeCXl8DNYBoAKvCWCap6, код 90FXL8DNYBoAKvC4Chp6 От телефона к модулю GSM (сообщение получено через Serial Monitor).

    • Загрузите код.
    • Отправьте сообщение на указанный номер и нажмите кнопку OK для уведомления на последовательном мониторе.

    Нажмите, чтобы увидеть код 3 здесь: https://docs.google.com/document/d/e/2PACX-1vRaC-RQcJqhBgVHLJwlw2rcYj09r7excAoABZ0RKNl1sZBcEmVK58Tsz8iLmbbx8M2ULlvtoJEQh7fz/pub

    Код 4: Этот код предназначен для звонок с модуля GSM на телефон.

    • Загрузите код.
    • Функциональность команд для выполнения вызова с модуля GSM на телефон описана на изображении ниже.
    • Сообщение отображается на последовательном мониторе.

    Нажмите, чтобы увидеть код 4 здесь: https://docs.google.com/document/d/e/2PACX-1vQSBS0dWWPJ9AkEWnAbn0cm_cIRPyYDZu53c2LF3j44Ke716BhaTRA

    для 908Kep716BHWQj6 для

    От телефона к модулю GSM (вызов поступает через последовательный монитор).

    • Вызывающий процесс инициализируется на номере получателя.
    • Теперь звонок переводится с номера получателя на зарегистрированный номер / сеть.
    • Вы можете просмотреть уведомление о вызове на последовательном мониторе.
    • Введите команду ATA в данной строке Serial Monitor для ответа на входящий вызов.
    • Уведомление «CONNECT» информирует о том, что вызов установлен. А «ERROR» уведомляет о том, что звонок повешен.
    • Введите команду ATH на заданной панели Serial Monitor для завершения входящего вызова.

    Щелкните здесь, чтобы увидеть код 5: https://docs.google.com/document/d/e/2PACX-1vTy5ajmmpFc-71492o2tVlGuJ_1ik8L-cwCvN5XY2_RhFv4jv9dyhfv4jv9dhino состоит из модуля GSM / GPRS A6. Основное функционирование этого модуля — поддержка двухдиапазонной сети GSM / GPRS, доступной для удаленной передачи данных GPRS и SMS-сообщений. Плата отличается компактными размерами и низким потреблением тока. Благодаря технологии энергосбережения потребление тока в спящем режиме составляет всего 3 мА.

    • Откройте программное обеспечение терминала и выберите этот порт.
    • Выберите скорость передачи 115200 и нажмите «Подключиться».
    • A6 GSM может питаться от зарядного устройства для сотового телефона, для которого на задней панели имеется разъем mini-USB. Рекомендуется использовать адаптер 5 В на 2 А.
    • Модуль GSM загружается примерно за 10 секунд и, наконец, вы получаете CREG 1.
    • Знак $ указывает на добавление, а 0D — это код ASCII для возврата каретки.

    GSM GPRS A6 Модуль: rhydoLABZ INDIA

    A6 — это простой модуль прозрачной передачи GPRS.Программа имеет зрелый стандарт GSM07.07, 07.05 AT-команду и расширенную команду Ai-Thinker, чтобы быстро приступить к работе, сократить цикл разработки и снизить порог использования. Это самый маленький четырехдиапазонный модуль GSM / GPRS с размерами всего 22,8 x 16,8 x 2,5 мм. Благодаря своим сверхкомпактным размерам, низкому энергопотреблению и широкому диапазону рабочих температур A6 является идеальным решением для приложений M2M в автомобилях, промышленности и КПК, персональном слежении, обнаружении энергопотребления, беспроводных POS-терминалах, интеллектуальном измерении и другие приложения M2M.Предоставляет полный набор GSM / GPRS SMS, передачи данных и голосовых услуг.

    A6 использует процесс полуотверстия, который может реализовать быстрое производство модулей с помощью стандартного SMT-оборудования и предоставить клиентам режим высоконадежного соединения, особенно подходящий для современных, крупномасштабных и недорогих методов производства. Компания применяет международную систему управления качеством ISO9001 и обеспечивает продукцию высокого качества, низкой ценой и отличным сервисом по всем аспектам исследований и разработок, продаж, складирования, качества продукции и послепродажного обслуживания.

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

    • A6 Размеры: 22,8 × 16,8 × 2,5 мм
    • Рабочая температура: от -30 ° C до + 80 ° C
    • Рабочее напряжение: 3,3-4,2 В
    • Напряжение загрузки:> 3,4 В
    • Средний ток в режиме ожидания: 3 мА или менее
    • Поддерживаемые диапазоны частот: GSM / GPRS850, 900, 1800, 1900 МГц
    • GPRS: класс 10
    • Чувствительность: <-105

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

    • Поддержка голосовых вызовов, SMS
    • Поддержка службы передачи данных GPRS, скорость передачи данных, загрузка 85.6 кбит / с, загрузка 42,8 кбит / с
    • Поддержка стандартных GSM07.07, 07.05 AT-команд и расширенных команд Ai-Thinker
    • Поддержка 2 последовательных портов, один последовательный порт загрузки, один порт AT-команд
    • Поддержка сети 2G GSM China Mobile и China Unicom по всему миру
    • AT-команда поддерживает стандартные командные интерфейсы AT и TCP / IP
    • Поддержка цифрового аудио и аналогового аудио, кодирования речи HR, FR, EFR, AMR
    • Поддержка сертификатов ROHS, FCC, CE, CTA

    Параметры:

    • Четырехдиапазонный 850/900/1800/1900 МГц
    • GPRS с несколькими слотами 12, с 1 по 12 можно настроить
    • Мобильная станция GPRS, класс B
    • Совместимость с GSM Phase 2/2 +
      • Класс 4 (2 Вт @ 850/900 МГц)
      • Класс 1 (1 Вт @ 1800/1900 МГц)
    • Потребление тока
      • 1.3 мА при DRX = 5
      • 1,2 мА при DRX = 9
    • Стандарты управления командами AT GSM07.07,07.05 Команды AT и расширенные команды
    • Пакет прикладных программ для SIM-карты

    Передача данных

    GPRS :

    • GPRS Class10 до 85,6 кбит / с (восходящий поток) и 42,8 Мбит / с (нисходящий канал)
    • Поддержка PBCCH
    • Схема кодирования CS 1, 2, 3, 4
    • CSD поддерживает до 14.4 кбит / с
    • Поддержка USSD
    • Стек PPP / TCP / UDP / HTTP / FTP / SMTP / MUX

    SMS :

    • Обмен сообщениями в точку
    • Сообщения сотового вещания
    • Режим текста / PDU

    Voice Режим кодирования речи:

    • Половинная ставка (HR)
    • Полная скорость (EFR)
    • Расширенная полная скорость (EFR)

    AMR :

    • Механизм обработки звука
    • Подавление эха
    • Подавление эха
    • Подавление шума

    Интерфейс:

    • SIM / USIM-карта 3В / 1.8В
    • UART 2 Ge
    • Аналоговый аудиоинтерфейс
    • 2 канала (1 канал встроенный аудиоусилитель класса AB)
    • RTC

    В коплект входит:

    Ресурсы для разработчиков:

    На данный момент нет отзывов об этом продукте.

    На данный момент нет вопросов по этому продукту.

    A6 GSM GPRS модуль Интерфейсный модуль IPEX Shield DC 5-9V Вход для Arduino STM32 51 MCU SCM микроконтроллер с антенной

    Во-первых, мы должны сказать, что ICStation не принимает никаких форм оплаты при доставке.Раньше товары отправлялись после получения информации о заказе и оплаты.

    1) Платеж Paypal

    PayPal — это безопасная и надежная служба обработки платежей, позволяющая делать покупки в Интернете. PayPal можно использовать на icstation.com для покупки товаров с помощью кредитной карты (Visa, MasterCard, Discover и American Express), дебетовой карты или электронного чека (т. Е. С использованием вашего обычного банковского счета).

    Мы прошли проверку PayPal

    2) Вест Юнион

    Мы знаем, что у некоторых из вас нет учетной записи Paypal.

    Но, пожалуйста, расслабься. Вы можете использовать способ оплаты West Union.

    Для получения информации о получателе свяжитесь с нами по адресу [email protected]

    3) Банковский перевод / банковский перевод / T / T

    Банковский перевод / банковский перевод / способы оплаты T / T принимаются для заказов, общая стоимость которых составляет до долларов США, 500 долларов США. Банк взимает около 60 долларов США за комиссию за перевод, если мы производим оплату указанными способами.(с бесплатным номером отслеживания и платой за страховку доставки)

    (2) Время доставки
    Время доставки составляет 7-20 рабочих дней в большинство стран; Пожалуйста, просмотрите приведенную ниже таблицу, чтобы точно узнать время доставки к вам.

    7-15 рабочих дней в: Большинство стран Азии
    10-16 рабочих дней в: США, Канада, Австралия, Великобритания, большинство стран Европы
    13-20 рабочих дней в: Германия, Россия
    18-25 рабочих дней Кому: Франция, Италия, Испания, Южная Африка
    20-45 рабочих дней Кому: Бразилия, большинство стран Южной Америки

    2.EMS / DHL / UPS Express

    (1) Стоимость доставки: Бесплатно для заказа, который соответствует следующим требованиям
    Общая стоимость заказа> = 200 долларов США или Общий вес заказа> = 2,2 кг

    Когда заказ соответствует одному из вышеуказанных требований, он будет отправлен БЕСПЛАТНО через EMS / DHL / UPS Express в указанную ниже страну.
    Азия: Япония, Южная Корея, Монголия. Малайзия, Сингапур, Таиланд, Вьетнам, Камбоджа, Индонезия, Филиппины
    Океания: Австралия, Новая Зеландия, Папуа-Новая Гвинея
    Европа и Америка: Бельгия, Великобритания, Дания, Финляндия, Греция, Ирландия, Италия, Люксембург, Мальта, Норвегия, Португалия, Швейцария, Германия, Швеция, Франция, Испания, США, Австрия, Канада
    Примечание. Стоимость доставки в другие страны, пожалуйста, свяжитесь с orders @ ICStation.com

    (2) Время доставки
    Время доставки составляет 3-5 рабочих дней (около 1 недели) в большинство стран.

    Поскольку посылка будет возвращена отправителю, если она не была подписана получателем в течение 2-3 дней (DHL), 1 недели (EMS) или 2 недель (заказное письмо), обратите внимание на время прибытия. пакета.

    Примечание:

    1) Адреса АПО и абонентского ящика

    Мы настоятельно рекомендуем вам указать физический адрес для доставки заказа.

    Потому что DHL и FedEx не могут доставлять товары по адресам APO или PO BOX.

    2) Контактный телефон

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


    3. Примечание
    1) Время доставки смешанных заказов с товарами с разным статусом доставки следует рассчитывать с использованием самого длинного из перечисленных ориентировочных сроков.
    2) Напоминание о китайских праздниках: во время ежегодных китайских праздников могут быть затронуты услуги определенных поставщиков и перевозчиков, а доставка заказов, размещенных примерно в следующее время, может быть отложена на 3–7 дней: китайский Новый год; Национальный день Китая и т. Д.
    3) Как только ваш заказ будет отправлен, вы получите уведомление по электронной почте от icstation.com
    4) Отследите заказ с номером отслеживания по ссылкам ниже:

    Arduino -a6 GSM модуль — отправка sms с данными с датчиков | Arduino | Matlab и Mathematica | Raspberry Pi | Архитектура программного обеспечения

    I Описание задачи:

    Компоненты:

    Ардуино нано

    Модуль GSM A6

    Dht22

    Hx711

    — устройство должно отправить SMS с показанием температуры, влажности и веса.

    SMS будет содержать указанное выше значение от датчиков и дополнительное качество сигнала (от модуля A6).

    Для получения СМС:

    1- после того, как модуль называется

    2 отправлено пустое SMS

    3-отправить SMS с ,, 1 «получил данные через 1 час

    4 отправленных SMS с «2» полученными данными через 2 часа … И т. Д.

    + 28-Отправлено SMS с «24» через 24 часа.

    29-Если система получила SMS с кодом 0000, hx711 необходимо откалибровать на 0

    30-Если вес уменьшается на 50%, система автоматически отправит SMS с предупреждением.

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

    SMS будет иметь вид:

    Вес 35,8 кг

    Температура 23c

    Влажность 55%

    .

    Навыки: Arduino, Matlab и Mathematica, Raspberry Pi, архитектура программного обеспечения

    Подробнее:
    отправить sms arduino sim900, arduino gsm shield 2 отправить sms, arduino отправить sms, отправить sms с arduino на мобильный, проекты arduino sms, как получить sms с помощью модуля gsm с arduino, запросить данные датчика через sms, как отправить данные датчика через gsm , отправьте sms gsm номера, отправка sms gsm, gsm modul soll sms text жк-дисплей, отправка sms через мобильный телефон gsm, сценарий оболочки, отправка sms gsm-модема, php-скрипт, отправка sms серийного модема gsm, возможность отправки sms на веб-сайт телефона gsm, отправка sms через gsm, отправка sms скрипта модема gsm php, скрипт php отправить смс gsm модем linux, скрипт отправить sms команду gsm, 8051 gsm отправить sms

    (

    1 отзыв
    )

    Тимишоара, Румыния

    Идентификатор проекта: # 18933612

    Дистанционные электрические ворота с подключением через GSM | Hackaday.io

    Этот проект был разработан для добавления управления GSM к электрическим воротам DEA NET230N.

    NET230N ожидает, что входы будут с открытым коллектором.

    Основная функция этого проекта …

    • Arduino Nano контролирует последовательный вывод модуля A6 GSM / GPRS.
    • При обнаружении входящего вызова (модуль A6 отправляет «ЗВОНОК») Arduino открывает ворота, ждет 3 минуты и закрывает ворота.

    Некоторые проблемы во время проекта…

    • (фиксированный) Модуль A6 обменивается данными на скорости 115200 бод. Это слишком быстро для библиотеки Arduino SoftwareSerial. Аппаратный последовательный порт используется портом USB на Nano, поэтому он недоступен. Решение заключалось в использовании специального кода, управляемого прерываниями, для реализации приемника со скоростью 115200 бод. Вероятно, более простым решением было бы использовать Arduino Pro Mini, у которого нет USB-адаптера, но у меня не было Pro Mini, когда я проектировал систему. Может следующая доработка…
    • (не исправлено) Действительно сложно сбросить модуль A6. Вывод RST должен быть очень низким (<0,05 В) при довольно высоком токе (70 мА). Это означает, что необходимо использовать полевой МОП-транзистор или реле, чтобы подтянуть вывод RST к низкому уровню. R5 и Q3 не нужны, это часть эксперимента, который не сработал. Кажется, что Arduino не может напрямую управлять затвором MOSFET (Q3), возможно, мне стоит добавить транзистор NPN между R5 и Q3. К счастью, модуль A6 кажется очень надежным, и я пока не видел необходимости его сбрасывать.Так что это очень низкий приоритет для исправления.
    • (Не исправлено) Последовательная отладка вызвала много проблем, и это закомментировано в коде. Библиотека SoftwareSerial действительно мешает обработке прерываний, поэтому связь с модулем A6 может быть потеряна при использовании порта отладки. К счастью, система очень надежна, поэтому функция отладки мне не нужна.

    Примечание. Перед тем, как вставить SIM-карту в модуль A6, убедитесь (поместив ее в мобильный телефон), что защитный PIN-код отключен.