Домой / Основные настройки / Управление на ардуино gsm нагрузкой. Подключение GSM GPRS шилда к Arduino. Описание модуля SIM800L

Управление на ардуино gsm нагрузкой. Подключение GSM GPRS шилда к Arduino. Описание модуля SIM800L

Хочу представить вам очень простой способ удаленного управления электропитанием.
Мы будем использовать готовые радиоуправляемые розетки, поэтому нам не потребуется ничего паять. Это очень здорово, потому что 220 В (начинающим) лучше не трогать.

Код

Если вы используете не GSMSHIELD, а какую-то другую библиотеку, то код разумеется будет отличаться, но принцип будет один и тот же. Через определенные интервалы времени мы проверяем, нет ли у нас непрочитанных SMS, парсим их, и если пришла валидная команда с авторизованного номера, то посылаем радиосигнал функциями mySwitch.switchOff или mySwitch.switchOn , передавая им адрес розетки.
Прим. в моем случае для шилда от Seeedstudio нужно было залезть в GSM.cpp и поменять заданные пины на 7 и 8. /* Arduino GSM-switch example code Switch on/off radio controlled controlled outlets Author: Vladislav Ross, 2014 Contact: [email protected] You need to download: 1. rc-switch https://code.google.com/p/rc-switch/ 2. GSMSHIELD http://www.gsmlib.org/ For GSMSHIELD: * To change pins for Software Serial, use the two lines in GSM.cpp. * If you are using Mega, uncomment "#define MEGA" line in HWSerial.h * You can enable debug messages on serial port by defining DEBUG_ON */ #include "SIM900.h" #include #include "sms.h" #include "call.h" #include // 433MHz transmitter pin const byte RCpin = 12; char groupAddress = "11111"; char smsLetters = "ABC"; char* deviceAddresses = { "10000", //A "01000", //B "00100" //C }; char adminNumber = "+74991356235"; //your phone number CallGSM call; SMSGSM sms; RCSwitch mySwitch = RCSwitch(); char number; byte stat=0; char smsText; byte position; int deviceLetterIdx = -1; byte i,j; void setup() { gsm.begin(2400); delay(10000); for(i = 1; i <= 21; i++) { sms.DeleteSMS(i); } mySwitch.enableTransmit(RCpin); }; void loop() { //hang up all incoming calls /*stat=call.CallStatus(); if(stat==CALL_INCOM_VOICE) { call.HangUp(); }*/ position = sms.IsSMSPresent(SMS_UNREAD); //get new SMS if (position) { sms.GetSMS(position, number, smsText, 10); sms.DeleteSMS(position); if(strcmp(number, adminNumber) == 0) //accept SMS only from defined number { for (i = 0; i < sizeof(smsText) - 1; i++) { if(deviceLetterIdx != -1) { //got letter, now expecting 0 or 1 if(smsText[i] == "0") { mySwitch.switchOff(groupAddress, deviceAddresses); delay(500); } if(smsText[i] == "1") { mySwitch.switchOn(groupAddress, deviceAddresses); delay(500); } deviceLetterIdx = -1; } else { //waiting for letter A,B,C... for(j = 0; j < sizeof(smsLetters) - 1; j++) { if(smsLetters[j] == smsText[i]) { deviceLetterIdx = j; break; } } } } } } delay(10000); }; GitHub .

Проблемы?

Если розетки ни в какую не хотят переключаться, можно попробовать принять сигнал от родного пульта на приемник. В rc-switch есть пример кода.

Что дальше?

Как дальше можно развить этот проект:
Во-первых, у нас осталось еще куча пинов на самом Ардуино и на GSM-шилде. Можно подключить к ним какие-то датчики или устройства. Например, сделать удаленный мониторинг температуры или полив цветов.
Во-вторых, мы использовали только SMS, а модуль еще умеет передавать голос и GPRS. GPRS может передать гораздо больше данных. Кроме того, можно не бросать трубку при звонке, а, например, принимать вызов и давать слушать, что происходит на месте.
Возможно также, что вы захотите принимать управляющие SMS не с одного номера, а с нескольких. В этом случае я бы рекомендовал хранить номера в адресной книге &mash; в библиотеке есть соответствующие функции.

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

Область применения

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

Пример использования данных модулей на видео:

Назначение

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

Используя с платформой Ардуино GSM модуль информацию об опасности или внештатной ситуации на объекте можно предать владельцу максимально быстро. Для этой цели используется одна из сетей мобильных операторов.

