сигнализация paradox это
Обзоры Автор 1test.july31.ru На чтение 31 мин. Просмотров 75 Актуально на: 2021 г.
GSM и GPRS модуль в проектах Ардуино позволяет подключаться к удаленным автономным устройствам через обычную сотовую связь.
Мы можем отправлять команды на устройства и принимать информацию от него с помощью SMS-команд или через интернет-подключение, открытое по GPRS.
Содержание
GSM и GPRS модули для Arduino
В этой статье мы рассмотрим наиболее популярные модули для Arduino, разберемся с подключением и рассмотрим примеры программирования.
Модули GSM GPRS
GSM модуль используется для расширения возможностей обычных плат Ардуино – отправка смс, совершение звонков, обмен данными по GPRS. Существуют различные виды модулей, наиболее часто используемые — SIM900, SIM800L, A6, A7.
Описание модуля SIM900
Модуль SIM900 используется в различных автоматизированных системах. С помощью интерфейса UART осуществляется обмен данными с другими устройствами. Модуль обеспечивает возможность совершения звонков, обмен текстовыми сообщениями. Работа модуля релизуется на компоненте SIM900, созданным фирмой SIMCom Wireless Solution.
Технические характеристики:
- Диапазон напряжений 4,8-5,2В;
- В обычном режиме ток достигает 450 мА, максимальный ток в импульсном режиме 2 А;
- Поддержка 2G;
- Мощность передачи: 1 Вт 1800 и 1900 МГц, 2 Вт 850 и 900 МГц;
- Имеются встроенные протоколы TCP и UDP;
- GPRS multi-slot class 10/8;
- Рабочая температура от -30С до 75С.
С помощью устройства можно отслеживать маршрут транспорта совместно с ГЛОНАСС или GPS устройством. Возможность отправки смс-сообщений используется в беспроводной сигнализации и различных охранных системах.
Описание модуля SIM800L
Модуль выполнен на основе компонента SIM800L и используется для отправки смс, реализации звонков и обмена данными по GPRS. В модуль устанавливается микро сим карта.
Устройство обладает встроенной антенной и разъемом, к которому можно подключать внешнюю антенну. Питание к модулю поступает от внешнего источника либо через DC-DC преобразователь.
Управление осуществляется с помощью компьютера через UART, Ардуино, Raspberry Pi или аналогичные устройства.
Технические характеристики:
- Диапазон напряжений 3,7В – 4,2В;
- Поддержка 4х диапазонной сети 900/1800/1900 МГц;
- GPRS class 12 (85.6 кБ/с);
- Максимальный ток 500 мА;
- Поддержка 2G;
- Автоматический поиск в четырех частотных диапазонах;
- Рабочая температура от –30С до 75С.
Описание модуля A6
Модуль A6 разработан фирмой AI-THINKER в 2016 году. Устройство используется для обмена смс-сообщениями и обмена данными по GPRS. Плата отличается низким потреблением энергии и малыми размерами. Устройство полностью совместимо с российскими мобильными операторами.
Технические характеристики:
- Диапазон напряжений 4,5 – 5,5В;
- Питание 5В;
- Диапазон рабочих температур от -30С до 80С;
- Максимальное потребление тока 900мА;
- GPRS Class 10;
- Поддержка протоколов PPP, TCP, UDP, MUX.
Модуль поддерживает карты формата микросим.
Описание модуля A7
A7 является новейшим модулем от фирмы AI-THINKER. По сравнению со своим предшественником A6 имеет встроенный GPS, позволяющий упрощать конструкцию устройства.
Технические характеристики:
- Диапазон рабочих напряжений 3,3В-4,6В;
- Напряжение питания 5В;
- Частоты 850/900/1800/1900 МГц;
- GPRS Class 10: Макс. 85.6 кбит;
- Подавление эха и шумов.
Устройство поддерживает микросим карты. Модуль поддерживает обмен звонками, обмен смс-сообщениями, передачу данных по GPRS, прием сигналов по GPS.
Подключение GSM GPRS шилда к Arduino
Подключение модуля SIM800
Для подключения нужны плата Ардуино, модуль SIM800L, понижающий преобразователь напряжения, провода для соединения и батарея на 12В.Модуль SIM800L требует нестандартное для ардуино напряжение в 3,7В, для этого нужен понижающий преобразователь напряжения.
Распиновка модуля SIM800 приведена на рисунке.
Плату Ардуино нужно подключить к компьютеру через USB кабель. Батарею на 12 В подключить через преобразователь: -12В на землю Ардуино, от земли в преобразователь в минус, +12В в преобразователь в плюс. Выходы с модуля TX и RX нужно подключить к пинам 2 и 3 на Ардуино. Несколько модулей можно подключать к любым цифровым пинам.
Подключение модуля A6
Модуль A6 стоит дешевле, чем SIM900, и его очень просто подключать к Ардуино. Модуль питается напряжением 5В, поэтому для соединения не нужны дополнительно понижающие напряжение элементы.
Для подключения потребуются плата Ардуино (в данном случае рассмотрена Arduino UNO), GSM модуль А6, соединительные провода. Схема подключения приведена на рисунке.
Вывод RX с модуля GSM нужно подключить к TX на плате Ардуино, вывод TX подключить к пину RX на Ардуино. Земля с модуля соединяется с землей на микроконтроллере. Вывод Vcc на GSM модуле нужно соединить с PWR_KEY.
Подключение с помощью GSM-GPRS шилда
Перед подключением важно обратить внимание на напряжение питания шилда. Ток в момент звонка или отправки данных может достигать значений в 15-2 А, поэтому не стоит запитывать шилд напрямую от Ардуино.
Перед подключением к Ардуино нужно установить сим-карту на GSM-GPRS шилд. Также нужно установить джамперы TX и RX, как показано на рисунке.
Подключение производится следующим образом – первый контакт (на рисунке желтый провод) с шилда нужно соединить с TX на Ардуино. Второй контакт (зеленый провод) подключается к RX на Ардуино. Земля с шилда соединяется с землей с аруино. Питание на микроконтроллер поступает через USB кабель.
Макет соединения шилда и платы Ардуино изображен на рисунке.
Для работы потребуется установить библиотеку GPRS_Shield_Arduino.
Для проверки правильности собранной схемы нужно сделать следующее: соединить на Ардуино RESET и GND (это приведет к тому, что данные будут передаваться напрямую от шилда к компьютеру), вставить сим-карту в шилд и включить питание шилда. Плату Ардуино нужно подключить к компьютеру и нажать кнопку включения. Если все соединено правильно, загорится красный светодиод и будет мигать зеленый.
Краткое описание взаимодействия через AT-команды
AT-команды – это набор специальных команд для модема, состоящий из коротких текстовых строк. Чтобы модем распознал поданную ему команду, строки должны начинаться с букв at. Строка будет восприниматься, когда модем находится в командном режиме.
AT-команды можно отправлять как при помощи коммуникационного программного обеспечения, так и вручную с клавиатуры.
Практические все команды можно разделить на 3 режима – тестовый, в котором модуль отвечает, поддерживает ли команду; чтение – выдача текущих параметров команды; запись – произойдет записывание новых значений.
Список наиболее используемых AT-команд:
- AT – для проверки правильности подключения модуля. Если все исправно, возвращается OK.
- A/ — повтор предыдущей команды.
- AT+IPR? – получение информации о скорости порта. Ответом будет +IPR: 0 OK (0 в данном случае – автоматически).
- AT+ICF? – настройка передачи. В ответ придет +ICF: бит, четность.
- AT+IFC? – контроль передачи. Ответом будет +IFC: терминал от модуля, модуль от терминала (0 – отсутствует контроль, 1 – программный контроль, 2 – аппаратный).
- AT+GCAP – показывает возможности модуля. Пример ответа — +GCAP:+FCLASS,+CGSM.
- AT+GSN – получение IMEI модуля. Пример ответа 01322600XXXXXXX.
- AT+COPS? – показывает доступные операторы.
Читайте также: Топ 10 лучших роботов пылесосов с алиэкспресс: ilife, xiaomi, proscenic, liectroux, dibea, seebest и fmart
Подключение GSM модуля SIM800L к Arduino
Рассмотрим как связать Адруино с GSM модулем SIM800L. Существуют GSM шилды специально для Ардуино, но по цене они достаточно дороги, потому решил приобрести бюджетный вариант.
Статья может быть полезна так же для подключения модуля SIM900, NEOWAY M590, и некоторых сотовых телефонов. Неудобный нюанс в том, что этот модуль требует нестандартное для Ардуино питание 3.
7В, поэтому запитывать пришлось отдельно через понижающий преобразователь напряжения.
Подключение
Для подключения я использовал следующие компоненты:
Соединяем Ардуино с компьютером через USB кабель.
Даем питание к GSM модулю от батареи 12В через преобразователь:
- от 12В «минус» идет на ардуино в «GND», от «GND» в преобразователь напряжения во «входящий минус».
- от 12В «плюс» идет в преобразователь напряжения во «входящий плюс».
Возникает вопрос: можно ли подать питание от самой Ардуино от 5В? Напрямую не рисковал бы. Но можно подобрать диод или стабилизатор напряжения.
Перед подключением к преобразователю напряжения необходимо его настроить выставив выходное напряжение на любое в диапазоне 3.7В — 4.2В. От преобразователя напряжения выходящие контакты подключаем к GSM модулю, соблюдая полярность.
TX и RX контакты на GSM модуле соединяем с 2 и 3 цифровыми контактами на Ардуино. Если необходимо подключить несколько GSM модулей к Arduino, то используйте другие пины и прописывайте в скетче через SoftwareSerial.
Скетч
#include SoftwareSerial mySerial(2, 3); // RX, TX void setup() { Serial.begin(19200); //Скорость порта для связи Arduino с компьютером Serial.println(«Goodnight moon!»); mySerial.
begin(19200); //Скорость порта для связи Arduino с GSM модулем mySerial.println(«AT»); } void loop() { if (mySerial.available()) Serial.write(mySerial.read()); if (Serial.available()) mySerial.
write(Serial.read()); }
Процедура для отправки СМС
void sms(String text, String phone) { Serial.println(«SMS send started»); mySerial.println(«AT+CMGS=»» + phone + «»»); delay(1000); mySerial.print(text); delay(300); mySerial.print((char)26); delay(300); Serial.println(«SMS send finish»); delay(3000); }
Процедуру добавлять в конец скетча и вызывать её из основного цикла так: sms(String(«текст СМС на англ.«),String(«+791212345678»));
Только отправлять СМС рекомендую по какуму нибудь событию и не просто так в цикле, а то бесконечно будет отправлять и деньги все съест с СИМки. Подключите датчик температуры или кнопку и по ее срабатывании отправляйте смс.
Проверка
Включаем питание затем через монитор порта, выставив скорость 19200 и обязательно опцию «новая строка».
Вводите команду «ATI» и нажмите ENTER. Должна появиться информация от модели модуля.
Пробовал отправить на модуль СМСку через бесплатный сервис от Теле2, приходят непонятные строки. Пробовал в модуле сменить кодировки.
Arduino GSM модуль
При помощи Arduino можно также отправлять SMS — сообщения, все что для этого понадобится это специальный модуль Arduino GSM/GPRS SIM900.
Данная плата расширения подходит под распространенные платы Arduino UNO, MEGA и Leonardo. С ее помощью можно сделать кучу разных проектов использующие GPRS интернет или доступ в сеть GSM. Она будет работает везде где есть мобильная сеть.
При помощи этого модуля можно сделать GSM сигнализацию, которя вместе с системой видеонаблюдения обеспечит отличную защиту вашего жилища.
Модуль позволяет использовать сети стандартов GSM 850, GSM 900, GSM 1800, GSM 1900 и поддерживает протокол TCP с доступоп в сеть GPRS.
Arduino GSM модуль SIM900 можно также использовать для совершения звонков, можно как принемать звонки так и совершать их.
Для этого на плате есть специальные разъемы для подключения микрофона и динамика.Также модуль можно подключить к компьютеру и отправлять и принемать данные напрямую с ПК.
К примеру можно делать массовую рассылку абонентам записанным на симкарте в атоматическом режиме.
Вместе с модулем также в комплект входит специальная сим карта Telefónica Digital, можно использовать сим-карты и других операторов. Для того чтобы активаровать сим карту Telefónica Digital нужно перейти на сайт BlueVia и следовать дальнейшим инструкциям.
Средняя цена в Китае на данный модуль составляет порядка 2000 рублей. Стоимость можно посмотреть на сайте Aliexpress
Особенности подключения платы GSM к платам Arduino Leonardo и Arduino Mega
Плата с расширением GSM работает с Ардуино непосредственно благодаря библиотеке Software Serial. При стандартных настройках, для взаимодействия модема с Ардуино подключаются цифровые выводы № 2 и № 3. На Arduino Uno подходят такие настройки, но для правильной работы шилда на Arduino Leonardo или Arduino Mega необходимо внести поправки.
Вывод GSM_TX, так же именуется выводом № 2 на плате расширения, отправляет информацию Ардуино. Чтобы точно знать, в какой момент необходимо считывать информацию, Ардуино применяет механизм прерываний: при перемене цифрового уровня сигнала в этом выводе возникает соответствующее прерывание. Однако в Arduino Leonardo и Arduino Mega вывод № 2 не поддерживает прерывания.
Что бы шилд нормально функционировал на Arduino Mega или Leonardo совсем не нужно переменять программный код, библиотека сама изменяет номер вывода RX Ардуино при выборе надлежащей модели в меню «Tools» среды разработки.
Arduino Leonardo
Для правильного функционирования с Leonardo библиотека GSM использует цифровой вывод № 8. Для этого на плате расширения GSM необходимо замкнуть проводником цифровые выводы № 2 и № 8.
На задней стороне платы GSM необходимо отогнуть в сторону штыревой контакт, соответствующий выводу № 2, так, чтобы он не соприкасался с Arduino Leonardo.
Arduino Mega2560
Библиотека GSM для корректной роботы с Mega использует цифровой вывод № 10. На плате расширения GSM необходимо замкнуть проводником цифровые выводы № 2 и №10, как и с Arduino Leonardo. Не забыв при этом отогнуть с обратной стороны платы GSM в сторону штиревой контакт соответствующий выводу № 2, так, чтобы он не касался Arduino Mega.
Использование других выводов для работы с библиотекой
Если вместо использования перемычек просто использовать другой вывод для связи других устройств, то для начала необходимо посмотреть в справке по библиотеке Software Serial список выводов, которые поддерживают прерывания. Что бы изменить номера пина, необходимо переменить некоторые данный в константе __RXPIN__, которая находиться в файле GSM3SoftwareSerial.cpp, который располагается в папке библиотеки GSM.
Что бы более масштабно ознакомиться с информацией об использовании GSM-платы расширения, необходимо смотреть в руководство по началу работы с GSM.
Подключение модуля Sim800l к микроконтроллеру esp8266
ESP8266 стал настоящей новостью прошлого года для всех, кто занимается созданием девайсов на Ардуино. Дешёвый микроконтроллер, с возможностями, превышающими его дорогостоящий аналог, и при этом совместимый с АТ+.
Ардуино не остались за бортом, и теперь данный модуль официально добавлен в списки поддерживаемых платой, а соответственно, всё больше пользователей приобщится к китайскому мк для wi-fi соединения. Но бывает, что в системе необходимо отслеживать и местоположение модуля, для чего одной платы esp8266 будет недостаточно. Здесь и пригодится esp8266 sim800l.
Для смарт-домов и множества поделок требуется получать уведомление о местоположении платы, будь то дистанционная дверь или обычный трекер. Вот лишь краткий список поделок, которые можно создать, совмещая esp8266 sim800:
- Умный дом. Практически любую технику для умных домов можно настроить на определённые патерны при приближении объекта. Но зачем устанавливать датчики движения, если можно просто прикрепить в wi-fi плате sim800, вшить в какой-то предмет одежды мк с аккумулятором (благо, много энергии не потребуется) и автоматически включать свет или открывать дверь при приближении пользователя.
- Разнообразные отслеживающие устройства. Речь не идёт о противозаконных жучках и прочих устройствах, нарушающих ваше право на неприкосновенность. Однако мк может работать отдельно от ардуино, а если к нему прикрепить sim800, общие размеры устройства не превысят спичечный коробок. Просто оберните всё в металлический корпус и прикрепите к ключам, в качестве брелока. Отныне найти смартфон, ключи и даже вашу машину на парковке будет в разы проще.
- Робототехника и смежные направления. Здесь можно долго говорить о развитии современного виртуального интеллекта и нейросетях, но зачастую, чтобы создавать карту местности и ориентироваться в ней, железякам недостаточно датчиков. И если вы занимаетесь чем-то подобным, то gps модуль пригодится. Особенно он удобен в паре с дронами.
Читайте также: Обзор лучших камер видеонаблюдения с датчиком движения: xiaomi, escam, vstarcam и hiseeu
Когда вы определитесь с конечной целью проекта, следует разобраться в нюансах вопроса. Подключение устройств к вышеназванному микроконтроллеру такое же, как у стандартных плат ардуино, разница лишь в количестве доступных пинов. GPS трекер требует для работы от 3.7 до 4.
2 вольт, в отличие от стандартных 5, выдаваемых микроконтроллером. Это следует учитывать при построении схемы платы и соответствующе подбирать вспомогательные источники питания.
Либо устанавливать трансформаторы и резисторы, в зависимости от того, что вы ещё будете подсоединять к конечной системе.
Регистрируясь в сети, модулю потребуется приблизительно 2А, но это его пиковое потребление и в дальнейшем необходимая сила тока снизится до 1-1.2 А.
Как только вы подключите трекер к системе, необходимо будет его запустить и отправить первые команды, лучше всего подойдут АТ и АТ+.
Только после этих действий модуль, наконец, начнёт посылать данные и отвечать на ваши запросы, поэтому не стоит беспокоится, если вы его подсоединили, диод мигает, но никаких реакций на скрипты нет.
Вам просто необходимо активировать Sim800i при первом использовании, чтобы он успел зарегистрироваться в сети.
Также не стоит рассматривать Sim800i, как альтернативу ESP8266, чем грешат многие пользователи на форумах. Если вы натыкались на подобные заявления, можете смело утверждать, что автор в жизни не работал с ардуино.
В первую очередь, сравнивать вспомогательную плату и микроконтроллер – бессмысленно. Не говоря уже о том, что одно из устройств создано для координации, отправки и принятия запросов по беспроводному интернету, а второе является GSM GPRS модулем.
Соответственно, они являются хорошим дополнением друг к другу, но никак не альтернативой.
Схема подключения sim800l к esp8266
Распиновка более чем стандартная. Пин с питанием подключаете к источнику, способному выдавать напряжение в пределах 3.7-4.2 Вольт, или же к трансформатору. TX идёт к RX пину и наоборот.
Как только вы выполните спайку и решите протестировать работу модуля, подключив источник питания, о правильности подключения просигнализируют диоды. Далее остаётся активировать модуль по описанному выше методу, и вы сможете использовать АТ-команды для управления.
Если захотите подгрузить вспомогательную библиотеку или какие-то весомые медиа, стоит ознакомиться с подключением карты памяти к системе Ардуино.
Для начала давайте протестируем скорость работы порта и информацию о модуле, для этого воспользуемся «AT+IPR?» и «AT+CPAS» соответственно. Если всё в порядке и информация выводится без ошибок, то можно продолжить проверку и протестировать уровень сигнала, а также операторов, которых может увидеть модуль.
Самое главное – Sim800i позволяет звонить на указанные номера и принимать звонки, притом с помощью базовых библиотек.
Это также открывает простор для применения систем с его участием. Если вы захотите написать определённый скрипт, запускающий что-либо по входящему звонку, то учитывайте, что модуль реагирует на него фразой «RING» в командной строке.
Подобный функционал позволяет создавать сотни автономных систем управления, вплоть до того, что вместо отпечатков пальцев или ключ-карт, вы можете открывать дверь по звонку на определённый номер. Но, естественно, для хорошего уровня защиты, стоит прописать вайт-лист номеров.
Пример реализации подключения gsm модуля sim800l к мк esp8266
После подключения и спайки по вышеописанным пинам, модуль должен начать мигать. Как только произойдёт аутентификация в сети, диоды станут реже моргать.
Если уменьшение частоты световых сигналов не произошло, то стоит, при помощи АТ-команд, удостовериться, воспринял ли вообще sim800I сеть вашего мобильного оператора и нет ли никакой ошибки. Также проверьте правильность распиновки и как установлена СИМ-карта с антенной, ошибка может быть и в них.
Ну и, конечно, поднесите систему ближе к окну, если находитесь в многоэтажном здании, вполне возможно, она просто не может поймать сигнал.
Запуск и сборка GSM модуля M590E
Совсем недавно я решил попробовать такую платформу, как Железона где радиолюбителям предоставляют различные девайсы совершенно бесплатно. Собственно таким образом ко мне в руки попал данный наборчик. Набор предоставлен сайтом Neru5.ru.
Стоимость набора примерно ~1150 руб с arduino в комплекте и ~600 рублей без arduino. Точные цены можете посмотреть на сайте поставщика.
Конкретно в данном модуле меня заинтересовало заявление «Разработано в России», далеко не часто мне приходится сталкиваться с модулями для ардуино, разработчики которых живут в России (кроме Амперки конечно). Поэтому решено было взять его и разобраться, что к чему и почему.
Наборчик пришел ко мне за 15 дней, в хорошо упакованной бандерольке (было очень много пузырьков). Внутри посылки находились следующие комплектующие.
Давнему серферу AliExpress уже давно забрела в голову мысль: «А чего здесь Российского то, я все это уже видел на алике!». «А вот и нет!» — отвечу я вам.
Дело в том, что из этого набора Российской разработкой является Адаптер для GSM модуля (сам модуль и ардуино импортные).
Поэтому после сборки будем тестировать именно его, и узнаем на сколько он практичен и нужен ли вообще бывалому (или начинающему) ардуинщику. Поехали!
Сборка модуля
Сам GSM модуль поставляется в виде конструктора, который нам будет необходимо спаять. Новичкам не стоит этого боятся поскольку модуль очень простой и собирается за 5-10 минут.
Начнем…. Сборку модуля следует начать с запайки SMD компонентов так, как они очень маленькие и после запайки крупных компонентов мы попросту не подберемся к дорожкам. Я начну пожалуй с запайки SMD резисторов. А именно вот с этих черных малюток.
Вам необходимо аккуратно разрезать упаковку (рядом с резистором) и достать его. Внимание! Работайте за чистым столом, что бы не перепутать резистор с песчинкой (волос для демонстрации размера).
Просто кладем резистор на необходимую площадку и в два касания паяльником (придерживая резистор пинцетом) мы припаиваем его к площадке. Кстати говоря, поскольку это резистор, можно не волноваться по поводу полярности.
В итоге у вас должно получится нечто подобное (Необходимо запаять и второй резистор на указанную площадку)
Далее запаиваем светодиод. Он выглядит следующим образом. Светодиод изначально находится в черной упаковке из которой его необходимо достать.
Внимание! На светодиоде есть маленькая зеленая точка которая НЕ должна смотреть на резистор. Так же подключение светодиода вы можете проверить с помощью мультиметра (учитывайте что от ножки чипа-контроллера идет положительный сигнал, т.е +)
Теперь нам необходимо запаять танталовый конденсатор. Внимание! Полоска конденсатора должна смотреть в сторону контактов для гребенки.
Теперь осталось запаять чип-контроллер который будет управлять модулем. Запаиваем чип следующим образом (ориентируемся на выемку под антенну) Совет! При пайке многоножковых компонентов, советую запять сначала крайнюю верхнюю а затем крайнюю нижнюю ногу. Это необходимо для того, что бы чип не двигался во время пайки.
Итак. Мы запаяли все SMD компоненты дальше по мелочи. Диод, антенна и лоток под симкарту.
При запайке диода ориентируйтесь на шелкографию.
Читайте также: Классификация, виды и принцип работы пожарных извещателей
Аналогично диоду, запаиваем лоток для сим-карты ориентируясь на шелкографию.
Завершающим штрихом запаиваем антенну и грбенку. Думаю что здесь ничего не вызовет трудностей.
GSM модуль готов! Осталось собрать этот «Сендвич» из Arduino, адаптера и GSM модуля.
Подготовка к запуску
Для начала работы с модулем, нам обязательно нужно вставить sim-карту. Для этого просто отодвигаем верхнюю панельку в право, тогда она сможет откинуться.
Для работы нам, так же понадобится блок питания. Я использовал обычный зарядник от планшета, к которому припаял нужный разъем питания. Автор рекомендует использовать 7-12ти вольтовый блок питания, поскольку иначе реле не будет работать (собственно, что у меня и случилось), однако чистый модуль, без проблем работает на 5ти вольтах.
На счет подключения, провод питания нужно заводить не в ардуино, а в шилд, а usb в ардуино.
Теперь у нас все готово к запуску, можем переходить к программной части.
Запуск
Модуль работает по UART интерфейсу, и управляется с помощью AT комманд. AT команды, представляют из себя строку символов, которая фактически является некоторой командой для модуля, например: подключится к сети, отправить смс и прочее. Список AT команд можете просмотреть здесь. Теперь, что бы протестировать работу модуля, зальем в него следующий скетч
#include SoftwareSerial gsm(2, 3);
String phone=»+7XXXXXXXXXX»; //Здесь укажите ваш номер телефона void setup() { Serial.begin(9600); gsm.begin(115200); Serial.print(«Prepearing»); gsm.println(«ATE0»); // выключаем эхо delay(100); gsm.println(«AT+CLIP=1»); // Включаем АОН delay(100); gsm.println(«AT+CMGF=1»); // Формат СМС = ASCII текст delay(100); gsm.println(«AT+CSCS=»GSM»»); // Режим кодировки текста = GSM (только англ.) delay(100); gsm.println(«AT+CNMI=2,2»); // Текст смс выводится в com-порт delay(100); Serial.println(«Ready!»); //Отправляем Sms } void loop() { if(Serial.find(«SMS»)){ Serial.print(«Sending..»); gsm.println(«AT+CMGS=»» + phone + «»»); delay(500); gsm.print(«Hello form arduino!»); delay(500); gsm.print((char)26); delay(500); Serial.println(«OK»); } }
О том как работать с GPRS модулем, вы сможете прочитать так же в других статьях на этом сайте, но в прикрепленных материалах прикладываю скетч работы данного модуля с реле на шилде (Код с подробными комментариями).
Итоги
Кому может понадобится данный модуль?
Вообще при работе с шилдом у меня сложилось следующее впечатление:
- он вряд-ли подойдет для малогабаритных устройств так, как имеет внушительные размеры.
- Однако данная плата идеально подходит для новичков, которые не хотят возится с питанием модуля и прочим, что может отбить всякое желание заниматься радиоэлектроникой. Шилд помогает запустится модулю из коробки без лишних шаманств.
- Так же, я бы порекомендовал модуль различным кружкам и сообществам, например, я был бы не против приобрести еще штук 9 подобных модулей на «Лаборатории интернета вещей Челябинска», где являюсь одним из преподавателей. Во первых, избавляет нас от надобности готовить набор деталей для занятия, а так же помогает участникам сообщества быстрее и лучше разобраться в том как это работает.
- Модуль идеально подходит для макетирования, где главным фактором является стабильность, а не габариты.
Зачем может понадобится данный модуль?
- GSM модуль может послужить некоторой системой дистанционного управления вашим устройством по средствам SMS и телефонных звонков.
- Получение некоторой информации (например местоположение автомобиля) в тех местах, где нужна стабильность передачи, а интернет — роскошь
А что нам дает то, что модуль разработан в России?
- Во первых, это 100% стабильность работы модуля так, как разработчики стараются поддерживать свой статус.
- Для модуля активно разрабатываются скетчи-примеры, которые помогут новичкам разобраться в сложных технологиях
- Модуль активно дорабатывается, и если вы нашли в нем недостатки, то всегда можете написать разработчикам.
Думаю, что все это делает покупку достаточно рациональной, тем более, что цена находится на том, же уровне, что и импортные аналоги.
В общем модуль мне понравился, к тому же, разработчики активно делают к нему различные скетчи примеры.
Кстати, как идея для работы с модулем: попробуйте сделать систему оповещения «угона» велосипеда. Удачи вам в ваших начинаниях
GSM модуль SIM900A. Прошивка и использование
Наконец-то мне удалось заняться изучением, пожалуй самого популярного в DIY среде GSM модуля — GSM900. Что такое GSM модуль? Это устройство, которое реализует функции сотового телефона. Другими словами, GSM900 позволяет звонить другим абонентам сотовой сети, принимать звонки, отправлять и принимать SMS-сообщения. А еще, разумеется, передавать данные по протоколу GPRS.
Мне этот модуль понадобился для вполне конкретной цели: появился проект системы освещения, управляемой дистанционно. Проще всего эта задача решается SMS-сообщениями: отправил одну sms — свет включился, отправил другую — выключился. Никаких пультов не надо, а телефон есть у всех (даже у бомжей). Собственно, в этой статье я рассмотрю именно этот вариант использования модуля GSM900.
1. Прошивка
Волею судеб, у меня в руках оказался модуль GSM900A. Прочитав первый попавшийся форум про оживление этой штуки, выяснилось, что буква A в названии означает принадлежность модуля к азиатскому региону. А следовательно, работать с нашими операторами он не станет. Уныние
Работа с SIM модулем SIM800L
В примере покажем как работает GSM модуль SIM800L. Можно использовать и другие GSM модули SIMxxx так как они работаю по схожему принципу, а отличаются функционалом.
В данном случае будем отправлять SMS с командами «1» и «0» тем самым включая и отключая нашу нагрузку — светодиод. вы же можете использовать какое либо реле.
А управлять можно будет чем угодно, тут на что фантазии и навыков хватит.
Подключается к Arduino через серийный порт: Pin 2 Arduino — pin TX SIM800L
Pin 3 Arduino — pin RX SIM800L
Модуль sim800 питается от 3.7 до 4.2 вольт. Если его подключить к 5 вольт то модуль просто сгорит, а если к 3.3 вольт то этого будет недостаточно. Поэтому используем стабилизатор на 4 вольта. Вся система питается у меня от блока аккумулятора 7.2 вольта.
В Arduino есть встроенный преобразователь который позволяет подавать напряжение до 20 вольт.Для примера работы использовал простой светодиод подключенный к pin 10 Arduino.
Отправляем на номер sim карты которая установлена в модуле сообщение с текстом «1» и в течении 10 секунд светодиод загорится.
Для того чтобы выключить светодиод, отправим другое сообщение, но уже с текстом «0». И через некоторое время светодиод погаснет.
Код
#include SoftwareSerial gprsSerial(2, 3); // установка контактов 2 и 3 для программного порта int LedPin = 10; // для реле void setup() { gprsSerial.begin(4800); pinMode(LedPin, OUTPUT); // настройка приема сообщений gprsSerial.print(«AT+CMGF=1
«); delay(500); // задержка на обработку команды gprsSerial.print(«AT+IFC=1, 1
«); delay(500); gprsSerial.print(«AT+CPBS=»SM»
«); delay(500); // задержка на обработку команды gprsSerial. print(«AT+CNMI=1,2,2,1,0
«); delay(700); } String currStr = «»; // если эта строка сообщение, то переменная примет значение True boolean isStringMessage = false; void loop() { if (!gprsSerial.available()) return; char currSymb = gprsSerial. read(); if (» == currSymb) { if (isStringMessage) { // если текущая строка – сообщение, то… if (!currStr.compareTo(«1»)) { digitalWrite(LedPin, HIGH); } else if (!currStr.compareTo(«0»)) { digitalWrite(LedPin, LOW); } isStringMessage = false; } else { if (currStr. startsWith(«+CMT»)) { // если текущая строка начинается с «+CMT», то следующая сообщение isStringMessage = true; } } currStr = «»; } else if (‘
‘ != currSymb) { currStr += String(currSymb); }}
система парадокс