Gsm gprs sim800l модуль: описание, подключение. подключение модуля sim800l к микроконтроллеру esp8266 sim800l подключение к arduino

Содержание:

Код Arduino – чтение SMS

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

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

– выбирает формат SMS сообщения в виде текста. По умолчанию используется формат PDU (Protocol Data Unit).

– указывает, как должны обрабатываться новые входящие SMS сообщения. Таким образом, вы можете указать плате расширения SIM900 либо пересылать новые входящие SMS сообщения непосредственно на компьютер, либо сохранять их в хранилище сообщений, а затем уведомлять компьютер об их расположении в хранилище сообщений.

Отклик на получение сообщения начинается с +CMT: все поля в ответе разделены запятыми. Первое поле является номером телефона. Второе поле – имя человека, отправившего SMS. Третье поле – это временная метка, а четвертое поле – само сообщение.

Обратите внимание, что на этот раз мы НЕ оставили функцию пустой, так как запрашиваем новые входящие SMS сообщения. Как только вы отправите SMS на плату расширения SIM900 GSM/GPRS Shield, вы увидите следующий вывод на мониторе последовательного порта

Рисунок 20 – Чтение SMS через SIM900 GSM ShieldРисунок 21 – AT команды SIM900 GSM Shield для чтения SMS на Arduino

Распиновка

Пины питания

  • VIN: Пин для подключения внешнего источника напряжения в диапазоне от 5 до 6 вольт.
  • 5V: На вывод поступает напряжение 5 В при подключении платы через USB. При питании платформы через пин или разъём для внешнего аккумулятора — на пине может быть напряжение в диапазоне от нуля до входного.
  • VCC: Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 600 мА. Регулятор обеспечивает питание микроконтроллера ATSAMD21G18. В любом варианте питания платформы на пине будет присутствовать 3,3 вольта.
  • GND: Выводы земли.

Порты ввода/вывода

В отличие от большинства плат Arduino, родным напряжением Arduino MKR GSM 1400 является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Более высокое напряжение может повредить микроконтроллер!

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

  • Цифровые входы/выходы: 22 пина; – и –
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 7 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • UART/Serial:

    • Serial: пины и

I²S: пины 2(SCK/BCLK), 3(WS/LRCLK/FS) и A6(SD/SDATA/SDIN/SDOUT)
Используется для передачи и приёма цифрового звука с другими аудио устройствами. Для работы используйте библиотеки I²S и Arduino Sound

Сборка устройства

Себестоимость деталей устройства на момент публикации этой статьи составляет примерно 1000-1200 рублей (без учета заказа платы).

Для удобства сборки и надежности в эксплуатации лучше заказать плату. Китайские друзья с известного сайта предлагают сделать 10 штук с доставкой за ~$7, а иногда и меньше. Но всегда можно собрать и на макетке, как я и поступил с первым прототипом:

Прототип.

Arduino и совместимые модули были заказаны с aliexpress. Понадобятся:

  • Arduino Pro Mini 3.3v 8MHz (5v 16MHz is also acceptable, but requires different firmware);
  • MH-SR602 MINI Motion Sensor;
  • SIM800C(L) GSM Module;
  • CP2102 MICRO USB to UART TTL Module;
  • DS3231 RTC Module For Raspberry Pi;
  • 3 AA battery holder With ON OFF Switch;
  • различная рассыпуха (резисторы, конденсаторы, зуммер и поч.).

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

Схема устройства
Для снижения энергопотребления с платы Arduino нужно обязательно удалить резистор светодиода питания и регулятор напряжения. Проект платы сделан в Ki-CAD.

Сборка «умного дома»: пошаговая инструкция

Вот в какой последовательности необходимо действовать.

Подключение исполнительных и сенсорных устройств

Подключаем все компоненты согласно схеме.

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

Разработка программного кода

Пользователь пишет всю программу целиком в оболочке Arduino IDE, для чего последняя оснащена текстовым редактором, менеджером проектов, компилятором, препроцессором и средствами для заливки программного кода в микропроцессор платы Arduino. Разработаны версии IDE для операционных систем Mac OS X, Windows и Linux. Язык программирования — С++ с некоторыми упрощениями. Пользовательские программы для Arduino принято называть скетчами (sketch) или набросками, программа IDE сохраняет их в файлы с расширением «.ino».

