Необходимо войти или зарегистрироваться

Авторизация

Введите логин, email или номер телефона, начинающийся с символа «+»
Забыли пароль? Регистрация

Новый пароль

Авторизация

Восстановление пароля

Авторизация

Регистрация

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

Регистрация

Номер будет виден только вам.
Отправка смс бесплатна
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
Авторизация

Пост

Пост

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

wisenheimer в Arduino & Pi
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

Аватар сообщества "Arduino & Pi"
565 постов 13 041 подписчик
147 комментариев
Аватар пользователя ballbess46 ballbess46
+26

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

+26
раскрыть ветку 11
wisenheimer
+10

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

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

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

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

0
раскрыть ветку 1
Аватар пользователя axel76 axel76
0

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

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

0
раскрыть ветку 3
Аватар пользователя PrepareYourAnus PrepareYourAnus
0

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

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

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

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

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

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

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

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

+3
KnightSlayer
+12

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

+12
раскрыть ветку 9
Аватар пользователя 812ru 812ru
+12

Ага на 200 :)

Скорее на 2000

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

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

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

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

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

+5
Аватар пользователя AlienUFO AlienUFO
+3

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


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

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

+3
раскрыть ветку 2
Аватар пользователя ruf123 ruf123
+1

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

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

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

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

+1
раскрыть ветку 1
Аватар пользователя AlienUFO AlienUFO
+1

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

+1
Аватар пользователя katso katso
+7

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

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

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

+7
раскрыть ветку 41
Аватар пользователя VitalyTor VitalyTor
+1

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

+1
раскрыть ветку 1
Аватар пользователя dbond dbond
+1

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

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

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

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

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

0
раскрыть ветку 7
Аватар пользователя kellogs kellogs
0

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

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

0
SilverMountain
0

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

0
раскрыть ветку 17
Аватар пользователя evetrov evetrov
0

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

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

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

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

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

+1
Аватар пользователя XanderEVG XanderEVG
+2

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

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

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

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

0
wisenheimer
+1

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

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

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

+1
раскрыть ветку 4
Аватар пользователя likivid likivid
+1

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

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

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

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

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

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

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

+2
раскрыть ветку 7
Аватар пользователя kellogs kellogs
+7

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

Предпросмотр
+7
Аватар пользователя dbond dbond
+1

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

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

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