Gsm сигнализация на sim800l своими руками

Добавил пользователь Владимир З.
Обновлено: 19.09.2024

В данной статье рассмотрим:

подключение модулей к переходнику USB-TTL для проверки и отладки;

подключение модулей к платам Arduino для выхода в Интернет в условиях, когда нет доступа к Wi-Fi;

код, который позволяет подключиться к объекту на платформе Rightech IoT Cloud, публиковать данные и получать команды.

Обзор модулей на базе чипа SIM800L

Технические особенности чипа:

Напряжение питания: 3,4 В - 4,4 В (рекомендуемое 4 В)

Потребляемый ток режима ожидания: 0,7 мА

Пиковый ток: 2 А

Встроенный FM-приемник (🎵ребята_прикиньте_тут_есть_радио)

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

Для знакомства и изучения взяли два модуля с Aliexpress. Китайцы не стали заморачиваться с придумыванием для них какого-то специального названия (“red plate”, “blue plate”), так что и мы будем различать их по цветам: красный и синий.


Модуль “красный”


К этой плате можно подключить гарнитуру или микрофон

Контакты чипа SIM800L выведены по бокам модуля

Для подключения к сотовой сети нужна внешняя антенна, которая идет в комплекте с модулем. Также на плате имеется разъем U.FL, если необходимо подключить выносную антенну, в моем случае она тоже шла в комплекте, одна на два модуля. Мне для работы антенны-пружинки вполне хватило. Если вы размещаете модуль в корпусе, который может снижать уровень сигнала, используйте выносную антенну

Максимальный уровень логической единицы на входе RX — 3,1 В (при минимальном 2,1 В), поэтому необходимо понижать напряжение 5 В стандартной логики Arduino, например, с помощью делителя напряжения

На задней панели расположено гнездо для SIM-карты (подойдет любая активированная SIM карта). Устанавливать ее необходимо при отключенном питании модуля контактами к чипу SIM800L, а срез ДОЛЖЕН ТОРЧАТЬ СНАРУЖИ. Я первый раз установила срезом внутрь, и, конечно, получила в терминале ошибку о том, что SIM-карта не вставлена.

Чтобы проверить обнаружение SIM-карты, отправьте команду AT+CSMINS? . Второй параметр в ответе должен быть 1. Если 0, значит карта не вставлена. Подробнее об AT-командах будет рассказано ниже.


В верхнем правом углу модуля находится красный светодиод, который показывает состояние сотовой сети:

мигает раз в 1 сек — модуль работает, но еще не подключился к сотовой сети;

мигает раз в 2 сек — запрошенное соединение для передачи данных GPRS активно;

Модуль “синий”


Не выведено подключение гарнитуры;

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

Присутствует конвертер уровней на двух транзисторах 2N7002, поэтому можно спокойно подключать хоть к пяти-, хоть к трехвольвотовой логике (не нужен делитель напряжения как для красного модуля).

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

Подключение модуля к USB-TTL конвертору

Взаимодействие с модулем осуществляется по последовательному порту посредством AT-команд.

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

Модуль “красный”

Собираем схему

Из всех 12 контактов понадобятся только 4: VCC, RXD, TXD, GND.

Где эти контакты?

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


Подача питания (VCC, GND)

В документации сказано, что для стабильной работы модуля SIM800L необходим источник питания с выходным напряжением от 3,4 до 4,4 В и максимальным рабочим током 2 А. Не знаю, как это должно работать, но у меня почему-то при напряжении меньше 5 В модуль совсем никак не хотел регистрироваться в сети. Начиталась советов по сдвиганию SIM-карты в слоте, окислившимся контактам, антеннам… но потом решила подать напряжение от стандартного блока питания 5 В/2 А, и все заработало. Итак, в моем случае контакты VCC и GND соединяем с плюсом и минусом блока питания на 5 В.

Примечание 1: У меня заработало не с любым блоком на 5 В. Один блок давал напряжение 5,25 В, и с ним не работало, появлялась ошибка OVER-VOLTAGE POWER DOWN (пороговый уровень напряжения сильно превышен), и модуль отключался (уходил в защиту). С блоком на 5,06-5,16 В все заработало отлично.

Как понять, какое у меня сейчас напряжение питания на модуле?

