Разработка системы контроля приемом посетителей предприятия
Авторы:Д. А. Парфенов, Р. В. Мальчева, И. А. Янковский
Аннотация
Разработка системы контроля приемом посетителей предприятия. Рассмотрены особенности платформы Arduino, обеспечивающие наблюдение и контроль приема посетителей. Разработано аппаратное и программное обеспечение системы.
Введение
Одним из направлений использования компьютерных технологий являются системы мониторинга и контроля. Их существует огромное множество, отличающихся назначением и функционированием, например, так называемые системы «умный дом», обеспечивающие управление различными процессами жилого или производственного помещения [1].
Среди этого множества выделяют системы наблюдения, контролирующие прием посетителей предприятия. Видеонаблюдение – ключевой элемент в составе системы охраны и безопасности предприятия.
Установка системы охраны позволяет не только оградить материальные ценности организации от хищения, но и может осуществлять контроль за действиями персонала в офисных, производственных и складских помещениях предприятия. А также отслеживать передвижения клиентов и посетителей по территории объекта.
Актуальность темы
Это актуальная система, в которой удобство сочетается с безопасностью. Главным достоинством таких систем является способность осуществления круглосуточного контроля входа на предприятие. Основной задачей подобных устройств является передача видео или фото изображений на службу охраны, которая, в свою очередь, будет на месте решать, пускать или нет.
В условиях регулярно ухудшающейся криминальной обстановки в стране, в городе, районе, все большее число юридических лиц стали интересоваться решением проблем собственной безопасности. И для решения этих задач происходит все больше обращений именно к устройствам, простым и доступным, позволяющих обеспечить безопасность. Возросший спрос на видеодомофоны позволил осуществить существенный технический прогресс, расширив функциональность этих устройств, и дал возможность говорить о возможности использования функций видеодомофонов в качестве оборудования для видеонаблюдения.
Цель и задачи исследования
Целью работы является исследование и разработка системы приема посетителей предприятия. В начале работы над проектом были определены основные задачи:
- выбор и анализ платформы для реализации;
- разработка структурной схемы проекта;
- выбор оптимальных аппаратных средств.
Системы контроля могут быть реализованы с использованием различных микроконтроллеров в виде встроенных систем или систем на кристалле [2].
Для данной реализации системы приема посетителей выбрана платформа Arduino, так как она является доступной, недорогой, многофункциональной и отлично подходит для обучения [3]. Данная платформа имеет большой выбор плат с различными микроконтроллерами, датчиками, платами-расширителями и т. д.
Основные положительные стороны данной платформы:
- низкая стоимость: по сравнению с похожими аппаратными платформами, платы Arduino имеют относительно низкую стоимость; готовые модули стоят не дороже 50$, а возможность собрать плату самостоятельно позволяет максимально сэкономить средства и получить Arduino за минимальную цену;
- кроссплатформенность: программное обеспечение (ПО) Arduino работает на операционных системах (ОС) Windows, Macintosh OSX и Linux, в то время как большинство подобных систем ориентированы на работу только в Windows;
- простая и удобная среда программирования: среда программирования Arduino понятна и проста для начинающих, но при этом достаточно гибкая для продвинутых пользователей; она очень удобна в обучении, как для студентов, так и для преподавателей;
- расширяемое программное обеспечение с открытым исходным кодом: программное обеспечение (ПО) Arduino имеет открытый исходный код, благодаря этому опытные программисты могут изменять и дополнять его; кроме того, возможности языка Arduino можно расширять с помощью C++ библиотек;
- расширяемое открытое аппаратное обеспечение: устройства Arduino построены на базе микроконтроллеров Atmel ATmega8 и ATmega368.
Благодаря тому, что все схемы модулей Arduino находятся в открытом доступе, опытные инженеры и разработчики могут создавать свои версии устройств на основе существующих. И даже обычные пользователи могут собирать опытные образцы Arduino для лучшего понимания принципов их работы и экономии средств.
Таким образом, Arduino, как открытая программируемая аппаратная платформа для работы с различными объектами с помощью компонентов, расширяющих возможности платы, может служить отличным началом для работы с микроконтроллерами (МК).
Существует несколько разновидностей плат Arduino. В основном они отличаются между собой объемами памяти, моделью микроконтроллера (МК), количеством входов/выходов и размерами самой платы. Для данного проекта в качестве основной выбрана плата Arduino Uno – эталонная модель платформы Arduino.
Назначение и размещение устройства
Данная система предназначена для использования на предприятии, где работает большое количество людей, а также бывает много посетителей. Эта система позволяет службе охраны получать оповещения с фотографией о людях, которые находятся у входной двери. Принцип действия проекта следующий:
- человек, который находится перед входной дверью, должен нажать кнопку дверного звонка;
- камера, установленная на входе, делает снимок посетителя;
- снимок отправляется с помощью Arduino на компьютер, подключенный к сети Интернет;
- фотография идентифицируется в базе данных, содержащей информацию обо всех работниках предприятия и постоянных посетителях.
Но в данном случае возникает вопрос с подключением и размещением системы на улице. В таком случае есть возможный вариант, когда камера и основная плата Arduino, отвечающая за управление, размещаются рядом, а компьютер находится в пункте охраны. Но так как плата Arduino и компьютер соединяются между собой с помощью USB-кабеля, а максимальная длина такого кабеля, согласно спецификации, не более 5 метров, то такое размещение может быть проблемным. Для того, чтобы обойти это ограничение, можно соединить несколько 5-метровых кабелей последовательно, используя для соединения USB-хабы в качестве повторителей. Максимальная длина такого составного кабеля не должна превышать 30 метров.
Выбор и подключение аппаратных средств
Для оптимальной работы системы и ее правильной функциональности необходимо выбрать аппаратные средства, которые будут соответствовать поставленной задаче. Для системы приема посетителей предприятия были выбраны следующие аппаратные средства: плата Arduino Uno; модуль камеры OV7670; 2 резистора номиналом по 4,7 кОм и 3 резистора номиналом по 10 кОм. Данные элементы были выбраны по ряду причин: низкая себестоимость, доступность и удобство в эксплуатации.
Модуль камеры OV7670 формирует изображение с максимальным разрешением 640×480 и может выдать его со скоростью до 30 кадров в секунду. Данная камера была выбрана из соотношения цена-качество. Существуют и другие камеры для работы с платформой Arduino, такие как VC0706, которые по каким-то параметрам лучше, а по каким-то хуже выбранной OV7670. Подключение камеры к плате показано на рис. 1.
Следует отметить, что напряжение входов камеры местами отличается от напряжения Arduino, поэтому нужны резисторы, которые подключаются так, как показано на схеме. Данное подключение было реализовано в программе эмуляторе Fritzing. Эта программа удобна в использовании, наглядно показаны все входы/выходы плат и благодаря возможности выбирать цвета для проводников меньше вероятность запутаться в физическом подключении, если использовать этот эмулятор. Кроме того, существуют еще несколько программ, которые эмулируют возможности платы. Например, программа Virtual Breadboard. Эта программа позволяет писать код прямо в эмуляторе и тут же посмотреть, как он работает. Также программа включает в себя отладчик и достаточный набор компонентов для постройки различных схем. Возможность эмуляции платформы Arduino позволяет предварительно спроектировать систему и правильно выбрать компоненты без покупки элементов.
Программирование системы
Программы для Arduino пишутся на обычном языке С/C++, дополненным простыми и понятными функциями для управления вводом/выводом на контактах. Для удобства работы с Arduino существует бесплатная официальная среда программирования Arduino IDE, которая не требует установки дополнительного программного обеспечения. Это упрощает работу пользователю с данной платформой. С ее помощью загрузка новой программы в Arduino становится очень быстрой, для этого необходимо подключить плату к компьютеру через USB. Также возможна работа и через Visual Studio, Eclipse, другие IDE или командную строку, но для этого требуется использование дополнительных плагинов.
Все особенности сводятся к тому, что имеется набор библиотек, включающий в себя некоторые функции и объекты. Код программы для Arduino называется скетч.
В скетче обязательно должны присутствовать две основные функции setup( ) и loop( ), без них программа не откомпилируется. Упрощенно цикл программирования Arduino можно представить в следующей последовательности [4]:
- подключение платы через USB порт к компьютеру;
- написание скетча программы;
- выгрузка этого скетча на плату через USB соединение;
- выполнение платой написанного скетча.
Таким образом, используя библиотеки, функции и объекты для программирования Arduino реализуется необходимая система приема посетителей предприятия. Кроме того, для успешной работы системы потребовалось разработать дополнительную программу на языке Java в среде разработке Eclipse, которая выполняет преобразование полученной информации с камеры в .bmp изображение.
Вывод
Проведен анализ плат платформы Arduino и реализована система приема посетителей предприятия с применением необходимых компонентов и плат, которые оптимально подходят для данной системы по ряду причин. Изучены и применены на практике основы программирования под Arduino в среде разработки Arduino IDE. На практике проведена проверка работоспособности данной системы. Поведено тестирование проекта и получены корректные результаты.
Литература
- Мальчева, Р. В., Хмара, А. С. Устройство управления системой горячего водоснабжения с солнечными коллекторами // Інформаційні управляючі системи та комп’ютерний моніторинг. – Донецьк: ДонНТУ, 2011. Т.2. С. 81-86.
- Malcheva R., Naaem H. Development of the Data Transferring System Using SoC // European Scientific Journal, 2014. Vol.10, N7. PP.168-172.
- Arduino. [Электронный ресурс] – Режим доступа: URL: https://doc.arduino.ua/ru/about
- Программирование Arduino. [Электронный ресурс] – Режим доступа: URL: https://doc.arduino.ua/ru/prog