Разработка системы контроля и управления доступом к охраняемым объектам

Принципы работы систем контроля и управления доступом, принцип их работы и оценка возможностей. Сравнительное описание методов идентификации. Разработка информационно-компьютерной системы контроля и управления доступом. Создание аппаратной подсистемы.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 26.07.2013
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Безусловно, это требует реализации VPN в ПО контроллера, для чего, опять же, более выигрышно смотрятся варианты со встраиваемыми ОС.

Для работы с операционной системой потребуется микроконтроллер, оперативная память, а также статическая память - такой конфигурации будет вполне достаточно для запуска ОС. Но так же не стоит забывать, о необходимости присутствия инструментария QT, с целью создания автономной подсистемы СКУД, в случае если средства централизованного управления выйдут из строя. Так же QT необходим, для создания процесса-демона, для опроса портов, с целью обеспечения связи между устройством считывания и сервером системы.

Учитывая вышеперечисленные характеристики, попробуем подобрать оптимальные ОС и оборудование. Для поддержки QT, нам достаточна операционная система Linux с ядром не ниже версии 2.6.32. или Windows Embedded Compact 7.

Чтобы запустить Linux с ядром не ниже версии 2.6.32. Windows Embedded Compact 7 необходимо 512 Мб оперативной памяти и 256Мб на жестком диске.

Для эффективной работы графической системы Windows Embedded Compact 7 необходимо: процессор с частотой 1ГГц.

Исходя из написанного выше, основными требования к микроконтроллеру будут:

­ частота не менее 1ГГц;

­ возможность подключения оперативной памяти объемом <512Мб;

­ поддержка загрузки операционной системы из Flash памяти;

­ NAND-flash памяти (с функцией ECC) и CompactFlash;

Устройство считывания (УС)

Считывающее устройство должно обеспечивать:

­ считывание идентификационного признака;

­ преобразование введенной информации в электрический сигнал;

­ передачу информации на контроллер СКУД.

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

Поскольку в качестве идентификатора в разрабатываемой СКУД была выбрана RFID карта, то считывающим устройством должен быть RFID сканер.

Основные требования к считывающему устройству:

- передача данных по USB, RS- 232.

- диапазон частот 13,56МГц.

2.2.1 Анализ и выбор технологии считывающего устройства

Одним из основных элементов системы контроля и управления доступом к охраняемым объектам является считывающее устройство. В качестве УС был выбран RFID считыватель.

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

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

Классификация типов частот RFID выглядит следующим образом:

­ Низкие частоты(НЧ).

­ Высокие частоты(ВЧ).

­ Ультравысокие частоты(УВЧ).

­ Микроволновые частоты.

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

Контроллер - блок, преобразующий исходный сигнал (аналоговый или цифровой) к виду, удобному для дальнейшей обработки.

Интерфейс - узел контроллера, состоящий из разъема, соединительного кабеля, а также драйвера (например, конвертора сигналов ТТЛ в RS-232 и обратно). Он предназначен для передачи информации от контроллера к главному управляющему узлу системы, например, к компьютеру. Наиболее часто сканеры оснащаются интерфейсами RS-232, RS-485, а в последнее время - чаще используется USB.

Низкие частоты (НЧ)

Низкими считаются частоты между 30 и 300 кГц, и в системах RFID обычно используются частоты в диапазоне от 125 до 134 кГц. Типичная НЧ RFID-система работает на частоте 125 или 134,2 кГц. В RFID-системах, работающих на низких частотах, обычно используются пассивные метки, принцип работы пассивных меток будет рассмотрен ниже, данные от метки к сканеру передаются с низкими скоростями, и они особенно хорошо подходят для рабочей среды, содержащей металлы, жидкости, различные виды загрязнений и снег (это очень важная характеристика НЧ- систем). Изготовителями также поставляются активные НЧ- метки. Вследствие высокой отработанности этого типа меток системы с НЧ- метками, возможно, имеют самое большое количество внедренных реализаций. НЧ- диапазон принят во всемирном масштабе.

Высокие частоты (ВЧ)

ВЧ находятся в диапазоне от 3 до 30 МГц, и типичной частотой, используемой в ВЧ RFID-системах, является 13,56 МГц. В типичной ВЧ RFID-системе используются пассивные метки к сканеру передаются с низкой скоростью и обеспечиваются хорошие рабочие характеристики в присутствии металлов и жидкостей. ВЧ- системы применяются также широко, особенно в больницах (где они не взаимодействуют с уже существующим оборудованием). ВЧ- диапазон принят во всемирном масштабе.

Следующий частотный диапазон называется диапазоном очень высоких частот (ОВЧ), и он охватывает частоты от 30 до 300 МГЦ. К сожалению в этом диапазоне современные RFID- системы не работают, поэтому нет смысла обсуждать этот тип частот.

Ультравысокие частоты (УВЧ)

УВЧ находятся в диапазоне от 300 МГц до 1 ГГц. Типичная пассивная УВЧ RFID-система работает на частотах 915 МГц в Соединенных Штатах и 868 МГц в Европе. Типичная активная УВЧ RFID-система работает на частотах 315 и 433 МГц. Следовательно, в УВЧ-системе могут использоваться как активные, так и пассивные метки. Данные между меткой и сканером передаются с высокой скоростью, но не обеспечиваются высокие характеристики в присутствии металлов и жидкостей (правда, не на нижних частотах УВЧ-диапазона 315 и 433 МГц). Развертывание УВЧ RFID-систем начало широко распространяться на основе недавних заказов на них от нескольких крупных частных и государственных предприятий, таких, как международные и национальные компании розничной торговли. Министерство обороны США и т.д. УВЧ-диапазон не принят во всемирном масштабе.

Микроволновые частоты (УВЧ)

Типичная микроволновая RFID-система работает либо на 2,45, либо на 5,8 ГГц, (хотя первая из частот более распространена). В ней могут использоваться как активные, так и полуактивные метки. Данные между меткой и ридером передаются с самой высокой скоростью и обеспечиваются самые низкие рабочие характеристики в присутствии металлов и жидкостей. Вследствие того что длина антенны обратно пропорциональна частоте, антенна пассивной метки, работающей в микроволновом диапазоне, имеет самую малую длину (что ведет к малому размеру метки, поскольку микрочип метки также может изготовляться очень малого размера). Частотный диапазон 2,4 ГГц называется промышленным, научным и медицинским диапазоном (Industry Scientific and Medical - ISM) и принят во всемирном масштабе. На частоты, которые используются для RFID, накладываются как международные, так и внутригосударственные ограничения. Поэтому некоторые из ранее обсуждавшихся частот могут не действовать во всемирном масштабе.

RFID метка

Метка (tag) RFID - это устройство, способное хранить данные и передавать их сканеру бесконтактным способом с помощью радиоволн.

Класификация RFID- меток может быть выполнена двумя различными способами. В приведенном ниже перечне показан первый способ классификации, основанный на наличии в метке встроенного источника питания и /или возможности поддержки специализированных задач:

­ Пассивные

­ Активные

Подробно рассмотрим их в следующих подразделах.

Пассивные метки

RFID-метка этого типа не содержит встроенного источника питания(например, батарею) и вместо этого для своего питания и передачи данных сканер использует энергию, излучаемую считывателем. Пассивная метка конструктивно проста и не содержит движущихся частей. В результате такая метка имеет большой срок службы в общем случае хорошо выдерживает жесткие условия окружающей среда. Например некоторые пассивные метки могут сопротивляться таким коррозионным химическим веществам, как кислоты, и нагреву свыше 200°С. При обмене информацией в направлении от метки к считывателю первым инициирует связь считыватель, а затем обмен осуществляет метка. Для передачи данных такими метками обязательно наличие считывателя.

Пассивная метка, как правило, меньше активной или полуактивной метки. Значение расстояния считывания у нее может быть самым различным - от менее 2,5 см и примерно до 9 м.

Стоимость пассивной метки также в общем случае меньше, чем у активной или полуактивной метки.

Бесконтактная смарт-карта является особым типом пассивной RFID- метки и используется сегодня в различных областях (например, в качестве жетонов-удостоверений в системах безопасности). Данные хранящиеся на такой карте, считываются в непосредственной близости от считывателя. Для считывания не нужно что бы карта была в физическом контакте с устройством чтения.

Пассивная метка состоит из следующих основных компонентов:

­ Микрочипа

­ Антенны

На рисунке 2.5 показаны компоненты пассивной метки

Рисунок 2.5 - Компоненты пассивной метки

Устройство управления питанием/выпрямитель преобразует питающее напряжение переменного тока, получаемое от сигнала с антенны считывателя, в питающее напряжение постоянного тока. Это устройство подает питание на остальные компоненты микрочипа. Выделитель тактовой частоты извлекает тактовый сигнал из сигнала, получаемого от антенны устройства чтения. Модулятор модулирует получаемый от считывателя сигнал. В модулированный сигнал вводится ответ метки, и этот сигнал затем передается обратно считывателю. Логическая схема отвечает за реализацию протокола информационного обмена между меткой и УС. Для хранения данных используется память микрочипа.

На рисунке 2.6 показаны компоненты микрочипа. В общем случае память разбита на сегменты(т.е. состоит из нескольких блоков или полей). Адресуемость означает способность обратится(т.е. прочитать или записать информацию) к отдельным участкам памяти микрочипа. Блок памяти метки может содержать данные различных типов, например порцию идентификационных данных отмеченного объекта, разряды контрольной суммы(например, циклический избыточный код - CRC) для проверки точности передаваемых данных и т.д. Последние технические достижения позволяют сделать микрочипы размером с песчинку. Но физически размеры метки определяются не величиной микрочипа, а расположением и размером ее антенны.

Рисунок 2.6 - Основные компоненты микрочипа

Антенна метки используется для извлечения энергии, питающей метку, из сигнала считывателя и приема-передачи данных между меткой и считывателем. Эта антенна физически прикреплена к микрочипу. Возможны бесчисленные конструкции антенн, особенно для УВЧ-диапазона, и их проектировании является настолько же искусством, как и наукой. Длина антенны прямо пропорциональна рабочей длине волны метки. Дипольная антенна состоит из прямолинейного отрезка проводника (например, из меди) с разрывом по средине. Общая длина дипольной антенны, оптимально передающей энергию сигнала, получаемого с антенны считывателя, равна половине длины волны используемой частоты. Двойная дипольная антенна состоит из двух диполей и значительно уменьшает чувствительность метки к ориентации. В результате этого считыватель может читать такую метку под различными углами. Петлевой диполь состоит из двух и более параллельно соединенных прямолинейных проводников, каждый длинной в половину волны (используемой частоты). Если он содержит два проводника, то получается 2-проводной петлевой диполь; 3-проводной петлевой диполь состоит из трех параллельно соединенных проводников. На рис. 2.7 показаны эти типы антенн.

Длинна антенны метки значительно превышает размеры микрочипа метки и следовательно, является главным параметром, определяющим физические характеристики метки. На выбор конструкции антенны оказывают влияние следующие факторы:

­ Расстояние считывания между меткой и считывателем.

­ Известная ориентация метки относительно считывателя.

­ Произвольная ориентация метки относительно считывателя.

­ Скорость движения метки.

­ Особые условия работы(окружающей среды).

­ Поляризация антенны считывателя.

Точки соединения микрочипа метки и ее антенны являются самыми слабыми местами метки. Если повреждается любая из этих точек соединения, то метка перестает работать или значительно ухудшает свои рабочие характеристики. Антенна, предназначена для конкретной задачи(например, отметка упаковочного ящика), может плохо выполнять другую задачу(например, отметка отдельного предмета в ящике).Произвольное изменение геометрии антенны(например, простым «откусыванием», перерезанием или сгибанием), как правило приводит к негативным результатам, так как метка теряет настройку и оптимальные рабочие характеристики.

В настоящее время большинство антенн меток изготовляется из тонкой металлической полоски(например, медной, серебряной или алюминиевой). Однако в будущем, возможно, антенны будут печатать непосредственно на поверхности метки токопроводящими чернилами, содержащими медь, углерод или никель. В результате этого стоимость RFID -метки может стать значительно ниже намеченных 5 центов США за метку.

Рисунок 2.7 - Типы дипольных антенн

Активные метки

В активных RFID- метках имеется внутренний источник питания(например, химическая батарея; но возможны и другие источники- такие, как солнечная батарея) и электроника для выполнения специализированных задач. В активной метке используется свой внутренний источник питания для передачи данных метки считывателю. Для передачи данных не требуется излучаемой считывателем энергии. Встроенная электроника может содержать микропроцессоры, датчики и порты ввода-вывода, получающие питание от внутреннего источника. Поэтому, например, такие компоненты могут измерять температуру окружающей среды и вырабатывать информацию о средней температуре и вырабатывать информацию для определения других параметров - скажем, срока годности товара, на котором они находятся. Затем метка может передавать эту информацию считывателю(вместе со своим уникальным идентификатором). Активную метку можно представить себе как компьютер с беспроводной связью, обладающий дополнительными свойствами (характерными, на пример, для датчика или набора датчиков).

В обмене информацией от метки к считывателю при таком типе метки связь всегда инициируется меткой с последующим участием считывателя. Так как для передачи данных присутствие считывателя не является обязательным, то активная метка может транслировать данные в окружающую среду даже при отсутствии считывателя. Активная метка такого типа передающая данные при наличии считывателя и при его отсутствии, так же называется передатчиком. В другом типе активной метки предусмотрен переход в спящее состояние, или состояние малой мощности, если нет запроса от считывателя. Считыватель выносит такую метку из спящего состояния, посылая соответствующую команду. Такое состояние экономит энергию батареи, и поэтому метка такого типа, как правило, имеет более продолжительный срок службы по сравнению с активной меткой-передатчиком. Кроме того, как метка ведет передачу только при запросе, то уровень радиочастотных помех в окружающей ее среде снижается. Этот тип активной метки называется передатчиком-приемником (или приемопередатчиком). Расстояние считывания активной метки может составлять около 30 м. и более при использовании активного передатчика такой метки.

Активная метка состоит из следующих компонентов:

­ Микрочипа. Размеры и функциональные возможности микропроцессора обычно превышают подобные параметры микрочипов пассивных меток.

­ Антенны. Она может иметь вид радиочастотного модуля, который может передавать сигналы метки и принимать в ответ сигналы устройства чтения.

­ Внутреннего источника питания.

­ Внутренней электроники.

На рисунке 2.8 - показаны примеры активной метки.

Рисунок 2.8 - Пример активной метки

Классификация меток по способности поддерживать перезапись данных:

­ Только с чтением (read-only - RO).

­ С однократной записью и многократным чтением (write once read many - WORM).

­ С многократной перезаписью (read-write - RW).

­ Метки SAW-типа.

Как активные, так и пассивные метки могут быть RO, WORM и RW-типа.

Метки RO-типа

Метка RO-типа может быть запрограммирована (т.е. записана) только один раз в своем жизненном цикле.

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

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

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

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

Метки WORM-типа

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

Тем не менее, на практике для исправления ошибок при такой записи допускается возможность перезаписи некоторых типов WORM-меток (нередко встречается возможность перезаписи до 100 раз!). Если данные для такой метки перезаписываются более разрешенного количества раз, то метка может получить необратимое повреждение.

Метка WORM-типа также называется меткой с эксплуатационным программированием.

Метки RW-типа

Метка RW-типа может быть перепрограммирована (перезаписана) большое количество раз. Обычно это число варьируется от 10 000 до 100 000 раз и более! Такая способность перезаписи дает огромное преимущество, так как данные могут перезаписываться либо ридерами, либо самой меткой (в случае активной метки).

В метке RW-типа обычно содержится устройство памяти Flash или EEPROM-типа.

RW-метка также называется меткой с эксплуатационным программированием или перепрограммируемой меткой.

Для меток этого типа возможно решение задачи - обеспечение безопасности хранения информации.

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

Метки SAW-типа

Метки SAW-типа, работающие на принципе поверхностной акустической волны (surface acoustic wave - SAW).

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

Для работы меток SAW-типа используются радиоволны малой мощности в частотном диапазоне 2,45 ГГц.

В отличие от меток с микрочипами SAW-метке не нужен источник постоянного тока для ее питания при передаче данных.

SAW-метка состоит из дипольной антенны, присоединенной к встречно-штыревому преобразователю (interdigital transducer - IDT), расположенному на пьезоэлектрической подложке из ниобата лития или танталата лития. На подложке в точно рассчитанных местах расположены отдельные электроды, действующие как рефлекторы, изготовленные из алюминия или вытравленные на подложке. Антенна после приема радиочастотного сигнала от SAW-ридера подает электрический импульс на IDT. Этот импульс генерирует поверхностные волны, также называемые волнами Рэлея, и эти волны обычно проходят по подложке со скоростью от 3000 до 4000 м/с. Часть этих волн отражается рефлекторами обратно в IDT, а остальная часть поглощается подложкой. Отраженные волны образуют уникальную структуру, определяемую позициями рефлекторов и представляющую собой данные метки. Эти волны преобразуются в IDT обратно в радиосигнал и передаются через антенну метки назад RFID-ридеру. Затем ридер декодирует принятый сигнал и извлекает данные метки.

SAW-метка имеет следующие преимущества:

Очень малое потребление энергии, так как ей не нужен источник постоянного тока для своего питания.

С ее помощью можно с хорошими результатами отмечать радионепрозрачные и радиопоглощающие материалы, например, металл и воду соответственно.

Большее расстояние чтения, чем у метки с микрочипом, работающей в том же частотном диапазоне (т.е. 2,45 ГГц).

Может работать с более короткими пачками радиосигналов в отличие от меток на микрочипах, требующих более продолжительного сигнала от ридера к метке.

Высокие степени точности чтения.

Большая прочность вследствие простоты конструкции.

Не требует применения антиколлизионных протоколов.

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

SAW-ридеры менее подвержены влиянию помех от других SAW-ридеров.

SAW-метки могут, скорее всего, оказаться единственным вариантом в определенных ситуациях нанесения меток, и вероятно получат широкое распространение в будущем.

Выбор технологии передачи данных

Технология передачи данных определяет потенциальную удаленность контроллеров от компьютера, а также сложность и стоимость монтажа сетевой СКУД. Ориентироваться надо в первую очередь на стандартизированные технологии. На данный момент возможны несколько вариантов, а именно:

- сеть на базе протокола RS-232;

- сеть на базе технологии Ethernet;

- сеть на базе технологий USB.

Интерфейс RS-232 - интерфейс передачи информации между двумя устройствами на расстоянии до 20 м. Информация передается по проводам с уровнями сигналов, отличающимися от стандартных 5В, для обеспечения большей устойчивости к помехам. Асинхронная передача данных осуществляется с установленной скоростью при синхронизации уровнем сигнала стартового импульса.

Интерфейс RS-232-C был разработан для простого применения, однозначно определяемого по его названию "Интерфейс между терминальным оборудованием и связным оборудованием с обменом по последовательному двоичному коду". Каждое слово в названии значимое, оно определяет интерфейс между терминалом (DTE) и модемом (DCE) по передаче последовательных данных

Сигналы после прохождения по кабелю ослаюляются и искажаются. Ослабление растет с увеличением длины кабеля. Этот эффект сильно связан с электрической емкостью кабеля. По стандарту максимальная нагрузочная емкость составляет 2500 пФ. Типичная погонная емкость кабеля составляет 130 пФ, поэтому максимальная длина кабеля ограничена примерно 17 м.

Сетевая СКУД на базе технологии Ethernet позволяет организовать достаточно большое количество точек доступа, количество которых ограничивается только возможностями программного обеспечения. Такая сетевая СКУД может носить как локальный, так и распределенный характер и может взаимодействовать с составными частями через интернет.

USB (ю-эс-би, англ. Universal Serial Bus -- «универсальная последовательная шина») -- последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных устройств в вычислительной технике. Символом USB являются четыре геометрические фигуры: большой круг, малый круг, треугольник и квадрат, расположенные на концах древовидной блок-схемы.

Разработка спецификаций на шину USB производится в рамках международной некоммерческой организации USB Implementers Forum (USB-IF), объединяющей разработчиков и производителей оборудования с шиной USB.

Для подключения периферийных устройств к шине USB используется четырёхпроводный кабель, при этом два провода (витая пара) в дифференциальном включении используются для приёма и передачи данных, а два провода -- для питания периферийного устройства. Благодаря встроенным линиям питания USB позволяет подключать периферийные устройства без собственного источника питания (максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 500 мА, у USB 3.0 -- 900 мА).

2.3 Разработка программной подсистемы

Программная подсистема должна обеспечить функционирование в соответствии с диаграммами вариантов использования системы контроля и управления доступом к охраняемым объектам, разработку структуры базы данных, разработку web-интерфейса, разработку алгоритма работы считывающего устройства.

Диаграммы вариантов использования системы контроля и управления доступом к охраняемым объектам

Информационно-компьютерная система контроля и управления доступом предназначена для автоматического управления входом/выходом людей в здания и помещения.

С данной системой могут работать оператор и пользователи. Для каждого из них предоставляются свои права в системе.

Пользователю (сотруднику предприятия) доступны два действия (рисунок 2.9) - идентификация (процесс опознавания субъекта по присущему ему или присвоенному ему идентификационному признаку) и аутентификация (процесс опознавания субъекта путем сравнения введенных идентификационных данных с эталоном).

Рисунок 2.9 - Диаграмма вариантов использования системы для пользователя

Все пользователи, которые обладают правом доступа к охраняемому объекту, предварительно должны пройти идентификацию, должен быть создан ID-номер идентифицирующий пользователя. Затем, когда пользователь хочет получить доступ к охраняемому объекту, он проходит аутентификацию, т.е. подносит устройство, хранящее ID-номер к считывающему устройству. Если если id номера на сервере и хранящем устройстве совпадают, то пользователь получает доступ к объекту (на сервер отправляется сообщение о санкционированном доступе), в противном случае - в доступе будет отказано, и на сервер будет отправлено сообщение о несанкционированной попытке получения доступа к объекту.

Оператор имеет доступ к настройке и управлению оборудованием, просмотру текущих событий системы, управлению списком объектов доступа, просмотру архива, а также получению отчетов (рисунок 3.28).

Рисунок 2.10 - Диаграмма вариантов использования системы для оператора

Настройка и управление оборудованием (рисунок 2.11) подразумевает под собой возможность оператора выполнять следующие действия:

- добавление новой точки доступа (ТД); точка доступа - это место, где осуществляется контроль доступа, в разрабатываемой системе в качестве ТД выступают только двери;

- удаление существующих ТД;

- оценка качества связи с микроконтроллером;

- ручное управление точками доступа (возможна установка трех режимов работы - нормального, заблокированного и разблокированного);

- настройка ТД (установка IP-адреса);

- управление микроконтроллером (получение технической информации о МК, просмотр и регистрация или удаление персонала на выбранной ТД).

Рисунок 2.11 - Диаграмма вариантов использования настройки и управления оборудованием

Просмотр событий системы (рисунок 2.12) заключается в том, что оператор может выбрать интересующие его точки доступа (одну, несколько, либо же все), настроить фильтр событий системы (например, показывать только события по зарегистрированных попытках несанкционированного доступа) и получить доступ к последним подобным событиям, имевшим место на данных точках доступа. Также, оператор может просмотреть учетные карточки пользователей.

Рисунок 2.12 - Диаграмма вариантов использования просмотра событий системы

События системы - это разрешённые или запрещённые попытки прохода через точку доступа, а также факты изменения (потери или появления) связи с контроллерами.

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

Все зарегистрированные события хранятся в энергонезависимой памяти контроллера и автоматически передаются на сервер СКУД при наличии связи.

Таким образом, в базе данных сервера хранятся все события СКУД, по которым можно получать отчёты за заданные промежутки времени.

Система хранит всю информацию о зарегистрированных ею событиях, начиная с момента её первого запуска, без временных ограничений. Количество событий в системе - неограниченно.

Управление списком объектов доступа (рисунок 2.13) заключается в том, что оператор может добавить либо удалить отдел предприятия, и доступна возможность редактирования данных учетных карточек пользователей. Присутствует также возможность поиска по списку объектов доступа (пользователей системы).

Рисунок 2.13 - Диаграмма вариантов использования управления списком объектов доступа

Просмотр архива (рисунок 2.14) заключается в том, что оператор имеет доступ к архиву абсолютно всех событий системы. Присутствует возможность использования фильтра событий (состоявшиеся проходы, проходы, санкционированные оператором, запрещенные проходы и взломы). Оператор также может просмотреть информацию о пользователях системы.

Рисунок 2.14 - Диаграмма вариантов использования просмотра архива

Получение отчетов (рисунок 2.15) подразумевает то, что оператор может, предварительно настроив нужные параметры и выбрав тип отчета, получить полный список интересующих его событий или данных.

Рисунок 2.15 - Диаграмма вариантов использования получения отчетов

При выполнении любых действий оператора фиксируется компьютер, на котором производились эти действия, время, объект над которым выполнялось действие, оператор их производивший. Таким образом, фиксируются все изменения в таблицах баз данных, команды управления аппаратурой, постановка и снятие с охраны, подтверждение тревог и другие действия операторов.

Выбор СУБД для хранения данных

Выбор системы управления баз данных (СУБД) представляет собой сложную многопараметрическую задачу и является одним из важных этапов при разработке приложений баз данных. Выбранный программный продукт должен удовлетворять как текущим, так и будущим потребностям, при этом следует учитывать финансовые затраты на приобретение необходимого оборудования, самой системы, разработку необходимого программного обеспечения на ее основе, а также обучение персонала. Кроме того, необходимо убедиться, что новая СУБД способна принести реальные выгоды.

Из перечня требований к СУБД можно выделить несколько групп критериев:

­ моделирование данных;

­ особенности архитектуры и функциональные возможности;

­ контроль работы системы;

­ особенности разработки приложений;

­ производительность;

­ надежность;

­ требования к рабочей среде.

В таблице 2.3 приведены основные преимущества и недостатки трех наиболее популярных open-source СУБД - PostgreSQL, MySQL и FirebirdSQL.

Таблица 2.1 - Преимущества и недостатки различных СУБД

СУБД для хранения данных

MySQL

PostgreSQL

FirebirdSQL

Преимущества

- быстродействие;

- безопасность и надежность;

- отсутств. высоких требований к аппаратным ресурсам;

- переносимость.

- поддержка БД практически неограниченного размера;

- мощные и надёжные механизмы транзакций и репликации;

- наследование;

- легкая расширяемость.

- многоверсионная архитектура;

- компактность (дистрибутив 5Mb);

- высокая эффективн. и мощная языковая поддержка для хранимых процедур и триггеров.

Недостатки

- отсутствие транзакций и триггеров;

- отсутствуют хранимые процедуры и вложенные запросы;

- нет поддержки инструкции UNION;

- отсутствие каскадного обновления данных.

- относительная сложность инсталляции;

- неверная работа окружения PostgreSQL;

- отсутствие полной поддержки языков программирования VB и С#;

- отсутствие Intellisense при программиров.

- отсутствие кеша результатов запросов;

- отсутствие полнотекстовых индексов.

Каждая база данных имеет свои особенности и отличия. Но так как для разрабатываемой системы необходимо быстрое хранилище для простых запросов с минимальной настройкой, то в качестве СУБД для хранения данных будет использоваться СУБД MySQL.

Разработка классов-сущностей

При разработке системы, было принято решение использовать ORM. ORM (аббревиатура от Object Relational Mapping- Объектно-реляционная проекция)- технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». Суть проблемы, которая решается с помощью ORM-слоя, заключается в необходимости преобразования объектных структур в памяти приложения в форму, удобную для сохранения в реляционных базах данных, а также для решения обратной задачи - развертывания реляционной модели в объектную, с сохранением свойств объектов и отношений между ними.

JPA - это технология, обеспечивающая объектно-реляционное отображение простых JAVA объектов и предоставляющая API для сохранения, получения и управления такими объектами.

JPA - это спецификация (документ, утвержденный как стандарт, описывающий все аспекты технологии), часть EJB3 спецификации.

Сам JPA не умеет ни сохранять, ни управлять объектами. JPA определяет интерфейсы, которые должны будут быть реализованы провайдерами. JPA определяет правила о том, как должны описываться метаданные отображения и о том, как должны работать провайдеры. Дальше, каждый провайдер, реализуя JPA, определяет получение, сохранение и управление объектами. У каждого провайдера реализация разная.

При выборе ORM не возникло особых проблем, так как в проекте используется синтаксис лишь JPA, без дополнений уникальных функциональностей различных библиотек ORM, поэтому была выбрана библиотека «Hibernate ». Стоит отметить, что можно подключить любую другую ORM библиотеку, без внесения изменений в классы-сущности. Было разработано ряд сущностей, которые рассмотрим ниже.

«Уровень доступа»- Данную сущность будет создано для ограничения или же разрешения доступа тому или иному сотруднику в различные помещения.

«Группа сотрудников»- сущность будет служить для объединения сотрудников с одинаковыми правами доступа в одно подмножество. Чаще всего персонал из одного и того же отдела и с одной и той же должностью владеют одинаковым уровнем доступа, для объединения персонала с одним и тем же уровнем доступа будет создана данная сущность.

«Рабочие места»- сущность указывающая в какие комнаты сможет входить сотрудник, владея определенными правами доступа. Эта сущность необходима, так как, прежде чем пустить сотрудника в помещение, необходимо знать, имеет ли он на это право.

«Пользователь»- рабочий персонал. Данная сущность хранит персональные данные каждого работника компании, такие как Ф.И.О., дата рождения или должность.

«Пропущено по болезни»- для учета дней, проведенных сотрудниками на больничном. С помощью данной сущности система может точно подсчитать какую сумму заработной платы стоит начислить сотрудникам, с учетом больничных дней.

«Реальная зарплата»- сума заработанных денег за месяц, с учетом больничных, премиальных и штрафных.

«Переходы»- сущность для контроля и хранения всех переходов персонала из одного помещения в другое. Содержит информацию о времени входа в помещении, о месте от куда совершен переход. Если сотрудник впервые за день вошел в данную комнату, то в поле «от куда» будет храниться 0. Таким образом, можно отследить, куда в первую очередь ходил сотрудник. Так же сущность хранит данные о проведенном времени в том или ином помещении.

«Комната»- хранит номер комнаты и требуемый уровень доступа, для совершения положительного перехода.

«Этаж»- служит для хранения номера этажа и пути к SVG файлу (векторный рисунок), на котором изображен план помещения этажа.

«Здание»- сущность на случай, если офис расположен на территории более чем 1-го здания. Хранит номер здания,адрес по которому оно расположено и файл SVG, на котором размещено схематическое изображение здания.

Алгоритмы учета доступа к помещениям

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

Сначала рассмотрим алгоритм учета входа в помещение. При совершении входа в помещение, система создает объект класса Transition(переход) и в локальную переменную tempId заносятся данные с карточки, а именно Id пользователя, которые считываются устройством чтения. Далее производится поиск данного пользователя в системе по его ID, если пользователь не найден, то в поля класса Transition, «isAccessPermitted» заносятся данные булевого типа «false», а в поле «reason»- «nu»(No User), после чего происходит завершение метода и возврат false. В противном случае, то есть в случае если пользователь с имеющимся ID присутствует в системе происходит запись в поля класса «toRoom» заносятся соответственные данные -номер комнаты, в которую совершаем переход, «timeIn» -время вхождения в комнату. После чего система проверяет имеет ли право сотрудник войти в данное помещение, если работник не обладает таким правом, то система заносит в поля класса «isAccessPermitted» данные булевого типа «false», а в поле «reason»- «na»(No Access) и завершает метод с возвратом false. В случае положительного результата проверки система заносит данные в поля «isAccessPermitted» булевого типа «true», а в поле «reason»- «ok»(и завершает метод возвращая true.

Второй алгоритм, который будет представлен ниже, обеспечивает учет выхода из помещения. При совершении выхода система производит поиск уже совершенного входа в комнату, требуемым сотрудником. В случае возвращения результата null методом поиска, метод выхода завершается возвращая false. В ином случае в поля объекта(объект передается методом findTransition) найденной транзакции заносятся данные, а именно в поле timeout заносится время выхода а в поле «spendtime» вводится число времени проведенное в помещении.

Выбор встраиваемой операционной системы (ОС) и языков программирования

На сегодняшний день наиболее популярными встраиваемыми операционными системами являются Embedded Linux и Windows Embedet compact.

Windows Embedded Compact 7 (известная ранее как Windows Embedded CE 7.0) -- седьмая версия операционной системы реального времени Windows Embedded CE, развивающейся отдельно от семейства Windows NT, и ориентированной на предприятия, изготавливающие промышленные контроллеры и устройства бытовой электроники. Windows Embedded Compact может работать на различных микропроцессорных архитектурах и поддерживает x86, SuperH и ARM.

Windows Embedded Compact 7- это компонентная, многозадачная, многопоточная, многоплатформенная операционная система с поддержкой реального времени. Разработчикам доступны около 600 компонентов, используя которые они могут создавать собственные образы операционной системы, которые включает только необходимый данному конкретному устройству функционал.

Windows CE предоставляет разработчикам приложений набор API, основанный на стандартном Win32 API и дополненный специализированным API для встраиваемых устройств. Поскольку CE поддерживает только часть Win32 API и имеет определённую специфику, связанную со встраиваемой природой операционной системы, приложения, написанные для настольных версий операционной системы Windows, могут потребовать дополнительной адаптации и модификации для запуска их на встраиваемых устройствах; и в любом случае, для запуска программ на устройстве потребуется их перекомпиляция.

Но так же, как и настольные версии Windows, Windows CE использует стандартный формат исполняемого файла -- Portable Executable (PE). Это позволяет разработчикам использовать большинство стандартных утилит, работающих с форматом PE, например Dependency Walker (проверка зависимостей) или DumpBin.

На базе Windows CE основано множество платформ, включая Handheld PC, Palm-size PC, Pocket PC, Windows Mobile, Meizu OS, а также множество промышленных устройств и встроенных систем.

Под Embedded Linux имеются в виду различные варианты ОС, в основе которых лежит ядро Linux, сконфигурированное для заданной аппаратной платформы, а также свободное программное обеспечение GNU: компилятор gcc, библиотека GNU libc и другие программные компоненты, выпускаемые под одной из открытых лицензий. Embedded Linux активно используется в проектах, связанных с разработкой отладочных плат и пакетов поддержки (BSP), программно-аппаратных комплексов на базе современных процессоров ARM, Blackfin, AVR32, MIPS, PowerPC.

Преимущества Embedded Linux перед Windows CE:

­ распространяется вместе с исходными кодами;

­ кроссплатформенность;

­ большое количество наборов разработчика;

­ бесплатная;

­ обширное количество материалов по использованию;

­ использование ядра Linux позволяет освободиться от написания драйверов для разного рода периферии.

В качестве встраиваемой ОС, в разрабатываемой системе будет использоваться Embedded Linux, исходя из преимуществ Linux, но пожеланию можно использовать и Windows, что никак не повлияет на работу системы в общем.

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

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

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

Основные преимущества Си перед ассемблером:

­ высокая скорость разработки программ;

­ универсальность, не требующая досконального изучения архитектуры микроконтроллера;

­ лучшая документируемость и читаемость алгоритма; наличие библиотек функций;

­ поддержка вычислений с плавающей точкой.

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

Проанализировав основные особенности языков программирования Си и ассемблера, выбор был остановлен на Си.

Для разработки серверной части было принято решение использовать язык высокого уровня, а именно объектно-ориентированный язык программирования. На рассмотрение было предложено два языка программирования, удовлетворяющие условия(объектно-ориентированные, с синтаксисом, унаследованным от C):

­ C#,Разработан группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft.NET Framework

­ Java, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной архитектуры.

Решено использовать, в качестве языка разработки серверной части- Java, который, в отличии от C#, является межплатформенным.

Для создания web-интерфейса будет использоваться библиотека Vaadin.

Vaadin - это платформа веб-приложений с открытым исходным кодом для создания полнофункциональных интернет-приложений. В противоположность библиотекам JavaScript и решениям на основе браузеров/подключаемых модулей, в ее состав входит архитектура на стороне сервера, что означает выполнение большей части программной логики на серверах. Технология AJAX используется на стороне браузера для обеспечения функционально насыщенного и интерактивного интерфейса пользователя. На стороне клиента Vaadin строится на основе GWT и может быть расширена с ее помощью.

Основным элементом Vaadin является библиотека Java, рассчитанная на упрощение создания и обслуживания высококачественных веб-интерфейсов пользователей. Основная идея сервероцентричной модели программирования Vaadin состоит в том, что она позволяет забыть о сети и программировать интерфейсы пользователей точно так же, как мы программируем все настольные приложения Java, то есть с помощью обычных наборов средств, таких как AWT, Swing или SWT - только еще проще. Сервероцентричная модель программирования позволяет Vaadin взять на себя управление пользовательским интерфейсом в браузере и связь AJAX между браузером и сервером. Подход Vaadin позволяет не тратить силы на изучение и отладку технологий на стороне браузеров, таких как HTML или JavaScript.

Библиотека Vaadin четко отделяет представление пользовательского интерфейса от логики и позволяет разрабатывать их по отдельности. Подход Vaadin состоит в использовании тем, определяющих внешний вид приложений. Темы контролируют внешний вид интерфейсов пользователей посредством шаблонов CSS и (при желании) HTML. Vaadin предоставляет темы по умолчанию, но при необходимости можно создавать свои собственные. В серверной части Vaadin используется Google Web Toolkit (GWT) для визуализации интерфейса пользователя в браузере. Программы GWT пишутся на Java, но компилируются в JavaScript. GWT идеально подходит для реализации дополнительных компонентов интерфейса пользователя (или компонентов оформления окна, по терминологии GWT) и логики взаимодействия в браузере, тогда как Vaadin обрабатывает логику самого приложения на сервере. Платформа Vaadin разработана с расчетом на расширяемость и позволяет легко использовать любые компоненты GWT от сторонних производителей в дополнение к компонентам, предлагаемым в Vaadin. Использование GWT также означает, кто весь необходимый код пишется исключительно на Java.

Возможности Vaadin:

­ Использование Java как едиого языка программирования при создании веб-приложений и веб-контента -- одна из наиболее значимых функций в Vaadin. Фреймворкиспользует событийную модель и определенные элементы пользовательского интерфейса, виджеты, что делает её очень близкой к модели разработки десктоп-приложений на Java с использованием HTML и Javascript

­ Организация модели данных и виджетов позволяет отображать в браузере большие объёмы данных без значительной загрузки памяти и без дополнительных действий со стороныразработчика.

­ Использование Google Web Toolkit для отображения страниц с результатами поиска и обработки действий пользователя (наподобие терминального клиента). Так как Google Web Toolkit функционирует только на стороне клиента, Vaadin добавляет дополнительную валидацию данных на стороне сервера: это решает проблемы безопасности, связанные с возможностью подмены данных или кода Javascript. Соответственно, при изменении и повреждении данных, поступающих от браузера, сервер, определив это, не пропускает запросы.

­ Возможность расширения стандартного набора виджетов Vaadin за счет других виджетов, написанных для GWT, а также кастомизации его при помощи CSS. Однако стандартное приложение, создаваемое на Vaadin, не требует программирования именно на GWT и последующей компиляции GWT-компилятором, если только разработчик не добавляет в проект нестандартные виджеты.

Диаграммы классов

Во время проектирования системы были созданы диаграммы классов, для упрощения понимания «логики» системы. Рассмотрим набор классов, при помощи которых обеспечивается обмен данными между системой и базой данных.

В верху находиться интерфейс IID, который расширяют все классы сущности. Он создан для упрощения восприятия кода программы. Для того что бы не представлять все классы в виде AbstractClass<ClassName, ID>, с помощью данного интерфейса, мы представляем классы как AbstractClass<ClassName>. Рассмотрим каждую сущность по отдельности. Класс «AccessLevel» существует для хранения уровня доступа к тому или иному объекту для каждой группы персонала. Класс «GroupWorker» необходим для объединения персонала в некое множество, по различным принципам, для обеспечения прав доступа. «WorkBench» хранит данные о том, в каких помещениях трудиться тот или иной сотрудник, на предприятии. Это необходимо для того что бы корректно подсчитать время проведенное на рабочем месте. На пример, сотрудник IT отдела имеет право посещать помещение своего отдела, серверную, столовую и кабинет отдела маркетинга, но в столовой и в отделе маркетинга- он не проводит никаких полезных работ для предприятия, соответственно проведенное время на этих местах -не считается за время проведенное на работе. В случае отсутствия какого либо из помещений в данном списке- указывает на то что соответственная группа пользователей не имеет права доступа к помещению. Класс «RealSalary», хранит информацию о заработной плате за месяц, с учетом больничных, штрафных или же премиальных. Класс «MissByIll» для ведения учета о больничных каждого сотрудника, эта информация необходима, для корректного подсчета заработной платы,за месяц.

Класс «User» служит для хранения и верификации персональной информации о сотрудниках предприятия. Используя эти данные система принимает решение относительно разрешения доступа в помещение. Если сотрудника с данным ID не существует в базе данных, то система запретит доступ к любому помещению.«Transition» необходим для учета информации о переходах совершенных рабочим персоналом. На основе данной информации строится список переходов определенного сотрудника, высчитывается время проведенное на рабочем месте и расчет заработной платы, а так же основываясь данной информацией можно узнать где находиться работник в данный момент.

Ниже представлена диаграмма классов бизнес логики системы контроля и управления доступом. Класс «Index» выступает в роли главной страницы системы, он создает объект класса в котором инициализируются все необходимые компоненты размещенные на главной странице и производится разметка страницы. Так же класс «Index»отвечает за вызов всех форм, внутри которых размещена вся необходимая информация для управления системой, на пример форма «User» отображает список всех пользователей с возможность фильтровать список по различным критериям. На форме «Stage» отображен план этажа, кликнув на нужную комнату на плане помещения открывается список всех сотрудников находящихся в данной комнате в данный момент. Так же можно найти определенного пользователя на плане помещения задав его id или же Фамилию и инициалы.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.