Отличительной особенностью устройств Arduino является то, что их микроконтроллер может программироваться самим пользователем, используя язык Arduino, основанный на Wiring. Благодаря этому каждый может программировать алгоритм работы создаваемой охранной сигнализации так, как это требуется для конкретного охраняемого объекта и особенностей его применения.

Преимущества использования

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

  1. Небольшая стоимость. Платформы являются достаточно дешевыми устройствами по сравнению с аналогами, что никоим образом не отражается на их функциональности.
  2. Кросс-платформенность. Софт Arduino эффективно работает под такими операционными платформами, как Windows, Linux, Macintosh-OSX.
  3. Простота программирования. Для настройки микроконтроллеров используется среда программирования Processing. Она оптимально подойдет как профессиональным, так и малоопытным пользователям, которые работают с устройствами Arduino.
  4. Возможность усовершенствования. Специализированный софт Arduino отличается открытым кодом, что позволяет опытным пользователям его адаптировать под конкретные требования.

Высокая надежность аппаратной платформы. Платы Arduino выпускаются с микроконтроллерами ATMEGA8 и ATMEGA168 (более ранние модели) и с контроллерами ATmega32u4, Atmel ATmega328 (новые модели), которые отличаются высокой функциональностью и надежностью.

Принцип работы

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

В GSM-плате применяется специальный радиомодем M10, взаимодействие с которым обеспечивается за счет специальных AT-команд. Обмен информацией с модемом реализован с помощью программного последовательного интерфейса, владеющего цифровыми кодами.

Используемый в Ардуино GSM модем является 4-диапазонным, который может функционировать на следующих частотах: GSM 850MHz и 900MHz, PCS1900MHz и DCS1800MHz. В модеме реализована поддержка таких протоколов, как TCP/UDP и HTTP, обеспечивающих соединения через GPRS. Скорость передачи информационных пакетов в таком режиме будет составлять около 90 кбит/сек.

Отправка СМС через Arduino и GSM модуль реализуется при наличии установленной SIM-карты одного из сотовых операторов.»

Кроме этого появится возможность осуществлять передачу голосовых сообщений, совершать звонки – для этого дополнительно нужен микрофон и внешний динамик. Установка SIM-карты позволит использовать Arduino в режиме сотовой связи или GPRS.

Как подключать модули к ардуино

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

Сравнительные характеристики GSM модулей

На потребительском рынке представлен широкий выбор различных GSM модулей под Arduino. Ниже приведены основные характеристики наиболее популярных.

Neoway M590

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

С помощью этого устройства можно устанавливать мобильную связь с внешним телефоном, отправлять СМС-сообщения, производить обмен информацией по стандарту GPRS Class-10. В модуле этой конструкции нет микрофонного входа, что ограничивает возможность осуществления приема голосовой связи – соединение может устанавливаться, но звук передаваться не будет.

Для управления M590 используются АТ-команды, которые подаются посредством последовательной связи. В качестве рабочих радиочастот применяются частоты от 900 МГц до 1800 МГц. Величина питающего напряжения составляет в пределах 3,3…5 В. Поэтому GSM модуль Neoway M590 подключение к Ардуино осуществляет через специальный преобразователь напряжений 5 В « 3,3 В.

GSM-модуль SIM800L

Компактный Sim800l GPRS GSM модуль относится к устройствам, которые применяются для поддержки мобильной связи. Модуль построен на безе SIM-800L, созданного SIMCom Wireless Solutions и рассчитан для предоставления услуг к сервисам информационных сетей GPRS\GSM, используя для этого частоты от 850 МГц до 1900 МГц. С его помощью может осуществляться отправка SMS-сообщений, реализация звонков, а также обмен информацией по GPRS-каналам.

GSM-модуль комплектуется антенной, при потребности улучшения уровня сигнала можно использовать дополнительные антенны. Для управления модулем может использоваться ПК, подключаемый посредством специальной платы преобразования интерфейсов USB-UART либо же непосредственно через сам UART. Если используется Sim800l GPRS GSM модуль, подключение к Ардуино должно реализовываться через преобразователь логических уровней. Это обусловлено тем, что у SIM800L величина напряжения на логическом высоком уровне составляет 2,8 В, а в Arduino – 3,3…5 В.

GPRS Shield от Seeed Studio

Подключение GSM модуля к Arduino обеспечит возможность использования технологий обмена данными GSM/GPRS, а также совершать звонки и посылать СМС-сообщения. Устройства этого типа построены с использованием модуля SIMCom SIM900. Они имеют слот для установки SIM-карты, разъем для подключения внешней антенны, набор 3,5-миллиметровых джеков для аудио входа и выхода. Управление и работа с Arduino GSM Shield осуществляется посредством Serial-соединений и набора специализированных AT-команд.

Этот модуль представляет собой специальную плату, используемую для управления цифровыми устройствами удаленно, а также для обмена информацией. Применение SIM900 позволяет Arduino работать по технологиям GSM/GPRS, обеспечивая голосовую связь, отправку СМС и обмен данными с помощью сотовых и мобильных сетей.

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

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

Плата расширения GSM содержит модем, который транслирует в GSM-сеть данные, поступающие к нему через последовательный порт. Все операции выполняются модемом в виде последовательности AT-команд. Для улучшения читабельности кода библиотека абстрагирует низкоуровневые функции, работающие с модемом и SIM-картой. GSM-модем взаимодействует с Ардуино по последовательному интерфейсу с использованием библиотеки SoftwareSerial .

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

Структура библиотеки

Функциональность библиотеки GSM достаточно широка, поэтому она объединяет в себе несколько различных классов:

  • Класс GSM отвечает за управление радио-модемом. Этот класс содержит низкоуровневые функции для подключения и регистрации платы расширения в GSM-сети. Экземпляр этого класса должен быть объявлен во всех программах, использующих GSM/GPRS.
  • Класс GSMVoiceCall отвечает за голосовые вызовы.
  • Класс GSM_SMS отвечает за отправку и получение SMS-сообщений.
  • Класс GPRS отвечает за подключение к Интернету.
  • В классе GSMClient реализован клиент, подобный клиенту в библиотеках Ethernet и WiFi.
  • В классе GSMServer реализован сервер, подобный серверу в библиотеках Ethernet и WiFi. Примечание: некоторые провайдеры/операторы блокируют входящие соединения из глобальной Интернет-сети, разрешая только внутрисетевые соединения. Уточните у своего оператора действующие ограничения на передачу данных.
  • Множество вспомогательных классов, таких как GSMScanner , GSMModem и др.

Совместимость с библиотекой Ethernet

Разработчиками приложены все усилия для того, чтобы библиотека GSM была максимально совместима с библиотекой Ethernet. Благодаря этому, перенос кода, использующего библиотеки Ethernet или WiFi, на Ардуино с GSM-платой расширения должен быть довольно простым. Тем не менее, для запуска программ, написанных для Ethernet, на GSM-плате расширения недостаточно просто скопировать код. Для этого могут потребоваться незначительные изменения в программе, такие, как подключение библиотек GSM и GPRS, получение от провайдера настроек сети и т.д.

Примеры

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

Shield GPRS/GSM SIM900 с антенной
SIM900 GPRS/GSM Shield Development Board Quad-Band Kit For Arduino Compatible

Модуль для работы микроконтроллерных устройств Arduino и аналогичных в сетях сотовой связи по стандартам GSM и GPRS. Ориентирован на использование в системах автоматики и управления. Обмен данными с другими модулями происходит через интерфейс UART. Shield GPRS/GSM SIM900 с антенной может сопрягаться непосредственно с микроконтроллером через интерфейс UART или работать совместно с персональным компьютером при использовании преобразователя интерфейса портПК-UART. Это возможно благодаря программной совместимости на уровне класса команд используемых для управления модемами - АТ команды.
Мониторинг объектов и управление ими происходит благодаря обмену данными в пределах досягаемости мобильной связи. Обеспечивается голосовая связь, отправка СМС, ММС и много других функций и сервисов. Работа модуля основана на компоненте SIM900.

Статья на русском из журнала о компоненте SIM900 . Компонент разработан компанией SIMCom Wireless Solutions. Сайт SIMCom имеет русскоязычную версию . Плата GSM модуля на стороне компонентов содержит соединители для подключения антенны, наушников и микрофона. На стороне пайки платы размещены держатель батареи CR1220 3 вольта поддерживающей работу часов модуля и контейнер для установки симкарты.
Одно из применений устройства - система слежения за перемещениями транспорта совместно с ГЛОНАСС или GPS прибором. Отправка СМС сообщений позволяет использовать модуль в диспетчеризации, беспроводной сигнализации и в охранных системах. В результате происходящих событий могут отправляться различные СМС: “Аварийный стоп лифта 2 дома №34”, “Дверь автомобиля открыта”, “Подвал открыт”, “Напряжение 220 В выключено”, “Входная дверь дачи открыта”, “Включено освещение”, “Температура в теплице ниже критической”. Модуль незаменим для контроля и управления подвижными объектами, перемещающимися на большие расстояния. Или в случае удаления оператора на большое расстояние от стационарного объекта.

Shield GPRS/GSM SIM900 с антенной дает широкие возможности изучения работы компонента SIM900. Монтаж компонента SIM900 выполняется по самым современным технологиям из-за чего припаять к печатной плате SIM900 в лабораторных условиях весьма затруднительно. Имея модуль с установленным SIM900 можно проводить эксперименты по применению компонента SIM900. При использовании в собственных разработках компонента SIM900 появляется возможность отладки программного обеспечения и проверки схемотехнических решений.

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

Питание
напряжение, В
номинальное 5
диапазон 4,8-5,2
ток
обычный режим 50-450 мА
в спящем режиме 1,5 мА
предельный импульсный 2 А
Поддерживает симкарты питанием 1,8 и 3 В
Диапазоны связи 850, 900, 1800, 1900 МГц
Поддерживает сеть 2G
Мощность передачи в различных диапазонах
1 Вт 1800 и 1900 МГц
2 Вт 850 и 900 МГц
Соответствует стандарту GSM фазы 2/2+
Встроенные протоколы TCP и UDP
Класс передачи данных GPRS multi-slot class 10/8
Аудиокодеки HR, FR, EFR, AMR, подавление эха
CSD до 14,4кбит/сек
PPP стек
MUX (07.10)
Протоколы HTTP и FTP
Есть возможность отправлять сигналы DTMF и проигрывать записи как на автоответчике
Поддержка часов реального времени RTC
Температура, ℃
воздуха при работе -30...75
хранения -45...90
размеры 86 х 58 х 19 мм

Компоненты управления

Переключателем Power select устанавливается источник питания: внешний, подключенный к коаксиальному соединителю или источник питания микроконтроллерного модуля Arduino.

Кнопкой Power key включается или выключается питание при нажатии и удерживании в течение 2 с.

Индикация

О состоянии модуля сообщают 3 светодиода:
PWR (зеленый) - индикатор питания модуля,
Status (красный) - индикатор питания компонента SIM900,
Net Light (зеленый) - соединение с сетью.
Сообщения светодиода Net Light.
Выключен - SIM900 не работает.
Мигает с интервалами, указано в секундах:
0,064 включен и 0,8 выключен - сеть не обнаружена,
0,064 включен и 0,3 выключен - сеть обнаружена,
0,064 включен, 0,03 выключен - GPRS подключен.

Контакты

Компонент SIM900 содержит порт UART, его сигналы выведены на выводы компонента и соединены с перемычками, устанавливающими с какими контактами модуля Shield GPRS/GSM SIM900 будет соединен порт UART компонента SIM900 с D0, D1 или D7, D8.
UART Shield GPRS/GSM можно подключнить: к аппаратному интерфейсу МК через контакты TXD и RXD модуля Shield GPRS/GSM, для этого используются D0, D1. Или к программно эмулируемому средствами ардуино, для этого используются контакты D7 и D8 модуля Shield GPRS/GSM. Полный интерфейс UART имеет 10 сигналов выведенных на контакты в углу платы: R1, DCD, DSR, CTS, RTS, GND, 2V8, TX, RX, DTR.
12 подписанных контактов цифровых линий ввода-вывода GPIO расположены в углу платы. Имеется 2 контакта выходных сигналов с широтно-импульсной модуляцией PWM1, PWM2. Вход АЦП контакт ADC. Интерфейс встроенного счетчика времени имеет 4 контакта. Обозначение контактов: DISP_CLK, DISP_DATA, DISP_D/C, DISP_CS.
Контакт D9 используется для программного контроля включения или выключения SIM900.
На плате установлен соединитель для подключения антенны.

Назначение выводов компонента SIM900.

Внешнее включение и выключение питания

Включить или выключить питание модуля можно с помощью сигнала на управляющем входе D9. Для изменения состояния на D9 подается импульс продолжительностью 1 с. Изменение состояния происходит спустя 3,2 с после начала импульса.

Включение модуля. Графики напряжения питания модуля, внешнего управляющего импульса и индикатора питания STATUS.

При управлении модулем руководящим устройством включение должно происходить без применения кнопки Power key, т. е. сразу после подачи питания. Для этого в программу МК следует добавить несколько команд.

Void powerUpOrDown()
{
pinMode(9, OUTPUT);
digitalWrite(9,LOW);
delay(1000);
digitalWrite(9,HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);
}

Эту группу команд в программе можно использовать и для выключения модуля. Также выключить GSM модуль можно посылая AT команду.

GSM-lib написанна под Arduino IDE версии 1.0. Скачать последную версию библиотеки с готовыми примерами использования можно из репозитория проекта . Для установки - распакуйте архив GSM в директорию libraries (/arduino-1.0/libraries/GSM). После запуска среды разработки Arduino, в меню программы «File -> Examples» появится пункт GSM, с примерами скетчей.

Библиотека GSM разработана для работы с шилдом « ». Она аппаратно совместима с платами Arduino (Uno, Duemilanove и прочие аналоги). При использовании других плат, возможно, потребуется внесение правок в GSM.cpp для указания правильного порта, на который выведена с шилда линия включения модема.

В настоящий момент в библиотеке реализованы следующие функциональные возможности.

  • Регистрация в GSM-сети
  • Отправка SMS
  • Прием и разбор SMS
  • Прием входящих вызовов
  • Проверка статуса соединения с сетью GSM, восстановление сети при потере сигнала

Регистрация в GSM-сети

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

Первичная инициализация выполняется в функции setup().

#include #include const char PIN PROGMEM = "0000"; // ПИН-код void setup() { while (GSM.Init(PIN)<0); // Регистрация в сети GSM.NewSMSindic(); // Настройка индикатора новых SMS GSM.WaitCall(); // Ждем входящие вызовы GSM.WaitSMS(); // Ждем входящих SMS }

Отправка SMS

Для отправки текстовых сообщений служит функция SendSMS(), в которую передаются 2 параметра - номер получателя SMS и само сообщение.

While(GSM.SendSMS(RemoteID, "Hello from Arduino!") < 0);

Где RemoteID - это номер получателя. Эту константу предпочтительнее выносить в заголовок программы.

Const char RemoteID PROGMEM = "+79280000000";

Текст сообщения можно формировать также динамически.

String textMessage; textMessage += "Sensor1 "; textMessage += "Sensor2"; char Out; textMessage.toCharArray(Out,(textMessage.length())+1); while(GSM.SendSMS(RemoteID, Out) < 0);

Прием и разбор SMS

Для считывания входящих SMS сообщений служит функция ReadSMS(), в которую передаются 2 параметра - индекс SMS и указатель, куда будет скопирован текст. Ниже представлен фрагмент скетча, в котором разбирается текст входящего сообщения. Когда SMS равен 1 - выполняем некое действие, а когда равен 2 - производим другое действие. Полный пример скетча SmsCheck.ino смотрите в examples .

If (GSM.CheckSMS()== 1) { //Есть новое СМС GSM.ReadSMS(NewSMS_index, (char*) SMStxt); GSM.DeleteAllSMS(); // Удалить СМСки (накапливать не будем!) strSMS = String(SMStxt); if(strSMS == "1") { // тут выполняем действие 1 } if(strSMS == "2") { // тут выполняем действие 2 } GSM.WaitCall(); GSM.WaitSMS(); }

Примечание. Библиотека GSM умеет работать только с латинскими символами, кириллица в настоящее время не поддерживается.

Прием входящих вызовов

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

Например, можно сделать вызов на шилд, на Ардуино проверить номер звонящего абонента и в случае совпадения с шаблонным номером - выслать на него SMS с показаниями датчиков. Следующий фрагмент реализует подобный функционал. Полная версия скетча CallCheck.ino смотрите в examples .

If (IncomingCall == 1) { //пришёл звонок! while (GSM.TerminateCall()<0); // Ложим трубку IncomingCall = 0; // Проверяем, если номер звонящего CallerID совпал с шаблоном RemoteID if (strstr_P(CallerID, RemoteID)) { while(GSM.SendSMS(RemoteID, "Hello from Arduino!") < 0);// SMS из SRAM памяти } GSM.WaitCall(); }

Проверка статуса соединения с сетью GSM

Бывают ситуации, когда соединение с сетью пропадает. Для выявления потери сети служит функция CheckStatus(), которая возвращает 0 в том случае, когда соединение с сетью утеряно. Пример использования приводится в следующем блоке кода.

// Через определенные промежутки времени проверяем состояние GPRS подключения! if(currentMillis - previousMillis > interval) { if ((GSM.CheckStatus() != 1)) { // GPRS соединение не установлено! while (GSM.Init(PIN)<0); // Делаем инициализацию } GSM.WaitCall(); currentMillis = previousMillis = millis(); }

Выполнение произвольных AT-команд из скетча

Для выполнения AT-команд из скетча используется функция WriteStr_P().

GSM.WriteStr_P(PSTR("AT\r\n"));