Ваш зал под охраной?

Вот уже прошло два года как я открыл свой зал. Я писал об этом на сайте budokarate.ru. И хорошо помню как почти целый год с разной периодичностью мне названивали различные охранные агентства. И все они предлагали свои услуги. Когда мне первый раз они позвонили я просто встал в ступор. Я их несколько раз переспросил. А они точно звонят мне? Понимают ли они что звонят в клуб карате?

Это кулак Галицына Евгений Борисовича. Стоп кадр с видео ролика, что мы готовили к Фестивалю Традиционного Карате. Ролик можно посмотреть тут.

Но они отвечали что все понимают. Что звонят именно в Клуб Традиционного Карате. Тогда я их начинал просто троллить, задавая им вопрос, от кого они нас хотя охранять? Я дяденька не маленький, но когда мне руку пожимает Евгений Борисович, я чувствую что мои кости в трусы сейчас все ссыпяться.

Но шло время. А они все звонили. И шутить мне уже надоело. Просто стало любопытно. Что они все таки конкретно хотят? А все оказалась очень просто. Под охраной они понимают банальное видеонаблюдение. Они просто хотят продать камеры и услуги по их монтажу. Вещь конечно полезная, но ценник не для спортивного клуба. А что если самому сделать такую систему? И действительно. Если зайти практически в любой строительный магазин, то вы наверняка найдете отдел с видео техникой. Есть IP камеры. Есть регистраторы. Датчики. И все это вроде и не так дорого. Скажем 5-6 тысяч рублей и что то даже будет работать. А так ли это?

Возможно я бы так и поступил, если бы не одно но. Мне этого было мало. Я хочу чтобы можно было смотреть видео прямо с моего сайта. Чтобы скажем можно было делать прямые трансляции. Нет а что, интересная тема. Заходят родители  и могут видеть своих детей. Или скажем организовывая какой нибудь мастер класс и вести передачу занятия в прямой эфир. А еще было бы здорово если вместе с этой информацией показывалась температура, влажность и освещенность в зале. Здорово же верно? Все это невозможно если вы будете использовать типовые промышленные решения. Все это надо делать самому. Приступим?!

Шаг 1. Регистратор

Регистратором в системе видео наблюдения называют небольшой компьютер основной функцией которого является хранение видеоинформации. Но у нас требования повыше. Давайте возьмем мини компьютер. Я взял Wintel CX-8. На aliexpress такое устройство стоит примерно 5000 руб. Я купил на avito за 3 тысячи.

Шаг 2. Видеокамера

Где и как будет использоваться камера? В зале, верно? Значит ни о какой защите от влаги и речи не может идти. Обычные, тепличные условия. Каков уровень освещения? Либо есть, либо нет. Причем если есть, то это какое то большое серьезное значение. В зале у меня 8 мощных светодиодных ламп и окон нет — подвал. Если темно, то темно совсем. Так что требовать от камеры каких то особых характеристик тоже не стоит. Следовательно нам подойдет обычная Веб камера. Ну вот те что используют люди, чтобы общаться по скайпу. Главное, чтобы у нее было свободное и гибкое крепление. Мы же не на монитор ее будем устанавливать верно?

Самая подходящая камера на мой взгляд это Microsoft LifeCam hd-3000. У нее фиксированный фокус и самое главное, у нее гибкая пластмассовая ножка. Камеру можно к стене прикрепить и как надо все настроить. Цена новой камеры примерно 1500 рублей. Себе я купил за 500 рублей, угадайте где? Ну конечно на Авито 🙂

Шаг 3. Датчики

Я вот помню раньше по магазинам ходил и высматривал датчики. У них такой красный светодиод загорался периодически. Это инфракрасный датчик движения основанный на пироэлектрическом эффекте. Купить конечно такие в радио магазинах было невозможно. А сейчас? А сейчас — пожалуйста. Вот например вот этот http://amperka.ru/product/troyka-motion-sensor

А еще есть датчики температуры, освещенности, влажности и т.д. Все что душе угодно.

