Как сделать сигнализацию на ардуино
Автономная охранная система на Arduino + GSM
Друзья, разрешите представить проектик GSM сигнализации на Arduino. В сети довольно много проектов по типу «Arduino + модем + датчики», однако я часто вижу в них некоторую незаконченность (в особенности, с программной точки зрения): отсутствие гибкости в настройках и конфигурировании. В представленном решении я попытался сделать устройство максимально готовое к «боевым» условиям, предусмотрев все, что может понадобится среднестатистическому пользователю (на мой взгляд).
TL; DR программно и аппаратно задуманное реализовано, тест в реальных условиях запущен, исходники и бинарники опубликованы, корпус не осилил.
Устройство и характеристики
Устройство отправляет SMS при возникновении следующих событий:
Пример SMS с событием
Также, раз в сутки можно настроить время ежедневного отчета
Питается устройство от 3-х батареек AA. Расчетное время работы ≥6мес.
Настройка устройства, считывание логов событий и построение месячного графика температуры происходит с помощью утилиты (Python 2.7 + Tk + pyserial + matplotli).
Основное окно утилиты настройки
Окно лога температуры
Сборка устройства
Себестоимость деталей устройства на момент публикации этой статьи составляет примерно 1000-1200 рублей (без учета заказа платы).
Для удобства сборки и надежности в эксплуатации лучше заказать плату. Китайские друзья с известного сайта предлагают сделать 10 штук с доставкой за
$7, а иногда и меньше. Но всегда можно собрать и на макетке, как я и поступил с первым прототипом:
Arduino и совместимые модули были заказаны с aliexpress. Понадобятся:
В списке специально указаны названия, дающие нужный результат при вводе в поиск.
Схема устройства
Для снижения энергопотребления с платы Arduino нужно обязательно удалить резистор светодиода питания и регулятор напряжения. Проект платы сделан в Ki-CAD.
Использование
Локализация
Поддержаны два языка для программы конфигурирования и текста SMS: английский, русский. При желании не сложно добавить поддержку других языков: все локализуемые строки вынесены в отдельный файл (принимаю issue с реквестом, если приложите переводы всех строк).
Полевые испытания
Прошу прощения за эстетику монтажа.
Установка на входную дверь. Часть конструкции справа (непосредственно на самой двери) — магнит для срабатывания геркона
На место постоянного использования (гараж) устройство было установлено 4 месяца назад. Для целей усиленного тестирования, функция расписания не используется (по каждому событию отправляется SMS). В среднем получается 5 SMS в день: два при входе в гараж (срабатывает датчик открытия двери и датчик освещения), два при выходе и один «ежедневный отчет». На текущий момент батареи (3x AA) держат напряжение 4.1в при включенном модеме.
Проблемы
В остальном полет нормальный.
Что дальше
В планах (когда-нибудь):
Отладка
Отладочные сообщения выводятся в виртуальный COM на 250kbod. Нужно замкнуть на землю D12, чтобы отключить детекцию подключенного USB (чтобы устройство продолжало работу в нормальном режиме). Конфигурирование через утилиту продолжит работать нормально.
Ссылки
Репозиторий проекта: github
Доступны схема и плата в Ki-CAD, прошивка и исходники для Arduino, exe и исходники утилиты конфигурации.
GSM-сигнализация для автомобиля на базе Arduino Uno
Предисловие
Кражи автомобилей на протяжении последнего десятилетия занимают одно из значимых мест в структуре совершаемых в мире преступлений. Это обусловлено не столько удельным весом данной категории хищений относительно общего количества преступлений, сколько существенностью причиняемого ущерба ввиду большой стоимости автомобилей. Слабая эффективность принимаемых мер в области борьбы с кражами автотранспорта к концу 90-х годов привела к созданию устойчивых групп, специализирующихся на совершении данных преступлений и обладающих отличительными чертами организованной преступности; вы наверняка слышали термин «черный автобизнес». Автомобильный парк европейских государств ежегодно не досчитывается ≈ 2 % машин, которые становятся предметом преступных посягательств. Поэтому мне пришла идея сделать gsm-сигнализацию для своего автомобиля на базе Arduino Uno.
Из чего будем собирать
Надо выбрать сердце нашей системе. На мой взгляд, для подобной сигнализации нет ничего лучше, чем Arduino Uno. Основной критерий — достаточное количество «пинов» и цена.
Теперь необходимо выбрать gsm-модуль, ведь наша сигнализация должна уметь оповещать владельца автомобиля. Так, надо «погуглить»… Вот, отличный датчик — SIM800L, размер просто замечательный.
Подумал я и заказал его из Китая. Однако всё оказалось не так радужно. Датчик просто отказался регистрировать SIM-карту в сети. Было опробовано всё, что только возможно — результат нулевой.
Нашлись добрые люди, которые предоставили мне более крутую штуку — Sim900 Shield. Вот это уже серьёзный штучка. В Shield-е и разъём для микрофона и для наушников, полноценный телефон.
Ок, но надо же снимать показания с каких-то датчиков, чтобы оповещать владельца. Вдруг автомобиль эвакуируют, тогда положение автомобиля явно будет меняться в пространстве. Возьмём акселерометр и гироскоп. Отлично. Такс, теперь ищем датчик.
Думаю, что GY-521 MPU6050 точно подойдёт. Оказалось, что в нём есть и датчик температуры. Надо бы и его задействовать, будет такая «киллер фича». Предположим, что владелец автомобиля поставил его под домой и ушёл. Температура в салоне автомобиля будет изменяется «плавно». Что же будет, если злоумышленник попытается проникнуть в автомобиль? Например у него получится открыть дверь. Температура в автомобиле начнёт изменяться стремительно, так как воздух в салоне начнёт смешиваться с воздухом окружающей среды. Думаю, что будет работать.
Модуль 3-х осевого гироскопа + 3-х осевого акселерометра GY-521 на чипе MPU-6050. Позволяет определить положение и перемещение объекта в пространстве, угловую скорость при вращении. Так же имеет встроенный датчик температуры. Используется в различных коптерах и авиамоделях, так же на основе этих датчиков можно собрать систему захвата движений.
Микросхема — MPU-6050
Напряжение питания — от 3,5V до 6V (DC);
Диапазон гироскопа — ± 250 500 1000 2000 ° / с
Диапазон акселерометра — ± 2 ± 4 ± 8 ± 16g
Интерфейс связи — I2C
Размер — 15х20 мм.
Вес — 5 г
Прикрутим модуль SD карты памяти. Будем ещё писать лог-файл.
И добавим сервопривод, при срабатывании датчиков будет поворачиваться сервопривод с видеорегистратором и снимать видео происшествия. Возьмём сервопривод MG996R.
Собираем
Про подключение каждого датчика в «гугле» огромное количество статей. И придумывать новые велосипеды у меня желания нет, поэтому оставлю ссылки на простые и рабочие варианты.
О, совсем забыл упомянуть о питании, от чего же будет питаться наша система. Питание будет от 12v автомобиля.
Тонкие моменты проекта
Фишки на Sim900 Shield должны быть установлены такие образом. Полезность SIM900 Shield.
Положение тумблера питания Sim900 Shield.
На этом всё, весь скетч лежит на GitHub. На мой взгляд, мне удалось создать gsm-сигнализацию, способную оповестить владельца автомобиля в случае происшествия. Проект получился экономным в плане финансовых вложений, что несомненно радует. В будущем планирую усовершенствовать gsm-сигнализацию, добавить новый функционал.
Как сделать сигнализацию — охранная система для дома на Ардуино своими руками
Эта статья – руководство по сборке своими руками упрощенной охранной системы для дома на базе микроконтроллера Arduino.
Это скорее развлечение, нежели что-то, всерьез способное обеспечить безопасность вашего жилища. Для сборки сигнализации использована плата Ардуино, ультразвуковой датчик HC-SRO4, зуммер и несколько диодов.
Шаг 1: Необходимые материалы
Шаг 2: Схема подключения к плате
На картинке изображена схема подключения компонентов.
Подключения нужно сделать в следующем порядке:
Зеленые провода должны быть подключены в линию к плюсу диодов, а минус должен быть соединен с отрицательным каналом с помощью резистора 220 Ом.
Шаг 3: Подключаем контроллер к плате
Сначала соедините 5В и GND пины контроллера с печатной платой. Убедитесь, что при подключении полярность была соблюдена.
Шаг 4: Подключаем ультразвуковой датчик измерения расстояния
Постарайтесь расположить датчик при подключении как можно ближе к правой стороне печатной платы, сенсоры должны смотреть наружу. В соответствии со схемой подключения, соедините GND пин датчика с отрицательным каналом. Затем соедините сигнальный пин (Trig) датчика с пином 6 Arduino и соедините пин Echo датчика с пином 7 Arduino. Теперь соедините выход питания VCC датчика с положительным каналом печатной платы. Если что-то не получается, еще раз сверьтесь со схемой подключения.
Шаг 5: Подключаем диоды
Следующим шагом будет соединение диодов с платой и микроконтроллером Arduino. Еще раз сверьтесь со схемой подключения, в подключении диодов нет ничего сложного. Сначала подключаем зеленый диод. Для этого соедините анод (длинная ножка диода) с пином 11 на Arduino зеленым соединительным проводом, а катод (короткая ножка) соедините с отрицательным каналом с помощью резистора 220 Ом.
Точно так же подключите желтый и красный диоды, аноды к 10 и 9 пинам Arduino соответственно. Подключенные диоды должны выглядеть как на фото.
Резисторы использовать не обязательно, но я бы рекомендовал ими воспользоваться.
Шаг 6: Подключаем зуммер
В последнюю очередь подключаем к плате и контроллеру зуммер. Для этого нужно соединить длинную ножку зуммера с пином 3 Arduino с помощью зеленого соединительного провода, а короткую ножку с отрицательным каналом печатной платы с помощью резистора 220 Ом.
Я настоятельно рекомендую использовать резистор в соединении. Это значительно снижает громкость звукового сигнала зуммера и продлевает его срок службы.
Шаг 7: Код
После завершения сборки всех компонентов приступаем к кодированию Arduino. Для этого откройте программу для Arduino на вашем компьютере и скопируйте в нее код, приведенный ниже. Не бойтесь менять расстояние фиксации объектов и громкость звукового сигнала.
После этого подключите ваш Arduino к своему компьютеру и загрузите код. Если вы следовали инструкциям, при приближении руки к датчикам диоды будут загораться по очереди, пока не сработает зуммер.
Шаг 8: Работа Arduino
Сделать сигнализацию своими руками было очень интересно, и результат получился очень хороший.
Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.
Сигнализация на дверь с использованием Arduino и ультразвукового датчика
В данной статье мы рассмотрим сигнализацию на дверь с использованием Arduino и ультразвукового датчика, которую можно установить рядом с любой дверью для обнаружения кого-либо в этой двери. Всегда, когда кто-нибудь будет попадать в радиус действия ультразвукового датчика, зуммер (звонок) будет выдавать звуковой сигнал тревоги. Также это устройство можно использовать в качестве детектора движения.
Необходимые компоненты
Модуль ультразвукового датчика
Ультразвуковой датчик HC-SR04 используется для обнаружения присутствия человека в двери. Он состоит из двух круглых «глаз», один из которых используется для передачи ультразвуковых сигналов, а другой – для их приема.
Ультразвуковые сигналы излучаются, отражаются от препятствия и возвращаются обратно к ультразвуковому датчику. Поскольку время между передачей и приемом сигналов, а также скорость распространения звука известны, то расстояние до препятствия можно рассчитать по следующей формуле:
Distance = Time x Speed of Sound / 2
Делить на 2 необходимо потому что лучи распространяются до препятствия и обратно, то есть одну и ту же дистанцию проходят два раза. Но в данном проекте мы будем использовать библиотеку NewPing.h, которая может самостоятельно произвести все эти расчеты.
Также о принципах измерения расстояния с помощью ультразвукового датчика более подробно можно прочитать в следующих статьях на нашем сайте:
— измерение расстояний с помощью платы Arduino;
— измерение расстояний с помощью датчика HC-SR04 и микроконтроллера AVR.
Работа схемы
Схема устройства представлена на следующем рисунке.
На схеме можно видеть, что переключающий контакт (Trigger pin) ультразвукового датчика подсоединен к контакту 12 платы Arduino, а контакт эхо (Echo pin) датчика подсоединен к контакту 11 платы Arduino. Контакт Vcc датчика подсоединен к контакту 5V Arduino, а контакт GND датчика подсоединен к контакту GND Arduino. Один контакт зуммера подключен к контакту GND Arduino, а другой его контакт – к контакту 8 платы Arduino.
Принцип работы рассматриваемого нами устройства очень прост – когда кто-нибудь попадает в радиус действия ультразвукового датчика плата Arduino рассчитывает расстояние до этого объекта и если измеренное расстояние находится в определенном диапазоне, Arduino передает сигнал высокого уровня на зуммер и зуммер начинает подавать сигнал тревоги. Структурная схема проекта представлена на следующем рисунке.
Вы можете проверить работу схемы при помощи помещения какого-нибудь предмета перед ультразвуковым датчиком, более подробно все эти процессы можно посмотреть в видео в конце статьи.
Исходный код программы
В этом проекте мы использовали библиотеку NewPing.h для ультразвукового датчика, разработанную Tim Eckel. Хотя с ультразвуковым датчиком можно вполне успешно работать и без этой библиотеки, но в виде исключения мы в этом проекте решили использовать ее потому что она имеет много полезных функций для работы с ультразвуковым датчиком и значительно сокращает код программы.
Все подробности о работе с этой библиотекой можно узнать (и скачать ее самую последнюю версию) по следующей ссылке. Также можно посетить страницу с этой библиотекой на официальном сайте Arduino.
Сначала желательно протестировать работу ультразвукового датчика с помощью примеров из данной библиотеки и лишь затем загружать в плату Arduino код программы для нашего проекта сигнализации.
Переключающий контакт (Trigger pin) датчика подключен к контакту 12 платы Arduino, а Echo pin – к контакту 11 платы Arduino. MAX_DISTANCE обозначает максимальную дистанцию, на котором датчик может обнаруживать препятствие. Оно составляет 500 см (5 м).
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 500
Установим скорость последовательного порта (в бодах/с), с которой будут передаваться данные от ультразвукового датчика к плате Arduino.
Контакт 10 конфигурируется для работы на вывод данных и к нему подключен зуммер. Другой контакт зуммера подключен к контакту GND платы Arduino.
В функции void echoCheck() команда sonar.ping_result / US_ROUNDTRIP_CM используется для расчета расстояния от датчика до препятствия. Переменная flag используется чтобы дать сигнал включения зуммера когда препятствие находится на расстоянии менее 50 см от датчика. Вы можете изменить это расстояние на то, которое вам необходимо (будет зависеть от размеров вашей двери).
if ((sonar.ping_result / US_ROUNDTRIP_CM)
flag = 1;
else if ((sonar.ping_result / US_ROUNDTRIP_CM) > 50)
flag = 0;
Работа с ультразвуковым датчиком с помощью библиотеки NewPing.h снабжена подробными комментариями от авторов этой библиотеки. Изучая примеры этой библиотеки вы можете узнать много полезного о работе с ультразвуковым датчиком.
Изначально ультразвуковой датчик предназначен для измерения расстояний, но в этом проекте мы его применили, как вы можете видеть – в качестве охранной системы (сигнализации на дверь). Но его также можно применить и в других нестандартных проектах, например, для измерения уровня воды в баке.
Далее приведен полный текст программы.
#include
#define TRIGGER_PIN 12 // к этому контакту Arduino подключен trigger pin датчика
#define ECHO_PIN 11 // к этому контакту Arduino pin подключен echo pin датчика.
#define MAX_DISTANCE 500 // максимальная дистанция, на которой будет работать датчик в нашем проекте. Обычно для подобных датчиков максимальная дистанция составляет примерно 400-500 см
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // установка параметров работы датчика с помощью функции из библиотеки NewPing.h
unsigned int pingSpeed = 50; // как часто мы будем измерять расстояние до препятствия (в миллисекундах). 50 мс означает что мы будем измерять расстояние 20 раз в секунду
unsigned long pingTimer;
int flag = 0; // флаг для срабатывания зуммера, вначале устанавливаем его в 0
void setup() <
Serial.begin(115200); // инициализация последовательного порта на скорость 115200 бод/с
pingTimer = millis();
pinMode(10, OUTPUT); // старт работы датчика
>
void loop() <
// Notice how there’s no delays in this sketch to allow you to do other processing in-line while doing distance pings.
if (millis() >= pingTimer) < // если условие выполняется, то выполнить другой пинг
pingTimer += pingSpeed; // установка следующего времени пинга.
sonar.ping_timer(echoCheck); // передаем пинг, вызываем функцию «echoCheck» каждые 24 мкс
>
if (flag == 1)
<
digitalWrite(10, HIGH);
delay(500);
digitalWrite(10, LOW);
delay(500);
digitalWrite(10, HIGH);
delay(500);
digitalWrite(10, LOW);
delay(500);
>
else
<
digitalWrite(10, LOW);
>
>
void echoCheck() < // прерывание от Timer2 вызывает эту функцию каждые 24 мкс чтобы проверить статус пинга
if (sonar.check_timer()) < // проверка вернулся ли пинг
// Here’s where you can add code.
Serial.print(«Ping: «);
Serial.print(sonar.ping_result / US_ROUNDTRIP_CM); // пинг (ультразвуковой сигнал) вернулся, его результат в микросекундах будет в ping_result и затем будет конвертирован в сантиметры с помощью инструкции US_ROUNDTRIP_CM.
Serial.println(«cm»);
if ((sonar.ping_result / US_ROUNDTRIP_CM) 50)
flag = 0;
>
>
Видео, демонстрирующее работу схемы
Охранная сигнализация или система оповещения на Arduino
В этом посте речь пойдет о безопасности, а именно о создании простенькой охранной сигнализации на основе Arduino. Я поделюсь с вами своей реализацией такой системы для гаража, вы же можете, по этому принципу, внося свои корректировки, реализовать любую нужную вам систему оповещения.
Ну а для тех, кто больше любит читать, продолжим.. 🙂
Итак, перед тем как начать созидать нечто подобное, вам необходимо учесть дальность расположения от места управления, внутренний климат и другие характеристики охраняемого вами помещения.
В моей системе необходимо было обеспечить возможность управления сигнализацией удалённо, то есть из дома, поэтому у меня было два пути решения этой проблемы:
1. Организовать беспроводное соединение между двумя Arduino.
2. Либо же обойтись одной Arduino и в гараж вывести лишь длинный провод с датчиками.
(Еще, конечно же, был вариант с GSM-сигнализацией, но из-за близости помещения и отсутствия необходимого модуля эту идею я отмел, как-нибудь в другой раз..)
В итоге я решил просто проложить витую пару и на ее конце навешать датчики. Ну а аккумулятор для резервного питания добавлю как-нибудь попозже.
В качестве датчика открытия двери я использовал датчик Холла и большой магнит, о принципе работы такой связки я рассказывал в этом видео, когда делал бесконтактный датчик тока. Если в двух словах, то датчик реагирует на подносимый к нему магнит, который расположен на подвижной двери ворот, сам же датчик закреплен на раме. Датчик меняет свои значения в зависимости от интенсивности магнитного поля, то есть расстояния до магнита. Таким образом, можно контролировать положение двери в любой момент времени.
Теперь немного подробнее о получившейся системе, если ее так можно назвать 🙂
Всю её можно разбить на три части: это та, что стоит дома (пульт управления), та, что стоит в охраняемом помещении (датчик Холла и пр), и та, что связывает эти части (витая пара).
Пульт управления я оборудовал небольшим LCD-экраном на две строки и кнопкой для запуска и остановки охранного режима, а так же поставил внутрь пищалку и блок питания, поместив всю начинку в корпус для автоматических выключателей. Отверстие под автоматы пришлось подпилить и сделать немного длиннее, что бы туда вошли все символы экрана, а кнопку управления вывести сбоку, так же сделав отверстие обычным ножом. В результате получился не совсем убогий корпус, который можно прикрутить к стене.
Из корпуса выходит витая пара на 8 жил, на обратном конце которой расположены датчик температуры и влажности, датчик Холла и пьезо-пищалка с кнопкой:
Схема подключения всей системы получилась довольно простой и выглядит как-то так:
Датчик температуры и влажности я добавил чтобы не только знать о текущем климате внутри помещения, но и на основании датчика температуры уведомлять о возможном возгорании, т.к. при пожаре температура в помещении очень резко поднимается до больших значений свыше 100 градусов по Цельсию.
Алгоритм работы сигнализации достаточно прост и представить его можно вот такой упрощенной блок-схемой:
#define DELAY_CLOSE 180000
#define DELAY_OPEN 30000
В результате получилась довольно простая и надежная система оповещения, вполне справляющаяся со своей основной обязанностью.
Программный код и схемы вы найдете здесь: Яндекс.Диск
Собственно, на этом все, посмотреть, как это дело работает, вы можете на видео. Надеюсь, кому-нибудь эта информация будет полезной, всем добра и удачных компиляций!
Arduino & Pi
1.1K постов 18.3K подписчиков
Правила сообщества
В нашем сообществе запрещается:
• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)
• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском
• Рассуждать на темы политики
Прикольно. Я недавно на кота сигналку делал. Он сволочь спит ночью на кресле моем компьютерном. Так-то не жалко, но его бывает тошнит. Кресло тканевое. Уделал мне короче стульчик мой. Я под стол повесил датчик движения, ардуинку, реле и старый насос от надувного матраца. Очень эффективное средство) Включаю на ночь и когда из дома ухожу.
Как организована защита от саботажа: обрыва вашей витой пары или ее КЗ?
В вашей блок схеме не нашел
2. Поскольку шлейф длинный, то на него прекрасно будут наводиться всякие атмосферные явления типа молний, а на входах контроллера у Вас нет защиты, а значит при первой хорошей грозе всё перестанет работать. Да и п.1 может от наводки случиться.
сколько не смотрел таких видео, такое ощущение, что ардуино это будущий скайнет.
Залил код с небольшими поправками на GitHub: https://github.com/viktor-osin/alarm
Охранная сигнализация и новогодние украшения
Вот! Вот эти побрякушки, которые вешают клиенты возле датчиков охранной сигнализации, вот картинка для тех, кто не шарит:
Когда охранная фирма не знает, что творится на объекте
Одно время работал на пульте охраны (централизованная охр. сигнализация). И случилась одна история, а для лучшего ее понимания – предисловие.
На пульт от охранных приборов приходит не только сообщения о тревоге и возможном проникновении, но и технические сообщения, одно из них это пропажа основного питания (отсутствие «света»/электричества) на объекте. Такое сообщение внимательно обрабатываются, если сигнализация включена в режиме охраны, а если нет, то информация, просто, принимается к сведенью. Прибор работает от аккумулятора, пока не восстановят электричество. Причины таких событий бывают разные: может автомат выбило или ремонт проводки делают или свет за неуплату вырубили (и такое бывало). А бывают случаи, когда из строя выходит сам блок питания прибора, тогда нужен выезд мастера потому, что на аккумуляторе сигнализация долго работать не будет.
У фирмы была (и есть) под охраной сеть небольших киосков «Табак» (на фото пример такого киоска, взят с интернета). И вот, где-то в 10 часов утра с одного из киосков приходит сообщение о пропаже электричества и что прибор работаете от аккумулятора. Поскольку сигнализация была снята с режима охраны еще в 7 часов, операторша, просто, приняла инфу к сведенью и продолжила работу. Ближе к обеду она решила узнать, что случилось и когда планируют восстановить электричество. Эта информация нужна была для того, чтобы определить нужен ли выезд мастера, поскольку данную процедуру откладывать на конец рабочего дня не принято. Обзвонивши все тел. номера продавцов она выяснила, что уже ни один из них не работает в этих киосках. К сожалению, администрация киосков проявила халатность и давно не обновляли контакты. Потому, она решила позвонить зам. директору. Зам., в свою очередь, постоянно «отбивала» вызов. А директор судя по автоответчика был заграницей. После ряда неудач связаться с кем-нибудь операторша решила подождать и заняться другой работой. Где-то после 15:00 одна из групп быстрого реагирования оказалась в том же районе, что и данный киоск. Операторша решила воспользоваться ситуацией и направить группу, чтобы та сама на месте все разузнала. И вот, звонит охранник оператору и сквозь смех говорит: «А ты в курсе, что у вас объект сп@здили?». Дальше от него приходит фото фундамента на котором стоят киоск. Оказывается, согласно постановлению гор. властей данный киоск демонтировали, а точнее с помощью крана подняли на грузовик и увезли в неизвестном направлении. Как оказалось позже об этих всех действиях все были уведомлены кроме нашей фирмы, а зам. не отвечала на звонки потому, что попала в больницу с переломом. Киоск еще сутки был на связи.
В общем, Господа, не усложняйте роботу другим предоставляйте всю важную информацию о своем объекте.
P.S. Приношу извинения, если были грамматические и пунктуационные ошибки.
Духи на хоздворе
Он частенько пересекается по работе с ЧОПовцами. Не в смысле, что воровство частое, а в том плане, что у них на производстве стоят всякого рода объемники и прочая шняга, которая имеет свойство частенько срабатывать, а он – ответственный за помещение. Приходится мотаться каждый раз на сработки.
И тут начинает срабатывать с завидной регулярностью один датчик рядом с выездными воротами на хоз дворе (на улице). Каждый день приходилось мотаться и проверять. Ну нет воров, никто через забор не перелазил, никто ворота не открывал, никто металл не воровал с подшефной территории. Уже неделю каждый вечер гоняет, уже вторую, и взмолился он тогда, дал челобитную начальству: поставьте камеру, и на инет, и пароль мне от этого дела.
Сделали ему все это. Ну и как сработка, он на сотовом бах – трансляцию включает. Нет никого! Ну не с чего срабатывать? Что за барабашка такой на территории? Тогда он камеру по тихому снял, и сколько провод позволял – поближе ее перетащил, так чтобы ну прямо на датчике фокусировка была. И вот снова сработка, и снова трансляция, и что он видит. ПИтИчка – здоровенная ворона подлетает, садится прямо на датчик, ждет чего-то, потом резко клювом раз-два, и улетает. Проходит еще время и ворона устраивает повторный кульбит того же рода.
На следующий день он подошел к этому объемнику и долго-долго с пристрастием его изучал. Да – видны «тюки» от клюва вороны, и много их. Ну вот только нафига она это делает? И тут… из объемника выползает этакая жирная двухвостка. Ваще такая конкретная воронья пища. Ну тут то все и понятно стало.
Вызвал техника, тот объемник вскрыл, а там – цельное гнездо, рассадник этой мерзости. Вычистил он это все, крышечку на место и уехал. А друг мой, после отъезда техника, еще и герметиком по всему шву прошел.
Лучшая автосигнализация.
Русский агент, наверное.
Я отключил мой дом от системы охранной сигнализации и вышел из организации жителей нашего района по борьбе с правонарушителями.
Теперь за моим домом круглосуточно ведут наблюдение Канадская королевская конная полиция, Канадская служба безопасности и разведки, ФБР, ЦРУ, британская контрразведка MI5, Секретная разведывательная служба Великобритании MI6, АНБ и другие организации.
Никогда не чувствовал себя в большей безопасности, да еще и экономя ежемесячно 49,95 доллара.
Ограбление квартиры под охраной. Часть 2.
В комментариях многие стали выдвигать свои гипотезы, часть из них совпала с нашей.
Спасибо тем, кто помог еще сильнее расширить кругозор по теме подделки таблеток и возможных вариантов защиты.
Напомню, история разворачивается в 2015г
Никаких обязательных кодовых защит, хитрых систем снятия с охраны в нашем провинциальном миллионнике не было. Или мы про это не знали. Бабы же
Сразу было ясно, что открыли не ключом моей мамы. Он лежал в сумке, на даче.
Женская сумка это вообще штука такая.
В ней «вся жизнь», поэтому она всегда с собой и часто используется. А еще в ней незнакомому человеку сложно найти ключи.
«Безопасник» лечил про то, что таблетки невозможно подобрать и сложно подделать. Каждой присвоен 16-ричный guid. Он тоже был в распечатке. Она ясно как день говорила, что открыли дверь именно этим ключом.
Ради интереса мы взяли мамину таблетку и. просто сделали копию за 50р на ближайшем рынке. Мы не искали «продвинутую» точку изготовления ключей, не говорили, что это от сигнализации или от домофона.Просто протянули таблетку и сказали «Надо копию».
Вернулись домой. Проверили.Копия поставила квартиру на охрану. Копия сняла с охраны. Нито не приехал.Позвонили в фирму и попросили заблокировать ключ моей мамы, выпустить новый.
Мы подняли договор на охранные услуги, внимательно изучили пункты, по которым мы можем предъявить претензии и по которым мы можем облажаться.
Там фигурировала четкая последовательность установки квартиры на охрану, а мы уехали оставив окна открытыми, что можно за уши притянуть и назвать «не правильной постановкой на охрану».
Там же была информация про возмещение около 30 000.
И еще всякие пункты про обязанности сторон и требования к техническому оснащению.
К сожалению не смогу процитировать дословно тк документы лежат где-то очень далеко и их доло искать.
Наш знакомый юрист на тот момент не нашел подобных прецедентов и судебных исков в сторону ЧОПов от обворованных квартир. Это дало некую надежду создать прецедент и отсудить много денег потому, что фирма не обеспечила дОлжный уровень защиты ключей и технического оснащения системы.
Несколько раз и я, и моя мама и тетя ходили к следователю.
Ничего нового и интересно на них не было.
— Вся семья //бабушка, сестра, тетя, ее сожитель, кот, собака
— Все время были на даче?
— Да, никто оттуда в город не возвращался
— Кто-то это может подтвердить?
Ну и так далее. Одно и то же по кругу.
От варианта с подделкой ключа самим ЧОПом отказались.
Все доводы не вспомню. Но как минимум зачем это делать через 5 лет после заключения договора и зачем так спешить, если у вас более чем достаточно информации о наших многолетних привычках.
Мы вполне ясно поняли, что копию сделать проще простого. Остались вопросы кто, где и когда успел это сделать?
Друзья, честно говоря, часто у нас не бывают. На работе старый сформировавшийся коллектив и все знают, что поживиться-то не особо есть чем. Для человека без опыта кражи на мой взгляд вообще слишком заморочено что-то подделывать, выслеживать, искать и так далее.
У моей мамы был Рав4 2010г в хорошем состоянии, что могло привлечь внимание. Плюс она ходила в спорт зал «премиум» сегмента.
Документы с местом жительства лежат в бардачке.
Отследить привычки и когда уезжает кандидат для кражи не составляет труда.
Машина на парковке, хозяин гарантированно час занят в зале.
На выходных все на даче. Лето же
Этого времени более чем достаточно чтобы сделать копию ключа и положить его на место.
— Некто вскрывает машину или берет ключи из ячейки в спорт зале.
— Кладет все на место
— В пятницу проверяет подходит ли копия //отсюда в распечатке снятие и установка на охрану в пятницу вечером
— В субботу с подельником совершает кражу
Что делало следствие
Само развитие дела не скажу, что бы было бурным.
См пункт про допросы.
Следователь выяснял информацию про друзей, родственников, работу, учебу, хобби и так далее.Сначала склонял к тому, что ключ вытащил кто-то на даче, съездил по-быстрому и вернул на место.Позже, когда мы рассказали где за полтос можно сделать копию, начал рассуждать на счет пришедшего в гости друга, который сделал копию ключа.
Мы попросили запросить видео с камер видеонаблюдения парковки и зала.
Камеры стояли не удачно по отношению к интересующей машине и сейфу в зале. Засняли просто много подозрительных и не очень лиц, но ничего конкретного.
Чем все закончилось
Никого не нашли, ничего не нашли.
С ЧОПом поскандалили и заставили их установить код в качестве второго фактора.
Вся эта история оказалась одновременно очень обидной и нелепой, в очередной раз показала что:
— Надеяться на полицию зачастую бессмысленно
— На каждую защиту могут найтись умельцы
— Выбирать юриста нужно исходя из его «специализации»
— Свои нервы дороже, чем время затраченное на поиски пропажи
Моя история не содержит каких-то мега скандалов, интриг и расследований. Решила рассказать вам ее в качестве примера как оно всот все бывает
GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino
Приветствую всех. В предыдущих частях я рассказал, как сделать GSM сигнализацию на ардуино. Затронул тему изготовления беспроводных датчиков для неё. Обещал сделать датчик, работающий по Wi-Fi. И в итоге так увлёкся, что переработал весь проект.
Итак, я решил, что мобильный GPRS это конечно хорошо, но будет ещё лучше, если сигнализация сможет подключаться к домашней Wi-Fi сети и общаться со смартфоном через интернет и мобильное приложение. Для этого мне понадобилась отдельная плата с Wi-Fi модулем. Я подключил к ардуине плату NodeMcu v3 с чипом esp8266. Управление сигнализацией реализовал со смартфона в приложении Blynk.
Для новой сигнализации спроектировал печатную плату, на которой могут разместиться:
— NodeMcu v3 для выхода в интернет.
— SIM800L для мобильной связи.
— Радиомодуль NRF24L01 для приёма сигналов от беспроводных датчиков.
— Датчик температуры DS18B20.
— Микроволновый датчик движения RCWL-0516.
— MOSFET транзисторы AO3400A для включения платы NodeMcu и внешних маломощных устройств.
— Разъёмы для подключения других датчиков
— Переключение на резервный источник питания
Кроме того, к свободным пинам могут подключаться любые другие ардуиновские датчики и модули.
Т.к. сигнализация модульная, можно выбрать ту конфигурацию, которая нужна именно Вам.
Связь может осуществляться через SIM800L или NodeMcu на выбор, либо с обоими модулями одновременно (рекомендуется). В последнем случае имеет два независимых канала связи, что более надёжно.
Ардуино и NodeMcu общаются по шине I2C. На плате выведены разъёмы для подключения датчиков по этой шине.
После сборки получаем неприметную коробочку, которую можно спрятать в недоступном месте. Идеально в сочетании с беспроводными датчиками.
Распиновка новой платы немного отличается от схемы предыдущего проекта. Поэтому я решил вынести прошивки в отдельный проект. Дальше будут выходить обновления только для этой платы. Новая версия скетча 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. И проблема исчезла.
В статье я не буду затрагивать технические детали по созданию приложения Blynk, настройке и работе сигнализации. Всё это я изложил в файле описания проекта
Перейдите туда, и следуя инструкции, создайте вот такое приложение:
После запуска и подключения к серверу Blynk увидим следующее:
В терминал будут выводиться сообщения сигнализации. Так же из него можно отправлять в сигнализацию команды управления (AT, СМС и DTMF команды).
Кнопки ALARM, GUARD и EMAIL в данной конфигурации означают флаги управления сигнализацией. Любой флаг можно включить и отключить из приложения нажатием на кнопку.
Далее следует перечисление датчиков и их текущее показание. В данном примере у нас подключено два датчика:
При срабатывании датчика на экране телефона появится сообщение тревоги
Если плата NodeMcu потеряет связь с сервером Blynk, то на телефон так же придёт сообщение.
Эти же сообщения отправятся на указанный вами в настройках e-mail.
Как видите, интерфейс очень простой. И при этом полностью функционален. Позволяет осуществлять полный контроль над сигнализацией. И при этом полностью бесплатен!
Можно было бы добавить графики и дополнительные визуальные плюшки. Для этого понадобилось бы докупить энергии. Каждый в праве доработать проект под себя. Я же ограничусь бесплатной версией.
Теперь несколько слов о том, как создать и подключить беспроводной Wi-Fi датчик.
В предыдущей своей статье я описал беспроводной датчик на ардуино с ИК-передатчиком.
Wi-Fi датчик представляет из себя тоже самое, только для связи мы используем радиомодули nRF24L01. Передающий в датчике, принимающий в сигнализации. Под этот модуль уже предусмотрено место на плате сигнализации. Учтите, что при его использовании будут заняты 9, 10, 11, 12 и 13 пины платы ардуино. По этой причине не возможно одновременное использование ИК и Wi-Fi приёмников.
Схема соединения выглядит следующим образом
Скетч проекта лежит по этой ссылке
Там необходимо будет указать свои датчики, подключенные к ардуино.
В скетче задано два датчика. Вам нужно только вписать свои.
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(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)
В примере заданы два беспроводных Wi-Fi датчика, где
В будущем постараюсь добавить поддержку Blynk в прошивку ардуино с модемом SIM800L. Чтобы можно было обойтись без NodeMcu. Пока на всё это не хватает времени.
Проект GSM/GPRS сигнализации на Arduino ч.3
Всех с праздником. Продолжаем совершенствовать нашу сигнализацию. Согласитесь, что ей очень не хватает беспроводных датчиков. Один из подписчиков попросил добавить в сигнализацию ИК-передатчик для управления кондиционером. Мы решили этот вопрос несколько иначе, но сама идея передачи данных по ИК-каналу мне понравилась. Комплектующие стоят копейки. Имеется уже готовая библиотека IRremote, позволяющая принимать и отправлять данные по ИК-каналу. Минусом данной технологии можно считать только необходимость прямой видимости между передатчиком и приёмником. При этом ИК-приёмник отлично принимает отражённый от стен и потолка инфракрасный свет. Та что не обязательно, чтобы ик-диод был направлен непосредственно на него. Таким образом, если датчики и сигнализация расположены в одной комнате, можно неплохо сэкономить на комплектующих.
Далее открываем файл настроек проекта libraries/main_type/settings.h
Подключаем библиотеку ИК-датчика через дефайн, записав в него 1.
# define IR_ENABLE 1 // библиотека для ик приёмника
Затем добавляем ИК-датчик в массив датчиков:
Если ИК-датчиков несколько, можно настроить их на передачу разных слов, тогда в массиве каждый датчик нужно прописать отдельно. Это позволит их различать.
Теперь настало время собрать беспроводной ИК-датчик.
Для этого нам понадобится Ардуино Нано, ИК-диод, чем мощнее, тем лучше. Его нужно подключить к 3 пину Ардуины через ограничивающий резистор 33-220 Ом. Далее начиная с 4 пина подсоединяем любые датчики. Точно так же, как мы это делали в сигнализации. Оба проекта используют одни и те же библиотеки.
Затем открываем файл настроек settings.h
Задаём код, который будет отправляться на ИК-приёмник. Мы уже указывали его при настройке датчиков сигнализации. Код должен совпадать, чтобы сигнализация могла понять, кто сработал.
Далее указываем размер отправляемого слова в битах
В примере проекта к беспроводному датчику подключено два сенсора, геркон и датчик движения. Поэтому мы сначала задаём номера пинов для сенсоров, начиная с 4 (4 и 5 в данном случае). Затем записываем в массив сенсоров два датчика.
На этом настройка проекта завершена. Можно прошиваться.
При срабатывании подключенного сенсора Ардуина ИК-датчика начнёт отправлять указанное нами слово по ИК-каналу. Количество повторов отправки определено дефайном
Отправка слова производится раз в секунду.
Сигнализация примет это слово, сравнит с заданным в своих настройках, и при совпадении сработает режим тревоги.
Иногда мощности питания от порта Ардуины не хватает ИК-диоду, чтобы послать сигнал на большое расстояние. Тогда следует питать его напрямую от источника питания через транзистор. Например по такой схеме.
Обновлённая прошивка с проектом для ИК-датчика IRsensor лежит здесь
Так же необходимо установить через Arduino IDE библиотеку IRremote
В проекте добавилась новая библиотека для работы с датчиками температуры на основе термистора. Все необходимые коэффициенты задаются в самой библиотеке.
В следующей части постараюсь показать беспроводной датчик c Wi-Fi модулем.
Проект GSM/GPRS сигнализации на Arduino ч.2
Приветствую моих читателей. В первой части https://pikabu.ru/story/proekt_gsmgprs_signalizatsii_na_ardu. я рассказал вам, как сделать простую GPRS сигнализацию на Ардуино. Проект продолжает развиваться. Сигнализация эксплуатируется около месяца, и уже можно подводить некоторые итоги. За это время не было ни одного случая отказа или зависания, как модуля SIM800L, так и самой Ардуины. Напомню, в моём проекте микроконтроллер питается напрямую от аккумулятора пониженным напряжением 4 В. К каким-то отказам, как опасались многие читатели, это не приводит. Мною был проведён эксперимент, чтобы узнать, как поведёт себя сигнализация при постепенном разряде батареи.
Так как Ардуина разряжала аккумуляторы очень медленно, я подключил её вместе с модемом к лабораторному источнику питания, выставил ограничение по току 2А, и проверил работу на различных значениях напряжения.
Что удалось выяснить. При 3,5 В и выше SIM800L работает штатно. С питанием 3,4 В иногда начинаются перезагрузки при входящих звонках. При снижении напряжения ниже 3,4 В отваливается сеть, могут начаться перезагрузки, но на AT команды модуль продолжает отвечать. Так он работает в плоть до 3В, после чего выключается.
Ардуина работает даже при напряжении 2,7 В, ниже которых отключается. Никаких сбоев отмечено не было.
Но этого нам не достаточно. Нужно было проверить работу при длительной разрядке аккумулятора. Так сказать в условиях, близких к боевым. Я отключил режим сна Ардуины, подключил дополнительную нагрузку к аккумулятору, включил Serial монитор, и отслеживал поведение сигнализации, периодически проверяя её работоспособность. Эксперимент продолжался более суток. Аккумулятор разрядился до 3,6 В. Сбоев замечено не было. Схема полностью работоспособна. Ставьте ёмкий аккумулятор и не о чём не думайте.
Для справки. Номинальное напряжение питания чипа зависит от частоты его работы. Если программно понизить частоту до 10МГц или ниже, то питание напряжением от 2,7 до 5,5В для Atmega328p будет стандартным. Если кого-то не убедили результаты эксперимента, то они могут поиграться с настройками частоты.
С этим разобрались, теперь поговорим о доработках проекта.
За прошедшие две недели проект претерпел некоторые изменения. Геркон теперь подтянут через резистор не к +5В, а к +4,2В батареи (см. фото). Что позволит сохранить на пине высокий уровень при отключении внешнего питания без программной подтяжки. Мне кажется это более надёжным решением. Резисторы можно использовать любого номинала, начиная с 2,2 кОм и выше.
Остальные доработки касаются программной части. Файл настроек settings.h получил новые опции. https://github.com/wisenheimer/Arduino/blob/master/libraries.
По рекомендации читателей, в проект был добавлен watchdog (WTD), который перезагрузит Ардуину в случае её зависания. Включен по умолчанию следующим дефайном:
Т. к. стандартный загрузчик Ардуино Нано не поддерживает watchdog, и в случае его срабатывания уходит в бесконечную перезагрузку, для его работы нужно либо сменить загрузчик на другой, либо поступить проще. Прошить Ардуину через программатор. В этом случае на Ардуине больше не будет загрузчика. И watchdog будет работать. Но вы уже не сможете прошивать Ардуину по USB. Если вас это не устраивает, не используйте watchdog.
В качестве программатора я применил Ардуино УНО с прошивкой ArduinoISP из примеров.
Следующее изменение касается способа доставки отчётов. Теперь сигнализация поддерживает SMS отправку сообщений. Ранее мы отправляли ответы сигнализации на e-mail при помощи GPRS. Теперь можно выбирать способ отправки. Для этого добавлен следующий дефайн:
По умолчанию включены оба варианта.
SET_FLAG_ONE(GPRS_ENABLE) разрешает отправку e-mail по GPRS.
SET_FLAG_ONE(SMS_ENABLE) разрешает отправку отчётов по SMS.
GPRS имеет более высокий приоритет. Если сигнализации не удалось установить GPRS соединение, и SMS режим разрешён, то сообщения будут отправлены по SMS, флаг GPRS_ENABLE выключен, и в дальнейшем будет задействована только SMS отправка. Включить или выключить оба режима можно так же в ручную DTMF командой.
Если мы хотим всегда использовать один режим, то дефайн нужно отредактировать, удалив лишнее.
Следующим нововведением стало изменение списка DTMF команд:
Команды, не вошедшие в список, будут подставлены в USSD запрос и отправлены сотовому оператору. Так что можете в режиме DTMF напирать любые USSD команды. Например запрос баланса. В случае успеха ответ оператора вернётся в виде отчёта.
Например, добавлять и удалять номера из телефонной книги. Для этого достаточно с телефона Админа отправить сигнализации SMS с текстом АТ команды.
Дальше хочу подробно рассказать, как добавлять в проект датчики.
Для начала необходимо определиться с количеством пинов, требуемых для ваших датчиков. Датчики у нас подключаются, начиная с 4 пина. Первым желательно выбрать геркон, т.к. он будет будить Ардуину, если она войдёт в режим энергосбережения при отключении внешнего питания.
Конструктор класса имеет следующий вид:
В нашем файле настроек имеется целый массив таких классов для каждого датчика:
Очень важно указать точный размер массива, иначе проект не соберётся. В данном случае у меня имеется 6 датчиков, конструктор для каждого описан отдельно.
Для аналогового датчика газа MQ-2:
пин A0, тип датчика ANALOG_SENSOR, имя «GAS», значение на пине LOW, на прогрев датчика и выход на номинальный режим работы отводится 120 секунд. До истечения этого времени после включения датчик не опрашивается, что бы не получать неверные значения.
Для датчика температуры DHT11
в конце появилась цифра 35, которая означает уровень в градусах, при превышении которого считается, что датчик сработал. В помещении стало слишком жарко.
Внимательный читатель уже заметил, что для разных датчиков описано разное количество параметров. Дело в том, что в языке С++ можно не писать все параметры функции, если в заголовке функции указаны их значения по умолчанию. Мы пишем только то, что не имеет значения по умолчанию, или мы хотим задать другое значение. Однако никто не запрещает указать все параметры конструктора класса.
Вы можете подключать к сигнализации любые датчики, не требующие отдельной библиотеки, лишь заполнив конструктор класса, и добавив его в массив Sensor sensors[]. И это будет работать. Если для датчика требуется отдельная библиотека, то её можно добавить точно так же, как в проект была добавлена библиотека stDHT.h для датчика DHT11, который имеет свой протокол для обмена данными. Или напишите мне, я добавлю.
На этом всё, спасибо за внимание.