synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяSurveillance Station › Интеграция Surveillance Station с POS

Интеграция Surveillance Station с POS

Siroc-co · 29.06.2017

Ну вот появилась фишка, которая может добавлять в видеозапись текстовое отображение операций с кассовых аппаратов. Другими словами отображать что вы там купили. Мне, как любителю всяких "умных" домов сразу захотелось поковырять эту фитчу. Оно же может стать полезным, если получится подпихивать любую текстовую информацию в видеоряд. Примеров много можно привести, например подсовывать в видео информацию о температуре\влажности, Интегрировать со СКУД и отображать ФИО входящего, да мало ли чего... Начал ковырять приложение.

 

Открывается такое окно:

2j5w5mnFXWw.jpg

 

Как понял, программа ждёт данных. Я пробовал слать GET, POST, xml в произвольном формате. Чёт у меня ничего не получилось. Может кто в курсе, что нужно слать, как, какой вообще протокол, что программа вообще ожидает получить?

 

P.S. А раз уж написали такой модуль, который текст на видео накладывает, то можно в будущем легко добавить подобную штуку не только совместимую с POS, но и чтоб простыми запросами инфу можно было выводить, например с ардуины. Тем более что Synology что-то там заявляют о решениях для умного дома:

aVNrxPmfEoA.jpg

Надеюсь сделают.

xvss · 29.06.2017

-- тоже "имею интерес". Возможно, ув.Synology_support появится в теме и даст ссылку на протокол передачи данных.

Siroc-co · 29.06.2017

Вот, нашёл одно из описаний протокола какой-то системы. https://doc.axxonsoft.com/confluence/pages/...ageId=135468579

Походу, у каждого свой велосипед.

Пока не пробовал. Может кто быстрее меня изучит..

xvss · 29.06.2017

-- это для системы видеонаблюдения POS-Интеллект. Сам протокол не знаю (не програмер), но настраивать передачу данных с кассовой системы на POS-Интеллект приходилось. Потому и заинтересовался протоколом от Synology.

Siroc-co · 15.07.2017

Пойдём другим путём. С какими кассовыми аппаратами\системами совместима SS? Я этой инфы не нашёл. Кто что знает?

polanat · 17.07.2017
Пойдём другим путём. С какими кассовыми аппаратами\системами совместима SS? Я этой инфы не нашёл. Кто что знает?

Полагаю, что совместимость - на уровне софта, а не конкретной POS-железки

 

PS POS solutions

 

Video Surveillance Security System

Siroc-co · 19.07.2017

Блин. Оно по другому работает. Оно не вмешивается в видеоряд, не вставляется в видеофайл. Оно просто накладывается на видео в программе "Устройства операции", отображается поверх видео. Подобно субтитрам, которые можно отключать\включать. И, повидимому, увидеть это наложение можно только и только в SS с помощью утилиты "Устройства операции", и никак по другому. Это как видеоаналитика, она подсвечивает движение в кадре и траекторию, но это может только отображаться поверх видео и в него не пишется.

Так что интерес уже не тот, расходимся.

xvss · 19.07.2017
Оно по другому работает... Подобно субтитрам, которые можно отключать\включать.
-- спасибо за информацию. Нарыл описание или это результат экспериментов?

Но в любом случае, для того чтобы эти "субтитры" попали в SS от POS-системы, POS должна уметь их передать по определенному протоколу. Весь интерес - увидеть этот протокол.

 

Siroc-co · 19.07.2017
Нарыл описание или это результат экспериментов?

Мне объяснили, что почти все системы так работают. Сам же запусил это, на видео проскакивает слово "Отключено", и видно его только в приложении, а в самой видеозаписи ничего нет.

TheMightyOne · 19.07.2017
Пойдём другим путём. С какими кассовыми аппаратами\системами совместима SS? Я этой инфы не нашёл. Кто что знает?

 

Я предлагаю по-другому подойти к вопросу. Какие нужны? :)

xvss · 19.07.2017
Какие нужны?
-- хотя бы одна любая :) Другое дело, что пока не будет опубликован протокол, ни один разработчик POS не сможет интегрировать эту возможность в свой продукт. Могу предположить, что пока функционал в статусе беты, протокол предоставляется по отдельному запросу от разработчика POS. В принципе, подход понятен. Но с учетом того, что данный функционал может найти применение и в домашних условиях, хотелось бы все-таки увидеть описание протокола. Ну или как минимум - общее описание принципа передачи данных и схему взаимодействий внешней системы (как клиента) и SS (как сервера).

 

PS. ну а если текущая версия протокола распространяется на условиях NDA, хотя бы четкий ответ, что общедоступная публикация на данный момент не возможна. Тогда не будет и напрасных ожиданий :)

Siroc-co · 19.07.2017
Я предлагаю по-другому подойти к вопросу. Какие нужны? :)

Я вообще даю полную волю в этом вопросе, нужна любая на Ваш выбор, которая обладает русскоязычным описанием протокола(набора команд).

Siroc-co · 19.07.2017
-- хотя бы одна любая :) Другое дело, что пока не будет опубликован протокол, ни один разработчик POS не сможет интегрировать эту возможность в свой продукт. Могу предположить, что пока функционал в статусе беты, протокол предоставляется по отдельному запросу от разработчика POS. В принципе, подход понятен. Но с учетом того, что данный функционал может найти применение и в домашних условиях, хотелось бы все-таки увидеть описание протокола. Ну или как минимум - общее описание принципа передачи данных и схему взаимодействий внешней системы (как клиента) и SS (как сервера).

 

PS. ну а если текущая версия протокола распространяется на условиях NDA, хотя бы четкий ответ, что общедоступная публикация на данный момент не возможна. Тогда не будет и напрасных ожиданий :)

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

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

Можно дождаться рабочей версии,отладить всё, а потом попробовать на текущей версии, сто пудов не заработает.

xvss · 19.07.2017
..большинство таких штук ждут набор текста в .xml формате. Шлём xml и он отображается.
-- и да и нет. Формат xml предполагает использование тэгов. На примере протокола POS-Интеллект (по твоей ссылке вверху):

Вход кассира

<TransactionBlock>
                <FunctionNumber>1</FunctionNumber>
<FunctionName>Вход кассира</FunctionName>
                <user_name>Петров</user_name>
                <user_id>19</user_id>
                <date>2006-09-07 15:20:45.051</date>
<TransactionTimestamp>2009-01-01T04:04:33.004</TransactionTimestamp>
</TransactionBlock>

Тут на видео самих тэгов естественно не будет. Будет только текст из тэгов. Но не из всех тэгов. Напр. FunctionNumber на экран не выводится. А тот текст который будет выведен (напр. то что в тэге user_name), может быть выведен разным цветом и размером в зависимости от настроек конфигурации перекодировщика POS-Интеллект. Т.е. на SS надо отправить не просто xml (при условии что там действительно xml), а еще и с определенными тэгами.

 

ЗЫ. В зависимости от перекодировщика, пример выше, на видео может выглядеть например так:

 

ОТКРЫТИЕ СМЕНЫ

2006-09-07 15:20:45

Петров (табельный номер кассира: 19)

 

Siroc-co · 25.08.2017

Обновилась SS, обновилась и справка. Появилось API, есть описание. Надо смотреть, пробовать.

 

Surveillance Station Web API

Surveillance Station Web API обеспечивает более удобный способ подключения устройства, отправки запросов Web API в формате, который соответствует спецификации и записывает данные операции.
Стандартный формат для отправки запросов Web API:
API: SYNO.SurveillanceStation.Transactions предоставляет следующие четыре типа способов для записи информации об операции (Начало, Завершено, Отмена и Дозапись данных).
Начало:
уведомляет Surveillance Station о начале записи операции. Включает следующие параметры:
device_name: строчный тип; имя устройства операции на Surveillance Station.
session_id: строчный тип; идентификатор сеанса операции.
timeout: тип целого числа; временное ограничение операции (секунды). Превышение временного ограничения операции приводит к автоматическому завершению операции.
Завершено:
уведомляет Surveillance Station о завершении операции и о том, что операция выполнена. Включает следующие параметры:
device_name: строчный тип; имя устройства операции на Surveillance Station.
session_id: строчный тип; идентификатор сеанса операции.
Отмена:
уведомляет Surveillance Station о завершении операции и о том, что операция отменена. Включает следующие параметры:
device_name: строчный тип; имя устройства операции на Surveillance Station.
session_id: строчный тип; идентификатор сеанса операции.
Дозапись данных:
уведомляет Surveillance Station о необходимости записи содержимого операции. Включает следующие параметры:
device_name: строчный тип; имя устройства операции на Surveillance Station.
session_id: строчный тип; идентификатор сеанса операции.
content: строчный тип; содержимое операции. Каждые входящие данные являются отдельной строкой, однако в качестве разрыва строки во входящих данных можно использовать «\ n».
Базовый формат запроса: http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="{method}"&version=1&device_name="{device name}"&session_id="{session id}"
Примеры запросов Web API:
Начало операции:
http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="Begin"&version=1&device_name="POS01"&session_id="1"&timeout=300
Запись операции:
http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="AppendData"&version=1&device_name="POS01"&session_id="1"&content="Start\n2017/01/01"
Запись операции:
http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="AppendData"&version=1&device_name="POS01"&session_id="1"&content="Pen $40\nBook $300"
Запись операции:
http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="AppendData"&version=1&device_name="POS01"&session_id="1"&content="Total $340\nEnd"
Окончание операции:
http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="Complete"&version=1&device_name="POS01"&session_id="1"
Примечание.
Требуется войти в сеанс перед отправкой запросов WebAPI Surveillance Station. Подробные методы входа см. в документе по Web API.
«Session_id» используется для разграничения разных событий операции. Одинаковые значения «device_name» и «session_id» будут рассматриваться как одна запись. При повторной отправке того же параметра метод Начало будет пропускаться до завершения, отмены или превышении временного ограничения операции. После этого можно повторно воспользоваться значением «session_id».
После начала операции, если временное ограничение превышено до получения методов Завершено или Отмена, запись операции будет сохранена и помечена как «Не завершено».