Функцию main(), которая в С++ является обязательной, оболочка IDE создаёт автоматически, прописывая в ней ряд стандартных действий. Пользователь должен написать функции setup() (выполняется единоразово во время старта) и loop() (выполняется в бесконечном цикле). Обе эти функции для Arduino являются обязательными.

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

В IDE предусмотрен минимум настроек, а возможность настройки компилятора отсутствует вовсе. Таким образом, начинающий программист застрахован от ошибок.

Вот пример самой простой программы, заставляющей каждые 2 секунды мигать подключённый к 13-му выводу платы светодиод:

Однако в настоящий момент перед пользователем далеко не всегда встаёт необходимость лично писать программу: в сети выложено множество готовых библиотек и скетчей (загляните сюда: http://arduino.ru/Reference). Имеется готовая программа и для системы, рассматриваемой в этом примере. Её нужно загрузить, распаковать и импортировать в IDE. Текст программы снабжён комментариями, поясняющими принцип её работы.

Все программы на Arduino работают по одному принципу: пользователь посылает запрос процессору, а тот загружает необходимый код на экран компьютера или смартфона

Когда пользователь нажимает в браузере или установленном на смартфоне приложении кнопку «Refresh» (Обновление), микроконтроллер Arduino осуществляет отсылку данных этому клиенту. С каждой из страниц, обозначенных как «/tempin», «/tempout», «/rain», «/window», «/alarm», поступает программный код, который и отображается на экране.

Установка клиентского приложения на смартфон (для ОС Android)

Для получения данных от системы «умный дом» в сети можно скачать готовое приложение.

Вот что необходимо сделать владельцу гаджета:

  1. Скачайте файл SmartHome.apk.
  2. Отправьте его на телефон.
  3. Открыв «Менеджер файлов», разместите этот файл.
  4. Щёлкните на нём и выберите «Установить» (должна быть отмечена «галочка», позволяющая осуществлять установку программ вне сервиса Google Play).
  5. Когда установка будет завершена, активируйте приложение.
  6. Выполните его настройку.

С помощью этого приложения можно не только получать информацию от системы «умный дом», но и управлять ею — включать и отключать сигнализацию. Если она включена, то при срабатывании датчика движения приложению будет отправлено уведомление. Опрос системы Arduino на предмет срабатывания датчика движения приложение выполняет с периодичностью раз в минуту.

Активировав иконку «Настройки», можно отредактировать свой IP-адрес.

Настройка браузера на работу с «умным домом»

В адресной строке браузера следует ввести XXX.XXX.XXX.XXX/all, где «XXX.XXX.XXX.XXX» — ваш IP-адрес. После этого появится возможность получать данные от системы и осуществлять управление ею.

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

Работа с роутером

Далее на маршрутизаторе необходимо открыть порт:

  • открываем настройки маршрутизатора;
  • прописываем адрес Arduino IP;
  • открываем порт 80.

Настройка учётной записи на noip.com

Этот этап не является обязательным, но он необходим, если вы хотите присвоить адресу доменное имя. Для этого надо зарегистрироваться на сайте https://www.noip.com/, перейти в раздел «Add host» и ввести IP-адрес системы.

После регистрации на сайте noip.com доступ к системе можно получать не только по IP-адресу, но и по полному доменному имени

Создание проекта завершено, можно проверять работоспособность системы.

Возможно, вам также будет интересно

В статье кратко рассмотрены беспроводные модемы литовской фирмы Teltonika, использующие помимо всем привычной технологии передачи данных GSM/GPRS относительно новый стандарт EDGE.

Авторы статьи предлагают ответ на вопрос, как быстро и с минимальными трудозатратами произвести переход на более совершенную и бюджетную серию 2G-модулей — SIM800, а именно SIM800/SIM800F/SIM800C, предлагаемую дистрибьютором МТ-Систем в качестве фокусной замены модемов SIM900R. Материал будет полезен специалистам, следящим за тенденциями рынка беспроводных технологий для M2M-решений, разработчи…

Компания Silicon Labs анонсировала новое поколение беспроводных мультипротокольных микроконтроллеров EFR32BG22, реализующих стандарты Bluetooth 5.2 и Bluetooth mesh.
EFR32BG22 поддерживают новые возможности стандарта Bluetooth 5.2, включая динамический контроль излучаемой мощности и функции определения местоположения Angle of Arrival и Angle of Departure.
Микросхемы EFR32BG22 отличаются …

Классы и функции

Для коммуникации с модемом.

  • Класс GSM

    • begin()
    • shutdown()

Для голосовой коммуникации через модем. Чтобы в полной мере пользоваться этим функционалом, требуются микрофон и динамик.

  • Класс GSMVoiceCall

    • getVoiceCallStatus()
    • ready()
    • voiceCall()
    • answerCall()
    • hangCall()
    • retrieveCallingNumber()

Для отправки и получения SMS-сообщений (от «Short Message Service», что значит «служба коротких сообщений»).

  • Класс GSM_SMS

    • beginSMS()
    • ready()
    • endSMS()
    • available()
    • remoteNumber()
    • read()
    • write()
    • print()
    • peek()
    • flush()

Отвечает за подключение файлов из библиотеки для обработки TCP-коммуникации.

  • Класс GPRS

    attachGPRS()

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

  • Класс GSMClient

    • ready()
    • connect()
    • beginWrite()
    • write()
    • endWrite()
    • connected()
    • read()
    • available()
    • peek()
    • flush()
    • stop()

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

  • Класс GSMServer

    • ready()
    • beginWrite()
    • write()
    • endWrite()
    • read()
    • available()
    • stop()

Для диагностической коммуникации с модемом.

  • Класс GSMModem

    • begin()
    • getIMEI()

Для получения диагностической информации о сети и мобильном операторе.

  • Класс GSMScanner

    • begin()
    • getCurrentCarrier()
    • getSignalStrength()
    • readNetworks()

Для коммуникации с SIM-картой.

  • Класс GSMPIN

    • begin()
    • isPIN()
    • checkPIN()
    • checkPUK()
    • changePIN()
    • switchPIN()
    • checkReg()
    • getPINUsed()
    • setPINUsed()

Для получения информации о диапазоне частот, к которому подключен модем. Также имеет функции для настройки диапазона частот.

  • Класс GSMBand

    • begin()
    • getBand()
    • setBand()

GSM GPRS в 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.

Класс излучения и антенны

К выбору Bluetooth-антенны для разрабатываемого устройства стоит подойти столь же серьезно, как и к выбору GSM-антенны. Прежде всего, следует определиться с максимальным расстоянием, на котором предполагается связываться посредством этой технологии с другими устройствами. Класс мощности передатчиков Bluetooth модулей SIM800x соответствует приблизительно значению 1,5, при этом их максимальная выходная мощность составляет 10 дБм (номинальное значение — 7,5 дБм). То есть максимальная дальность бесперебойной связи, при отсутствии препятствий в зоне прямой видимости и использовании антенн с круговой диаграммой направленности, составит около 25 м. Если установление связи на предельных значениях этой дистанции не предусматривается, можно использовать решение, в котором антенна разведена непосредственно на плате. Если же требуется связь на расстоянии более 25 м, рекомендуется использовать направленные антенны, имеющие заметно более высокие коэффициенты усиления излучаемого сигнала.

Программная часть

Когда система собрана, ее необходимо запрограммировать. Управление GSM выполняется специфическими функциями и АТ-командами. Устройство принимает их, интерпретирует и выдает определенный результат, отправляя/получая СМС или звонок. Команды задаются через программное обеспечение (такая возможность предусмотрена в IDE) или вводятся напрямую через утилиты работы с портами.

AT-команды

Как уже говорилось, GSM-модули управляются посредством передаваемых на них AT-команд. Это текстовые строки, обрабатываемые прошивкой и инициирующие те или иные действия.

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

Команды делятся на три вида:

  • текстовые — на них контроллер дает ответ о поддержке введенной пользователем директивы или отсутствии таковой;
  • чтение — просмотр параметров;
  • запись — ввод и сохранение некоторых новых значений.

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

Получение и отправка СМС

Пример работы с короткими сообщениями для связки «Arduino + сотовый модуль»:

  • в IDE выполняется директива AT+CMGF=1. Она указывает перейти в формат передачи текстового сообщения;
  • далее вводится AT+CSCS=«GSM». Выбирается кодировка ASCII;
  • AT+CMGS=«номер», где номер указывается полностью (в формате «+7…»);
  • когда выполнена эта команда, вводится непосредственно текст сообщения, и по нажатию ctrl-Z отправляется на выбранный номер.

Если все сделано, интерфейс программы вернет ОК.

Для получения SMS:

  • AT + CNMI = 2,2,0,0,0 — переход в состояние чтения;
  • когда блок GSM получит сообщение, он отправит в порт строку +CMTI: «SM»,2. Цифра может отличаться, она обозначает номер СМС в очереди;
  • для прочтения следует дать директиву AT+CMGR=2.

Прием голового звонка

Для выполнения потребуется включить библиотеку разработчика GSM.h:

Если SIM-карта защищена пин-кодом, его также следует определить в скетче:

При пустом коде значение этого поля просто остается пустым.

В обязательном порядке объявляется переменная отслеживания статуса подключения к мобильной сети:

Соединение выполняется посредством функции gsmAcess.begin(). Если процесс завершен успешно, функция возвращает строку GSM_READY.

Далее нужно указать, что сотовый модем переведен в режим приема звонка. За это отвечает функция vcs.hangCall(). Следующая важная функция — getvoiceCallStatus. При входящем звонке она вернет строку RECEIVINGCALL. А для определения номера звонящего следует воспользоваться retreiveCallingNumber.

При поднятой трубке скетч сообщит об этом строкой TALKING. После чего перейдет в режим ожидания ввода; для завершения разговора вводится символ перехода на новую строку.

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

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

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

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

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

SIM900

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

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

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

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

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

SIM800L

Основа модуля – компонент SIM800L с реализацией обмена данными по каналам GSM и GPRS с помощью дуплексного режима. В модуль устанавливается SIM-карта, есть встроенная антенна и выход под еще одну антенну. Питание на плату подается через преобразователь напряжения 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 мА.
  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.
  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.

SIM800x и A2DP

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

AT+CGMR // получение версии предустановленного ПО модуля

Revision:1418B04SIM800C32_BT_EAT

OK

AT+BTPOVER=1 // включение функции Bluetooth

OK

AT+BTSCAN=1 // сканирование доступных устройств

OK

+BTSCAN: 0,1,"HM5000",04:18:0f:c3:ff:48,-68 // найдено устройство Bluetooth-гарнитура

+BTSCAN: 1 // сканирование завершено

AT+BTPAIR=0,1 // установить сопряжение с первым устройством из списка найденных

OK

+BTPAIR: 1,"HM5000",04:18:0f:c3:ff:48 // установлено сопряжение

+BTCONNECT: 1,"HM5000",04:18:0f:c3:ff:48,"HFG" // разовый тестовый запрос с удаленного устройства на установление соединения, не требует подтверждения

ATD+7**********; // совершаем исходящий голосовой вызов абонента

OK

+ESPEECH: 1,1,0 // Bluetooth-гарнитура автоматически подключилась //РАЗГОВОР

+ESPEECH: 0,1,0 // на Bluetooth-гарнитуре была нажата клавиша завершения вызова

RING // входящий вызов

+ESPEECH: 1,1,0 // на Bluetooth-гарнитуре была нажата клавиша ответа на вызов //РАЗГОВОР

+ESPEECH: 0,1,0 // на Bluetooth-гарнитуре была нажата клавиша завершения вызова

+BTDISCONN: "HM5000",04:18:0f:c3:ff:48,"HFG" // Bluetooth-гарнитура выключена

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

Таблица подключения к Arduino UNO R3 элементов схемы

Сведем все соединения между Ардуино и внешними устройствами в единую таблицу, которая поможет в деле сборки готовой схемы.

Куда Пин Arduino UNO R3 Пин устройства/контакт
Модуль на 4 реле D0 общее освещение, D1 отопление, D2 свет в кладовке, D3 на улице. D0 D0
D1 D1
D2 D2
D3 D3
Кнопка постановки на сигнализацию/снятия D4
Клавиша включения режима экономии/люди дома D5
D6
Коммуникация с модемом D7 RX
D8 TX
Светодиод охрана отключена(кр) D9
Охрана активирована (зел) D10
Хозяева дома (кр) D11
Режим экономии (зел) D12
Включение модема D13 D9
Геркон кладовка A1
Геркон дверь/калитка A2
Термометр A3
Определение наличия сети 220 В A4

Планируемая система полностью не заняла все пины микроконтроллера. Еще есть место для добавления аналогового датчика и одной линии управления. Вариант — использовать свободные контакты для сенсора дыма и сигнализатора. Если планируется расширять конструкцию дальше, — придется брать микроконтроллер Arduino Mega. В нем больше портов ввода/вывода и памяти, при полной программной совместимости.

Сигнализация для дома на Arduino

Рассмотрим, как сделать на Arduino Uno или Nano сигнализацию для дома, загородного садового участка или гаража. В проекте мы использовали сенсор движения, датчик воды и температуры — это набор основных сенсоров для самой простой системы оповещения. Вы узнаете о прорыве водопровода, снижении температуры в доме или проникновении посторонних людей в помещении в любое время и в любом месте.

Датчики Ардуино для охранной сигнализации

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

В проекте использованы самые простые сенсоры — температурный датчик DHT11, датчик утечки воды, который можно сделать самому, а также датчик движения. Если вы решите сделать более сложную сигнализацию — рекомендуем вам посмотреть проект пожарной сигнализации или сигнализации на GSM. Также потребуется установить приложение на смартфон и зарегистрировать два аккаунта в Твиттере.

Схема платы SIM800C

В datasheet модуля указан максимальный уровень логической единицы на входе RX — 3,1 В (при минимальном 2,1 В). Для конвертации TTL уровней на плате SIM800C разведен конвертер. В принипе достаточно было конвертер поставить только на RX вход, поскольку микроконтроллеры Arduino/ESP8266/ESP32 чувствительны к низкому входному напряжению TTL с SIM800C.

Конвертер TTL уровней и преобразователь напряжения 5V -> 3,7V модуля SIM800C

Схема двунаправленного конвертера уровней довольно стандартная и обеспечивает приведение напряжения логической 1 на SIM800 к уровню VDD_EXT. Это напряжение снимается с SIM800 и по datasheet соотвествует 2,8 V.

Напряжение на выходе VDD_EXT чипа SIM800

Соотвественно, на входе модуля SIM800 преобразователь уровней обеспечивает напряжение логической 1 не выше 2,9 V при максимальном значении.

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

Резистивный делитель при подключении входов SIM800 напрямую к Arduino

Вероятно, в данном случае использовали более дорогую схему согласования уровней, чтобы гарантировать, что пользователь неосторожными действиями не сожжет RX порт чипа SIM800. В случае резистивного делителя это можно сделать попутав Rx и Tx

Ну и важно для полноценного согласования уровней SIM800 с микроконтроллером 5-ти вольтовой логики, когда уровень логический единицы может быть высоким, так что микроконтроллер не будет воспринимать уровень логической единицы на выходе Tx

Замечу, что при использовании дешевого модуля SIM800C/L без конвертера уровней, даже при подключении его напрямую к ESP8266/ESP32 с уровнем логики 3,3 V вместо максимальных 3,1 V, указанных в datasheet, можно вывести SIM800 из строя. По крайней мере у меня один модуль SIM800L перестал реагировать на RX. Видимо, внутри чипа нет защитных диодов, либо они не справились даже с такой небольшой разницей в напряжении.

Поэтому при подключении модуля SIM800 без конвертера уровней к ESP8266/ESP32 тоже нужно добавить хотя-бы резистивный делитель на вход RXD.

Резистивный делитель напряжения для подключения SIM800 без конвертера TTL уровней к ESP8266/ESP32

Напряжение питания модуля SIM800 (VBAT) 3,4 — 4,5 V, рекомендуемое 4 V при максимальном токе до 2А. Модуль достаточно прожорлив, поэтому его нельзя запитывать от платы Arduino и от маломощных USB зарядок, дажы не вывести их из строя.

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

Схема фильтрации питания платы SIM800C

Слот SIM карты, в отличие от недорогого модуля SIM800L, подключен к чипу с защитой диодной сборкой SMF05C. Она предохраняет чип SIM-карты и SIM800C от статического электричества.

В заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector