504

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Приветствую всех. В предыдущих частях я рассказал, как сделать GSM сигнализацию на ардуино. Затронул тему изготовления беспроводных датчиков для неё. Обещал сделать датчик, работающий по Wi-Fi. И в итоге так увлёкся, что переработал весь проект.


Итак, я решил, что мобильный GPRS это конечно хорошо, но будет ещё лучше, если сигнализация сможет подключаться к домашней Wi-Fi сети и общаться со смартфоном через интернет и мобильное приложение. Для этого мне понадобилась отдельная плата с Wi-Fi модулем. Я подключил к ардуине плату NodeMcu v3 с чипом esp8266. Управление сигнализацией реализовал со смартфона в приложении Blynk.


Для новой сигнализации спроектировал печатную плату, на которой могут разместиться:


- Arduino Nano V3.0

- NodeMcu v3 для выхода в интернет.

- SIM800L для мобильной связи.

- Радиомодуль NRF24L01 для приёма сигналов от беспроводных датчиков.

- ИК-приёмник

- Датчик температуры DS18B20.

- Термистор.

- Микроволновый датчик движения RCWL-0516.

- Зуммер.

- Микрофон.

- MOSFET транзисторы AO3400A для включения платы NodeMcu и внешних маломощных устройств.

- Разъёмы для подключения других датчиков

- Переключение на резервный источник питания


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


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


Связь может осуществляться через SIM800L или NodeMcu на выбор, либо с обоими модулями одновременно (рекомендуется). В последнем случае имеет два независимых канала связи, что более надёжно.

Ардуино и NodeMcu общаются по шине I2C. На плате выведены разъёмы для подключения датчиков по этой шине.

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

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

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Распиновка новой платы немного отличается от схемы предыдущего проекта. Поэтому я решил вынести прошивки в отдельный проект. Дальше будут выходить обновления только для этой платы. Новая версия скетча Signalka.ino подходит и для старого проекта. Ею можно обновляться. Необходимо лишь привести в соответствие номера зарезервированных пинов в файле https://github.com/wisenheimer/Signaling-Blynk/blob/master/l...


Прошивка для NodeMcu написана в среде Arduino IDE. Чтобы собрать проект, необходимо установить библиотеку для esp8266. Как это сделать, можете почитать, например, здесь https://habr.com/ru/post/371853/

Хочу обратить внимание, что с последней версией библиотеки у меня проект не заработал. Плата не хотела подключаться к серверам Blynk. Пришлось откатиться на версию 2.4.2. И проблема исчезла.


Для управления сигнализацией через плату NodeMcu нам надо создать в телефоне приложение Blynk. Это такой конструктор, в котором собирается мобильное приложение из готовых визуальных элементов - виджетов. За каждый виджет нужно платить местной валютой - энергией. Бесплатно даётся 2000 энергии. Если не уложиться в эту сумму, то дополнительную энергию можно докупить за реальные деньги. Мы же из соображений бережливости соберём приложение, которое стоит ровно 2000 энергии.


В статье я не буду затрагивать технические детали по созданию приложения Blynk, настройке и работе сигнализации. Всё это я изложил в файле описания проекта

https://github.com/wisenheimer/Signaling-Blynk/blob/master/R...

Перейдите туда, и следуя инструкции, создайте вот такое приложение:

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

После запуска и подключения к серверу Blynk увидим следующее:

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

В терминал будут выводиться сообщения сигнализации. Так же из него можно отправлять в сигнализацию команды управления (AT, СМС и DTMF команды).

Кнопки ALARM, GUARD и EMAIL в данной конфигурации означают флаги управления сигнализацией. Любой флаг можно включить и отключить из приложения нажатием на кнопку.


ALARM - флаг тревоги. Устанавливается в 1 при срабатывании одного из датчиков. Сбрасывается самостоятельно при завершении режима тревоги.

GUARD - флаг постановки на охрану.

EMAIL - флаг отправки сообщений сигнализации на указанную электронную почту. Так же включается и отключается из приложения.


Далее следует перечисление датчиков и их текущее показание. В данном примере у нас подключено два датчика:

18B20 - это датчик температуры DS18B20, распаянный на плате.

RADAR - микроволновый датчик движения RCWL-0516.


При срабатывании датчика на экране телефона появится сообщение тревоги

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Если плата NodeMcu потеряет связь с сервером Blynk, то на телефон так же придёт сообщение.

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост
GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Эти же сообщения отправятся на указанный вами в настройках e-mail.


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

Можно было бы добавить графики и дополнительные визуальные плюшки. Для этого понадобилось бы докупить энергии. Каждый в праве доработать проект под себя. Я же ограничусь бесплатной версией.


Теперь несколько слов о том, как создать и подключить беспроводной Wi-Fi датчик.

В предыдущей своей статье я описал беспроводной датчик на ардуино с ИК-передатчиком.

Wi-Fi датчик представляет из себя тоже самое, только для связи мы используем радиомодули nRF24L01. Передающий в датчике, принимающий в сигнализации. Под этот модуль уже предусмотрено место на плате сигнализации. Учтите, что при его использовании будут заняты 9, 10, 11, 12 и 13 пины платы ардуино. По этой причине не возможно одновременное использование ИК и Wi-Fi приёмников.


Схема соединения выглядит следующим образом

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Скетч проекта лежит по этой ссылке


https://github.com/wisenheimer/Signaling-Blynk/blob/master/n...


Там необходимо будет указать свои датчики, подключенные к ардуино.

В скетче задано два датчика. Вам нужно только вписать свои.

Sensor sens[SENS_NUM]=
{
Sensor(DOOR_PIN,DIGITAL_SENSOR, "DOOR", HIGH, 0),
Sensor(5, DIGITAL_SENSOR, "MOVE", LOW)
};

Первый датчик это геркон, второй - датчик движения.

Пин DOOR_PIN зарезервирован под геркон и соответствует 4 пину ардуины.


При срабатывании любого из этих датчиков по Wi-Fi будет отправлено сообщение RF_CODE, которое примет сигнализация, и включит режим тревоги.


Соответственно в скетче сигнализации нужно аналогично прописать беспроводной датчик


Sensor sens[SENS_NUM]={
Sensor(DOOR_PIN, DIGITAL_SENSOR,"DOOR",  HIGH, 0),
Sensor(DOOR_PIN, DS18B20,  "18B20", LOW, 10, 45),
Sensor(A7,  TERMISTOR,  "TERM",  LOW, 10, 45),
Sensor(6,  DIGITAL_SENSOR,"RADAR",LOW),
#if RF_ENABLE // Датчик с Wi-Fi модулем nRF24L01
Sensor( RF24_SENSOR, "Koridor",RF0_CODE),

Sensor( RF24_SENSOR, "Zal",RF1_CODE)

#endif
};

В примере заданы два беспроводных Wi-Fi датчика, где

RF24_SENSOR - тип датчика

"Koridor" и "Zal" - имена датчиков, которые будут выводиться в сообщениях

RF0_CODE и RF1_CODE - индивидуальные коды RF_CODE, которые отправляют датчики при срабатывании.


В будущем постараюсь добавить поддержку Blynk в прошивку ардуино с модемом SIM800L. Чтобы можно было обойтись без NodeMcu. Пока на всё это не хватает времени.


Скачать проект можно по ссылке https://github.com/wisenheimer/Signaling-Blynk

Найдены дубликаты

+26

Нифига не понятно для меня, но автор молодец и картинки интересные! Уважаю людей с прямыми руками!

раскрыть ветку 15
+10

Спасибо) В начале и я ничего не понимал. Разобрался со временем))

раскрыть ветку 10
0

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

А так пока все ломается банальным отключением wifi, что нынче можно сделать даже через телефон при прямых руках.

раскрыть ветку 1
0

Слушай вот ты шаришь походу. Вопрос.

Можно ли как нибудь с компа управлять например реле каким нибудь. Хочу в теплицу себе умную сделать. Смарт теплицу)

раскрыть ветку 5
0

Скажите, откуда у вас коробочка от ALART-RMOD?

раскрыть ветку 1
0

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

раскрыть ветку 3
+3

Я нигде не писал что это автомобильная сигнализация))

В максимальной конфигурации сначала будет звонок на телефон, потом сообщение в Blynk и на почту. Если вай фай отвалился, то это сообщение уйдёт на мыло по GPRS, если и оно не отправится, то придёт в смс.

Сигнализация будет пытаться его отправить, пока не появится связь.

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

раскрыть ветку 2
+12

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

раскрыть ветку 9
+12

Ага на 200 :)

Скорее на 2000

У нас наценки не адекватные

раскрыть ветку 2
+3

раза в 3 минимум))

раскрыть ветку 1
+5

Я целый комплект заказал в 2015 году. В итоге поморгал диодами, попищал динамиком и отложил в шкаф. Сейчас только подключил шаговый двигатель к автокормушке коту. Первый проект)))

+3

У меня есть пост, делал гирлянду - проще не бывает! Давай, поднял жопу с дивана и мути тему!! Чё как, норм я мотиватор?


А по сабжу - сохранил пост, покопаюсь на досуге, интересная тема.

Афтар молоток, заморочился!

раскрыть ветку 2
+1

Чё как, норм я мотиватор?

Не, не очень. Нафиг она нужна эта гирлянда, если в магазине есть?

раскрыть ветку 1
+1

Один в один у меня такая же история. Загорелся, заказал, пока ждал и мысли ушли и запал пропал и интерес исчез.

раскрыть ветку 1
+1

Всё упирается в мотивацию и желание!

+8

А зачем ардуина, nodemcu гораздо мощнее, я думаю можно запилить на ней исключительно

раскрыть ветку 50
+7

Пинов мало. Менее стабильная. Тогда уж лучше сразу на ESP32.

раскрыть ветку 41
+2

А  можно ли переделать проэкт под STM32 Blue Pill?

раскрыть ветку 1
+1

Мене стабильная - это слабо сказано ))) Это скорее игрушка для получения опыта.

раскрыть ветку 9
0

у esp-12 пинов кстати достаточно много ;)

раскрыть ветку 1
0

Ардуинолюб рассказывает про стабильность, улыбнуло

раскрыть ветку 7
0

загорелся нодемцу, сделал простой пример с розеткой, теряет вифи

пробовал с другими рутерами, другое питание, другие нодемцу заказывал, всё равно теряет коннект

0

Да Esp32 тоже так себе развлечение...

раскрыть ветку 17
0

тоже подобная мысль возникла, почему не raspberry? ардуино этож больше просто для обучения и прототипирования.

раскрыть ветку 7
+6

Всё работает, зачем компьютер городить? А если свет выключат, как у него с потреблением?

раскрыть ветку 5
+1
А малина для инженеров создавалась? Что то что другое ширпотреб для школьников.
+2
Не понял, при чем здесь nrf и WiFi? У них общего только частота. Причем использование esp и nrf в одном устройстве, так себе идея
раскрыть ветку 1
+1

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

+3
Иллюстрация к комментарию
+2

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

говорит: "желание пиздить что то мигом испарилось, как и желание находиться в своем собственном гараже")))

+1

Хотел бы поблагодарить автора за отличный проект и подробное описание, а так же разведённые платы для сборки устройства. Платы завтра заберу на почте и буду собирать. Хотелось бы видеть в данном проекте не только блинк но и mqtt. Очень надеюсь что автор в будущем добавит данный протокол в свое устройство!

раскрыть ветку 2
0

Спасибо за душевный отзыв. Сейчас занят другим проектом, но потом планирую вернуться к сигналке. Mqtt есть в планах.

раскрыть ветку 1
0
Отлично. Будем ждать обновлений. Пока попробую с блинком!
+1
Круто. Спасибо. Сейчас подобную систему собираю. Я решил добавить датчики газа и CO, поскольку в моём доме есть опасность появления этих газов.
раскрыть ветку 1
0

Тоже об этом думаю. Пока ставил только дешёвые MQ-2. Но они не точные, и дома на кухне их не поставишь. Закоптятся. А хорошие стоят соответственно.

+1

Остались лишние платы. Если кому нужны, пишите на почту mihalex101(собака)gmail.com

Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку 6
0
Консультации от электромонтёра ОПС не интересуют?
раскрыть ветку 5
+1

Если есть конструктивные замечания или предложения, озвучьте. Только сразу поясню. Я не планируют как-то зарабатывать на сигнализациях. Делал для себя. Первоначально стояла задача знать, если в мою квартиру кто-то зайдёт без спроса. Был случай. Сделал простую сигнализацию с герконом. Но потом меня понесло, в результате получилось это изделие. Увлёкся процессом.

раскрыть ветку 4
+1

НРФку стабилизировал по питанию? Там кондером можно...я так пульт пилил

раскрыть ветку 1
+2

Для НРФки поставил отдельный стабилизатор на 3.3 В с двумя конденсаторами обвязки. Всё по фен-шую ;) https://easyeda.com/MihAlex/signaling-Arduino-SIM800L

+1
Классная идея, как раз ардуинки с модулями идут, буду собирать подобное
+1
Что то не увидел датчики которые запускают турели?)
раскрыть ветку 1
+1

Это осталось за кадром))

+1
Даёшь автомобильную сигнализацию на ардуине!!!! Ради этого подписался!
раскрыть ветку 8
+2

Какие в ней должны быть функции?

раскрыть ветку 7
+8

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

+1

Я бы поостерегся на ардуине, порог вхождения относительно низкий. Но, в машине вибрации, перепады температур, скачки напряжений (например от модных китайских заводилок на литий-ионных акумуляторах), в общем есть ненулевая вероятность того, что ваша сигнализация в самый ответственный момент откажется работать. А она же должна быть надежной и не дать жуликам быстро себя обойти. Че будем делать? Поэтому предлагаю разработать функционал на ардуине, но релиз делать на кастомной плате на базе ардуиновского проца, например ATmega328. Так замороченно, но надежней. Или параллельно два проекта, модули и обвязка, да и отладка все равно будет на базе стандартного функционала.
Сам за это не возьмусь, нет времени, когда-то была идея сделать для себя с доступом через интернет и СМС, двусторонней связью. Даже пилотный вариант приятелю на дачу сделал, два года уже работает. Но рождение двух детей подряд не оставили времени на хобби )))

PS: И еще один аспект за кастомную разводку платы, все это хозяйство надо заливать лаком для защиты от влаги (например в холодное время заехали на мойку с 99% влажностью у вас все покрылось инеем, а затем он растаял на солнце) . 

раскрыть ветку 1
+1
Gps, передача данных+смс, в идеале секретка, но с 2-4 или-каналами подтвержения(смс, вайфай, флешка с файлом в магнитолу), отслеживание каких-нибудь параметров, я уж хз, хоть вес водителя на тензодатчике.
раскрыть ветку 2
0
А вот над этим надо подумать)
0

Как питание для sim800l устроил?

раскрыть ветку 1
0

Через зарядный модуль. Смотри на картинке здесь https://pikabu.ru/story/proekt_gsmgprs_signalizatsii_na_ardu...

Схему платы здесь https://easyeda.com/MihAlex/signaling-Arduino-SIM800L

0
Когда-нибудь я соберусь и куплю Ардуино и буду в нём разбираться
0

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


Еще можно взять модем А9. Стоит не дорого, программится в Arduino IDE, всё кроме вайфай на борту. А как вайфай ему уже добавить ESP8266 или ESP32.

раскрыть ветку 2
+1

Вы говорите про Board A9G?

раскрыть ветку 1
0

Да, AI thinker A9/A9H

0

Что я только не делал с этими модулями NRF беспроводными... Теряются, связь пропадает, эти частоты 2,4 забиты у нас. Питание идеальное им сделал, не смог тупо подружить нормально модуль уличный с домашним  для метеостанции.

раскрыть ветку 4
+1

В ардуине есть примеры. Там есть скетч для сканирования каналов. Показывает свободные и занятые каналы. Надо выбрать себе свободный, и проблема должна уйти.

раскрыть ветку 3
0

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

раскрыть ветку 2
0
Сразу вторая мысль во сколько это обойдется
раскрыть ветку 2
+2

Около 1000-1200 плюс минус. Зависит от конфигурации.

0

Вторая мысль - сколько удовольствия от этого получишь ))) А выгода при сравнимом функционале не столь заметна будет.

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

А вот у меня сосед, три класса образования...
раскрыть ветку 1
+1

Читать продолжение в источнике Я.Дзен

0
А сколько аккум живёт?
раскрыть ветку 3
+1

В смысле время работы от него, или сколько он прослужит пока не умрет?

раскрыть ветку 2
0
Сколько сигналка работает от полностью заряженного аккума?
раскрыть ветку 1
0

Беспроводные датчики? Что-то не вижу упоминаний о шифровании связи с ними. Слабое место.

раскрыть ветку 7
+1

Датчики не общаются с сигнализацией. Они всё время молчат. Сигнализация только слушает канал. При срабатывании датчик посылает в канал пакет с кодовым словом. Сигнализация его принимает, и понимает, что датчик сработал. Шифрование там не нужно.

раскрыть ветку 6
+1

Кто будет пеленговать злоумышленника, если он решит задосить сигналку перехваченным кодовым словом?)

https://en.wikipedia.org/wiki/Replay_attack

раскрыть ветку 3
0

А если с датчиком что то случиться, например элемент питание резко сломается или датчик снимут, подменят и тп. Система так и будет ждать от него тревоги?Или все таки есть "Периодический тест"?

раскрыть ветку 1
0
А GPS реально добавить? И сигналка для дома превратится в сигналку для машины/велосипеда
раскрыть ветку 7
+1

Реально конечно. И срок получить реально)) В этой сигнализации с модемом SIM800L можно получить координаты ближайшей сотовой вышки. И по ней вычислить местоположение. В городе показывает с точностью несколько десятков метров.

раскрыть ветку 6
0

И ничего ровным счётом не будет, если использовать исключительно на своей машине/корове/собаке. С Али даже готовые реле с GPS-трекером есть. А вот если в подобном устройстве микрофончик стоит, то уже можно и под статью попасть.

В ошейник коровы встроен GPS-трекер, позвонил на номер, в ответ он координаты прислал, где та пасется, открыл в гугл-картах посмотрел, и пошёл домой гнать. Точность в районе ±5-8метров.

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

Я не понял одну вещь. Плата заходит на сервер в интернете или сервер размещён у вас дома и вы с телефона заходите на него из интернета ? Или оба варианта сразу?

раскрыть ветку 1
+1

Подключается к серверу в интернете. Но можно поднять сервер Блинк и дома. Кому как нравится.

0

Цену для велика с питанием

0

а сколько будет стоить готовая сигнализация? Минимальный вариант

раскрыть ветку 2
+1

Кому нужна такая плата, как на фото, пишите мне на почту. Есть ещё несколько штук.

+1

Напишите мне на почту mihalex101(собака)gmail.com

0
Сразу подумал о дома сигнализации в машину.а что там с питанием иниересно
раскрыть ветку 1
+1

Питается от телефонной зарядки 5В. Но может работать и от большего напряжения, как и все ардуины.

-1

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

раскрыть ветку 2
+1

Тебя на али забанили?

Этой байды на али - доутра!

Я себе взял, приехала, покрутил, да так и валяется уже пару лет: что-то не внушает доверия, крч просто не оставляю вел где не надо!

раскрыть ветку 1
0

Я мальчишке.он его бросает,а уедет то жалко

Похожие посты
Возможно, вас заинтересуют другие посты по тегам: