Система видеоконтроля кассовых операций

Общая информация

Система разрабатывалась для возможности работы с недорогими IP-камерами и предназначена для интеграции результатов видеонаблюдения в стандартный модуль отчетов R-Keeper v6

Примечание: Руководство пользователя по использованию системы видеоконтроля можно взять по данной ссылке VideoControl_UserGuide.doc

Ниже изображена схема работы системы:

Состав системы

Система состоит из программного обеспечения, разработанного компанией ЮСиэС и аппаратного обеспечения сторонних компаний.

 

Аппаратное обеспечение

В качестве камер видеонаблюдения могут использоваться стандартные интернет-камеры (IP-камеры). Тестирование проводилось с моделью D-Link DCS-2102 , но можно использовать и другие модели D-Link с аналогичным APIi. В дальнейшем перечень поддерживаемых камер будет расширятся.

Основные требуемые характеристики камеры:

  • поддержка SMВ-протокола (возможность работы в качестве Samba-клиента) - требуется для записи видеофрагментов на сетевой ресурс
  • поддержка FTP-протокола для хранения снимков (snapshots)
  • возможность записывать видеофрагменты с периодом в одну минуту. При этом в имени файла должны быть указаны дата и время *
  • поддержка NTP-протокола (или SNTP) для синхронизации времени
  • поддержка DNS (прямой и обратный) **
  • поддержка DDNS-клиента, если камеры будут работать с динамическими IP-адресами

* - на данный момент формат времени и даты должен соотв. формату, используемому камерами D-Link
** - особенность модели D-Link DCS-2102 для возможности синхронизации времени по протоколу NTP

Для обеспечения более высокой надежности и автономности работы системы видеонаблюдения, рекомендуется использовать внешнее хранилище данных. Например, сетевой дисковый накопитель D-Link DNS-313 (жесткий диск 3,5" приобретается отдельно). В общем случае записанные видеофрагменты могут хранится на любом сетевом ресурсе - дальнейшее описание предполагает, что сетевой ресурс подключен и доступен на диске Z:\

 

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

  • СУБД Firebird версии 2.1 и выше
  • Набор кодеков для возможности просмотра видео (как правило, поставляется в комплекте с камерой, но можно использовать наборы типа K-Lite)
  • Специальный сервер AppUdpVideoSrv.exe для обработки информации от кассовых станций (передача тегов и xml-пакетов) и дальнейшей записи в базу данных
  • Модуль управления системой видеоконтроля VideoControl.exe
  • Модуль просмотра видео в реальном времени RealVideoControl.exe
  • Утилита ScanVideo.exe для сканирования видеофрагментов и создания служебных записей в базе данных
  • Кассовое ПО R-Keeper v6 версии 6.95 и выше
  • Модуль "Отчеты" версии 6.90 (и выше) для возможности отображения видеофрагментов непосредственно из режима просмотра чека (или списка чеков)

Комплект ПО находится на фтп-сервере в директории /dealers/VideoControl

Лицензирование ПО

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

Примечание: На данный момент лицензия на ПО не учитывает кол-во установленных камер, но в дальнейшем принцип лицензирования изменится и будет зависеть от кол-ва используемых камер.

Установка и настройка системы

Синхронизация времени

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

  • камеры видеонаблюдения
  • хранилище данных (если используется несколько, то для всех)
  • сервер базы данных
  • компьютер с запущенным сервисом AppUdpVideoSrv.exe

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

Примечание: Как видно из требований синхронизации, в них отсутствует кассовая станция. Связано это с тем, что временные метки для тегов, приходящих от кассы, устанавливает сервис AppUdpVideoSrv.exe - таким образом сохраняется целостность информации, не зависимо от даты и времени на кассовой станции.
Самый простой и надежный вариант синхронизации - использование сервера времени. В качестве такого сервера может выступать как внешний (гловабльный) ресурс, так и внутренний локальный. В интернете достаточно информации по использованию серверов времени, например статья по настройке сервера времени в Windows XP на сайте Microsoft (http://support.microsoft.com/kb/314054)

Установка сторонних компонентов

Для корректной работы системы необходимо установить дополнительные компоненты. Для этого перейдите в директорию дистрибутива \InstallPlugins и запустите Install.bat.

Примечание
: Для установки доп. компонент требуются права администратора.

Установка СУБД Firebird

Перед установкой остальных приложений необходимо инсталлировать СУБД Firebird. Для этого скачиваем с сайта http://www.firebirdsql.org/ текущую версию (на момент написания статьи 2.1.2) и установливаем сервер в желаемой конфигурации. Дальнейшее описание предполагает, что Firebird установлен и работает корректно.

Примечание: В последних версия Firebird (2.1 и выше) клиентская библиотка gds32.dll переименована в fbclient.dll. Для совсестимости приложений скопируйте библиотеку fbclient.dll в директорию SYSTEM32 (для 32-битных ОС) и переименуйте в gds32.dll


 

Настройка подключения к базе данных

Все приложения системы видеоконтроля подключаются к СУБД посредством библиотеки dbexpint.dll, которая в свою очередь использует конфигурационный файл sqlconn.pms для получения параметров подключения.

Ниже указаны основные параметры sqlconn.pms , остальные не рекомендуется изменять без необходимости:

DriverName=Interbase
Database=127.0.0.1:c:\ucs\videocontrol\data\videostorage.fdb   -  путь к базе данных, может быть как локальным, так и сетевым
.................
User_Name=sysdba   - имя пользователя БД (по-умолчанию SYSDBA)
Password=masterkey - пароль пользователя БД (по-умолчанию masterkey)
.................
SQLDialect=3       - важно, не менять!
.................

Важно: Настроенный файл sqlconn.pms необходимо скопировать в каждую рабочую директорию, откуда запускаются отдельные модули системы.

Настройка UDP-сервера

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

ВАЖНО: Для каждого отдельного ресторана (с различными кодами в SYSTEM.DB) требуется своя копия запущенного сервиса AppUdpVideoSrv.exe

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

Если предварительно не были настроены вручную конфигурационные файлы, при первом запуске AppUdpVideoSrv.exe будет показано окно, в котором требуется заполнить следующие параметры:

  • "Ключ" - лицензионный ключ
  • "Порт" - порт для входящий соединений.
  • "Путь" - путь к директории, где будут формироваться xml-файлы и тэги, полученные от кассовой системы
  • "DB" - путь к накопительной базе данных, в которой будет храниться вся служебная информация
  • "Пользователь" и "Пароль" - соотв. пользователь и пароль для подключения к базе данных
  • В нижнем тектовом поле необходимо ввести значения хостов, на которые будет рассылаться информация по кассовым операциям (титры). Для каждого хоста нужно вводить значение на отдельной строке, формат описан ниже в разделе ручной настройки hosts.txt

Примечание: В накопительной базе данных не храняться видеофайлы, а только ссылки на них!

Ручная настройка состоит из редактирования 3-х файлов: AppUdpVideoSrv.ini, hosts.txt и sqlconn.pms

AppUdpVideoSrv.ini:

[Main]
KeyID=600966724 - лицензионный ключ Path=c:\UCS\VideoControl\Storage\xml\ - путь к директории для формирования xml-файлов и тегов Port=19123 - входящий порт для получения данных с кассовой системы

hosts.txt:

В файле hosts.txt определяются хосты, на которые AppUdpVideoSrv будет отправлять служебную информацию (титры). Каждая строка файла должна содержать информацию следующего вида:

: (например, 198.154.196.169:19223)

где

 - адрес компьютера с запущенным приложением-хостом (в данном случае приложение-хост это VideoControl.exe и/или RealVideoControl.exe)
     - порт для входящих соединений приложения-хоста (см. описание RealVideoControl.ini)

Таким образом, в файле hosts.txt должно быть прописано кол-во строк, соотв. кол-ву различных копий запущенных приложений-хостов (VideoControl.exe, RealVideoControl.exe и т.д.). В данном случае копии приложения считаются различными, если уникальна комбинация +

sqlconn.pms:

Файл параметров подключения описан выше

 

Настройка приложения VideoControl.exe

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

Примечание: Работа с видеоархивом базируется на служебных данных из накопительной базы VIDEOSTORAGE.FDB

Доступ в приложение защищен паролем - в чистой базе по-умолчанию существует единственный пользователь USER с паролем 1234567890 и административными правами:

 

Настройка групп

Понятие "Группа" предназначено для логического объединения станций и камер в пределах одного ресторана (точнее в пределах одного кода ресторана).

Для добавления новой группы или редактирования существующей, перейдите в меню "Видеонаблюдение" -> "Группы".

Примечание: Для добавления или удаления элемента справочника системы используется соотв. кнопка "+" или "-" на панели инструментов.

Для создания группы необходимо задать ее наименование (может быть произвольным) и заполнить основные параметры:

В поле "Ключ" вводится лицензионный ключ для данного ресторана (кода ресторана), в поле "Код" - полный код ресторана. Опция "Главная группа" определяет для группы статус основной и позволяет во всех режимах просмотра помечать данную группу в качестве активной.

Важно: Лицензионный ключ и код ресторана, указанные в настройках группы, должны соответствовать реальному коду ресторана, указанному в SYSTEM.DB кассового сервера. Приложение VideoControl не выполняет проверку ключа и кода, но при несоответствии этих данных пакеты с кассовых станций не будут декодироваться. Ключ дешифрования привязан к коду ресторана и для каждого ресторана приобретается отдельно!

Для дальнейшего заполнения параметров группы необходимо предварительно заполнить словари "Станции" и "Камеры"

 

Настройка станций

Для добавления и настройки станций выберите пункт меню "Видеонаблюдение" -> "Станции"

Для добавления новой станции заполните ее название и укажите код. Код - это цифровой идентификатор станции, который соответствует номеру станции, указанному в системе R-Keeper

Важно: Если код станции в R-Keeper имеет значение меньше 10 (01, 02 .... 09), значение поля "Код" необходимо указывать без ведущего нуля (1, 2 ... 9)!

 

Настройка видеокамер

Для добавления и настройки видеокамер выберите пункт меню "Видеонаблюдение" -> "Видеокамеры".

Для добавления новой видеокамеры введите ее название и заполните остальные параметры:

 

  • "Путь " - полный путь к директории, где храняться видеофайлы данной камерв
  • "Логин" - имя пользователя для удаленного подключения к камере (определяется в собственных настройках конкретной IP-камеры)
  • "Пароль" - пароль пользователя
  • "IP" - IP-адрес камеры (определяется в собственных настройках конкретной IP-камеры)
  • "Порт" - порт для удаленного подключения к камере (определяется в собственных настройках конкретной IP-камеры)
  • "URL" - специальный адрес для просмотра видео с камеры по протоколу RTSP (необязательный параметр)

Окончательная настройка групп

После того, как заполнен словарь станций и камер, можно перейти к окончательной настройке групп. Для этого перейдите в меню "Видеонаблюдение" -> "Группы".

Далее в правом нижнем углу выберите существующие в системе станции и укажите соотв. им камеры:

Настройка сканера видеофайлов ScanVideo.exe

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

Для установки программы скопируйте директорию ScanVideo на диск, например в C:\UCS\VideoControl\ScanVideo

Содержимое директории ScanVideo:

- dbexpint.dll  - драйвер Borland для работы с базой Interbase/Firebird
- ScanVideo.exe - основное приложение 
- scanvideo.ini - конфигурационный файл приложения  

Настройка файл scanvideo.ini :

[Main]

PathMask="Z:\video\*" - полный путь или маска к директории, которую необходимо сканировать Database="C:\UCS\VideoControl\Db\VIDEOSTORAGE.FDB" - путь к накопительной базе данных Role_Name=SYSDBA - роль пользователя для подключения к базе данных User_Name=SYSDBA - имя пользователя для подключения к базе данных Password=masterkey - пароль пользователя дл подключения к базе данных FilterDay="29.10.2009" - фильтр для сканирования только определенной даты. Используется для тестовых целей EnableFilterDay=0 - включение фильтра для сканирования по дням FormatDateTimeFile="yyyymmdd_hhnn" - фильтр для сканирования файлов определенного формата EnableDetailLog=0 - включение расщиренного журнала работы приложения CriticalDeltaDay = 30 - кол-во дней, по истечении которых видеофайл считается устаревшим и подлежит удалению EnableHardDelDir = 1 - "жесткое" удаление(1) файлов или директорий, даже если они заняты другимии приложениями или процессами

Для того, чтобы видеофайлы обрабатывались постоянно, можно создать задание в планировщике Windows для автоматического запуска ScanVideo.exe с необходимой периодичностью. Достаточно просканировать файлы несколько раз в день либо непосредственно перед закрытием кассового дня, т.к. служебная информация требуется для просмотра видео из модуля "Отчеты".

Настройка кассовой станции

Для передачи служебных данных с кассы, необходимо скопировать в корень RKCLIENT библиотеку VIDEOUDP.DLL и в RKEEPER6.INI прописать клиентский параметр VideoIP с указанием IP-адреса компьютера, на котором запущен сервис AppUdpVideoSrv.exe (либо VideoCamera.exe - см. ниже):

VideoIP=192.168.0.1

Важно: Кассовая часть R-Keeper v6 передает служебную информацию следующим образом - теги формируются и передаются кассовым сервером, а XML-пакеты - кассовым клиентом. Таким образом, при использовании выделенного NT-сервера необходимо прописать параметр VideoIP в конфигурационном файле RKEEPER6.INI сервера!

Примечание: На данный момент для передачи данных может использоваться только сетевой клиент с поддержкой Novell TCP/IPi - в дальнейшем будет реализована поддержка стека MS TCP/IP

Настройка модуля "Отчеты"

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

Важно: Для возможности просмотра видеофрагментов в модуле "Отчеты" требуется отдельное право - для его установки необходимо изменить конфигурацию с помощью DealRK.exe, затем в "Диспечере" дать право соотв. пользователям.

Для настройки модуля отчетов необходимо в директорию RK6 cкопировать файлы из дистрибутива \Offline:

- borlndmm.dll
- dbexpint.dll
- getvideoview.dll
- getvideoview.ini
- midas.dll
- sqlconn.pms
- VideoArchive.exe
- vlcax.exe
- vlcax.ini

1. Настройка файла sqlconn.pms описана выше

2. Содержимое файла getvideoview.ini:

[Main]
Position=-5 - определяет время смещения (в секундах) для отображаемого в отчетах видеофрагмента. Mode=0 - режим отладки (1 - да, 0 - нет) ExtVideo=1 - использовать внешний модуль (1 - да, 0 - нет)

Режим отладки (Mode = 1) позволяет отображать некоторую сервисную информацию при запросе данных о видеофрагменте из модуля "Отчеты".

Параметр ExtVideo определяет, каким образом будет отображаться видеофайл - с помощью getvideoview.dll либо внешним приложением VideoArchive.exe

Примечение: Модуль VideoArchive.exe нельзя запустить как самостоятельное приложение

Настройка приложения RealVideoControl.exe (архив)

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

Примечение: В дальнейшем развитие этого приложения будет зависить от потребностей пользователей - на данный момент модуль не дорабатывается, т.к. все его функнции реализованы в VideoControl.exe

Для установки приложения скопируйте директорию RealVideo на диск, например в C:\UCS\VideoControl\RealVideo

Содержимое каталога RealVideo:

- config.ini           - основной конфигурационный файл для параметров различных ресторанов
- cconf1.ini
  .........            - конфигурационные файлы конкретных ресторанов
- cconfN.ini
- dbexpint.dll         - драйвер Borland для работы с базой Interbase/Firebird
- DcsCliCtrl.dll       - библиотека стороннего разработчика для работы с IP-камерами
- DcsSensor.dll        - библиотека стороннего разработчика для работы с IP-камерами
- defclass.dll         - вспомогательная библиотека для обработки скриптов (Script.pp)
- getvideoview.dll     - вспомогательная библиотека для просмотра видео из внешних приложений
- install.bat          - пакетный файл для регистрации компонентов
- midas.dll            - Borland MIDAS Component Package
- RealVideoControl.exe - основное приложения
- RealVideoControl.ini - конфигурационный файл приложения
- Script.pp            - скрипт-шаблон для вывода тесктовой информации по кассовым операциям (титров)
- sqlconn.pms          - специальный конфигурационный файл для подключения к базе данных, используемый библиотекой dbexpint.dll
- start.bat            - пакетный файл для запуска VideoCamera.exe в особом режиме
- VideoViewDD.exe      - специальное приложение для просмотра видео из внешних программ.
- vvconfig.ini         - конфигурационный файл приложения VideoViewDD.exe

1. В первую очередь необходимо зарегистрировать компоненты сторонних разработчиков - для этого запускаем пакетый файл install.bat:

regsvr32 DcsCliCtrl.dll
regsvr32 DcsSensor.dll
regsvr32 midas.dll

Примечание: для регистрации компонентов требуются административные права

2. Далее настраиваем файл sqlconn.pms для подключения к базе данных (указаны только основные параметры, остальные не изменять без необходимости):

DriverName=Interbase
Database=198.154.196.169:c:\ucs\videocontrol\db\videostorage.fdb   -  путь к базе данных, может быть как локальным, так и сетевым
.................
User_Name=sysdba   - имя пользователя БД
Password=masterkey - пароль пользователя БД
.................
SQLDialect=3       - важно, не менять!
.................

3. Далее настраиваем конфигурацию каждого конкретного ресторана.

Конфигурационные файлы могут называться произвольно, для примера будем именовать их в виде cconfN.ini.

В файле cconfN.ini должно содержаться столько секций [CameraX], сколько физических камер установлено в ресторане:

[Camera1]
...........
[Camera10]
...........

Рассмотрим параметры секции [CameraX]:

[Camera1]
RemoteHost = "192.168.0.20" - адрес камеры RemotePort = 80 - порт для удаленного подключения к камере Username = admin - имя пользователя для подклбчения к камере (задается в настройках камеры) Password = "ucs" - пароль для подключения к камере (задается в настройках камеры) Num=1 - номер кассовой станции (UNIT), которой соотв. камера

Примечание: Если не указать параметр Num (или указать не верно), приложение RealVideoControl.exe не будет обрабатывать данные

4.
Далее настраиваем основной конфигурационный файл

config.ini

В файле config.ini должно быть столько секций [RestoranX], сколько физических ресторанов будет обслуживать система видеонаблюдения

[Restoran1]
............ [Restoran10]
..........

Рассмотрим параметры секции [RestoranX]:

[Restoran1]
RCode="199999999"   - код ресторана
Name="Restoran1"    - название ресторана (для отображения в окне приложения)
Path=".\cconf1.ini" - путь к конфигурационному файлу ресторана (см. выше) - может быть как абсолютный, так и относительный
KeyID=600966724     - ключ для дешифрования данных. Предоставляется после приобретения лицензии - более подробно см. ниже

ВАЖНО: Ключ дешифрования привязан к коду ресторана и для каждого ресторана генерируется отдельно

Прикрепленный файлРазмер
VideoControl_UserGuide.doc 2.82 Мб

Добавить комментарий


Защитный код
Обновить

joomla