Если нет мультиметра, то после того как подключите модуль, отправьте команду AT+CBC . Последний параметр в ответе - текущее напряжение питания модуля в милливольтах. У меня этот модуль заработал при числе около 5097.

Примечание 2: Запитать можно также от повербанка. Но имейте в виду, что модуль в режиме ожидания потребляет так мало тока, что повербанк через какое-то время самопроизвольно выключится, не принимая всерьез такое незначительное потребление. Поэтому подключите к повербанку что-нибудь еще - например, ту же Arduino после того, как зальете на нее скетч. В режиме же активной работы при передаче данных по протоколу MQTT потребление тока значительно увеличивается, поэтому повербанк выключаться уже не будет.

Это может выглядеть так


Примечание 3: ЗАПИТЫВАТЬ МОДУЛЬ ОТ ARDUINO НЕЛЬЗЯ. Напомню, что модуль может потреблять до 2 А, а Arduino не в состоянии такой ток выдавать, поэтому произойдет сбой в работе либо модуля, либо Arduino, либо того и другого (вполне вероятен выход Arduino из строя). Аналогичная история и с запитыванием от USB порта компьютера.


TL; DR программно и аппаратно задуманное реализовано, тест в реальных условиях запущен, исходники и бинарники опубликованы, корпус не осилил.

Устройство и характеристики

Устройство отправляет SMS при возникновении следующих событий:

  • открытие двери (герконовый датчик);
  • резкое изменение освещения (фоторезистор);
  • движение (PIR датчик);
  • выход температуры из заданного диапазона;
  • низкое напряжение батареи.

Пример SMS с событием




Также, раз в сутки можно настроить время ежедневного отчета

Питается устройство от 3-х батареек AA. Расчетное время работы ≥6мес.

Настройка устройства, считывание логов событий и построение месячного графика температуры происходит с помощью утилиты (Python 2.7 + Tk + pyserial + matplotli).




Основное окно утилиты настройки




Окно лога событий




Окно лога температуры

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

Себестоимость деталей устройства на момент публикации этой статьи составляет примерно 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.

Использование

Локализация

Поддержаны два языка для программы конфигурирования и текста SMS: английский, русский. При желании не сложно добавить поддержку других языков: все локализуемые строки вынесены в отдельный файл (принимаю issue с реквестом, если приложите переводы всех строк).

Полевые испытания

Прошу прощения за эстетику монтажа.




Установка на входную дверь. Часть конструкции справа (непосредственно на самой двери) — магнит для срабатывания геркона

Проблемы

За время эксплуатации температура в помещении понизилась с +10°С до -15°С и обнаружилась две проблемы.

В остальном полет нормальный.

Что дальше

В планах (когда-нибудь):

  • спроектировать и напечатать корпус;
  • подключить ESP-01 для конфигурации и просмотра логов через браузер с телефона.

Отладка

Ссылки

Репозиторий проекта: github
Доступны схема и плата в Ki-CAD, прошивка и исходники для Arduino, exe и исходники утилиты конфигурации.


Из чего будем собирать



Подумал я и заказал его из Китая. Однако всё оказалось не так радужно. Датчик просто отказался регистрировать SIM-карту в сети. Было опробовано всё, что только возможно — результат нулевой.
Нашлись добрые люди, которые предоставили мне более крутую штуку — Sim900 Shield. Вот это уже серьёзный штучка. В Shield-е и разъём для микрофона и для наушников, полноценный телефон.


4 стандарта рабочей частоты 850/ 900/ 1800/ 1900 MHz
GPRS multi-slot класс 10/8
GPRS mobile station class B
Соответствует GSM phase 2/2+
Class 4 (2 W @850/ 900 MHz)
Class 1 (1 W @ 1800/1900MHz)
Управление с помощью AT команд (GSM 07.07 ,07.05 и SIMCOM расширенные AT команды)
Низкое энергопотребление: 1.5mA(sleep mode)
Диапазон рабочих температур: от -40°C до +85 °C

Ок, но надо же снимать показания с каких-то датчиков, чтобы оповещать владельца. Вдруг автомобиль эвакуируют, тогда положение автомобиля явно будет меняться в пространстве. Возьмём акселерометр и гироскоп. Отлично. Такс, теперь ищем датчик.