И да. Датчики сами по себе не работают. И в персональный компьютер их просто так не вставить. Нужен контролер. Специальная плата со встроенным микропроцессором, АЦП и портами. Что то типа Arduino.

Я выбрал IskraJS. Контроллер со встроенным интерпретатором Javascript. Выбор конечно осознанный. Программный код для всех частей системы будет один, на одном языке. Это очень удобно

Теперь давайте посчитаем что имеем в итоге

    1. Контроллер — 1300 руб.
    2. Датчик Освещенности — 340 руб.
    3. Цифровой датчик температуры и влажности -240 руб.

Итого: 1880 руб.

Шаг 4. Программное обеспечение

Пожалуй это самая сложная часть всей работы потому что готовые программные решение завязаны на конкретное оборудование. А у нас “набор джентельмена”. Будем писать свой код. Самый первый вопрос который логично задать — как получить доступ к Веб камере? Отвечаю. Ни PHP, ни NodeJS, ни другие скриптовые языки работающие на сервере не имеют такой возможности. Возможно конечно я не все изучил варианты, но все же. Что же делать? А очень просто. Доступ к камере имеет Веб броузер: Google Chrome, FireFox и т.д. И технология эта называется WebRTC. Для доступа к медиапотоку предназначена функция getUserMedia. Работает это примерно так:

Класс MediaStreamRecorder часть библиотеки WebRTC. При инициализации класса мы также указываем период, с каким хотим делать захват. Когда данные готовы вызывается метод ondataavailable и далее данные сохраняются на сервер, путем обычного POST запроса.

Теперь про сервер. Его задача.. правильно. Регистрация. Хранение файлов. Тут все просто. Получили файл и просто его сохранили. Сервер создает папку с датой и просто туда складывает файлы. А также, сохраняет в базе данных записи о файлах. Что еще? Датчики. Данные с датчиков нужно читать и передавать их далее по цепочке, транслировать на клиента.

Так выглядит среда программирование для IskraJS и небольшой код который просто опрашивает датчики с интервалом 2 секунды и отправляет в COM порт компьютера.

Сервер открывает порт и открывает Socket соединение с клиентом. Как только данные от датчиков приходят, сервер, через Socket, отправляет данные на клиента.

И зачем эти данные клиенту? А затем чтобы:

    1. красиво выводить данные с датчиков (температуру, влажность и т.д)
    2. чтобы на их основе принимать решение производить захват видео или нет.

Сколько стоит? Много. Разработка программного обеспечения и настройка среды заняло очень много времени. Можно ли это как то оценить в деньгах? Я не буду это делать. В любом случае мне приносило это удовольствие и это главное!

Шаг 5. Монтаж

У меня в зале есть маленькое помещение, примерно пару квадратных метров — кладовка. Используем ее чтобы хранить инвентарь.. Вот там я и решил смонтировать все. Для датчиков и контроллера я купил в Ленте маленькую пластмассовую коробочку. Перегородки удалил и вырезал отверстие для провода USB — питание.

Сам регистратор МиниПК на двухстороннюю ленту прикрепил под потолок:

Датчики на противоположную сторону.

А камеру повесил просто на трубы. Ее обзора достаточно чтобы видеть одну треть зала. Большего мне и не надо.

Шаг 6. Настройка

Все требует доводки и настройки. Очевидно что в подвешенном состоянии все это делать невозможно. Но у нас же 21 век. Мы можем все это делать дистанционно. Установленная программа TeamViewer на мини ПК позволяет комфортно работать дистанционно. Можно даже из дома.

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

Итого:

Мини ПК Wintel CX-W8 3000
Веб камера Microsoft LifeCam HD-3000 500
Контролер 1300
Датчики 580
Итого 5380

Ну и пользуясь случаем хочу пригласить всех 26 мая, в Санкт-Петербург на очередную 34 сессию Национальной Академии Будо. И конечно камеры будут работать и будет осуществлять трансляция в прямой эфир, в “БУДО ЭФИР”!