Модуль 3-х осевого гироскопа + 3-х осевого акселерометра GY-521 на чипе MPU-6050. Позволяет определить положение и перемещение объекта в пространстве, угловую скорость при вращении. Так же имеет встроенный датчик температуры. Используется в различных коптерах и авиамоделях, так же на основе этих датчиков можно собрать систему захвата движений.

Микросхема — MPU-6050
Напряжение питания — от 3,5V до 6V (DC);
Диапазон гироскопа — ± 250 500 1000 2000 ° / с
Диапазон акселерометра — ± 2 ± 4 ± 8 ± 16g
Интерфейс связи — I2C
Размер — 15х20 мм.
Вес — 5 г


Напряжение питания — 3.3 — 5В
Выходной сигнал — цифровой High/Low (нормально закрытый)
Используемый датчик — SW-420
Используемый компаратор — LM393
Размеры — 32x14 мм
Дополнительно — Есть регулировочный резистор.

Прикрутим модуль SD карты памяти. Будем ещё писать лог-файл.


Модуль позволяет хранить, читать и записывать на SD карту данные требуемые для работы прибора на основе микроконтроллера. Применение устройства актуально при хранении файлов от десятков мегабайт до двух гигабайт. На плате размещен контейнер SD карты, стабилизатор питания карты, вилка соединителя линий интерфейса и питания. Если требуется работать с звуковыми, видео или другими объемными данными, например, вести журнал регистрации событий, данных датчиков или хранить информацию веб-сервера, то модуль SD карты памяти для Arduino даст возможность применить SD карту для этих целей. С помощью модуля можно изучить особенности работы SD карты.
Напряжение питания — 5 или 3,3 В
Объем памяти SD карты — до 2 Гбайт
Размеры — 46 х 30 мм

И добавим сервопривод, при срабатывании датчиков будет поворачиваться сервопривод с видеорегистратором и снимать видео происшествия. Возьмём сервопривод MG996R.


— Стабильная и надежная защита от повреждений
— Металлический привод
— Двухрядный шарикоподшипник
— Длина провода 300 мм
— Размеры 40х19х43мм
— Масса 55 гр
— Угол поворота: 120 град.
— Рабочая скорость: 0.17сек/60 градусов (4.8В без нагрузки)
— Рабочая скорость: 0.13сек/60 градусов (6В без нагрузки)
— Пусковой момент: 9.4кг/см при питании 4.8В
— Пусковой момент: 11кг/см при питании 6В
— Рабочее напряжение: 4.8 — 7.2В
— Все детали привода выполнены из металла

Собираем


О, совсем забыл упомянуть о питании, от чего же будет питаться наша система. Питание будет от 12v автомобиля.


Тонкие моменты проекта


Фишки на Sim900 Shield должны быть установлены такие образом. Полезность SIM900 Shield.

Положение тумблера питания Sim900 Shield.







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

Что нам понадобится чтобы сделать GSM сигнализацию:

  • GSM/GPRS модуль SIM800L;
  • Arduino Nano, UNO или другая Ардуинка;
  • Понижающий DC-DC преобразователь;
  • Аккумулятор 3,7 В;
  • Резисторы на 10 к – 7 шт;
  • Блок питания.

GSM сигнализация на модуле SIM800L и Arduino

GSM сигнализация на модуле SIM800L и Arduino

Как сделать охранную GSM сигнализацию на модуле SIM800L и Arduino, описание работы:

Подключаем модуль SIM800L, Arduino, датчики и др. по схеме ниже, всё собирается на макетной плате чтобы в любое время можно было что-то поменять, размещаем в любой подходящий корпус и выводим провода из корпуса для охранных датчиков и на БП. Аккумулятор тоже размещаем в корпусе, он нужен чтобы когда пропадает в доме электроэнергия то устройство переходило в автономный режим питаясь от аккумуляторной батареи. На повышающем преобразователе настраиваем на выходе 4,2 вольта, при таком напряжении работает GSM SIM модуль и при этом подзаряжается аккумулятор, а также этого напряжения хватает для работы Arduino Nano.

GSM сигнализация на модуле SIM800L и Arduino

GSM сигнализация на модуле SIM800L и Arduino

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

GSM сигнализация на модуле SIM800L и Arduino

GSM сигнализация на модуле SIM800L и Arduino

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

Читайте также: