Встраиваемая программная платформа «ВидеосканПО
Компания ООО Видеоскан является разработчиком платформы "ВидеосканПО" предназначенной для создания программно-аппаратных комплексов (сокращенно ПАК), которые могут использоваться для регистрации результатов физических экспериментов.
Мы предоставляем услуги по разработке программного обеспечения, предназначенного для управления ПАК, поставке готовых сборок как в составе ПАК, так и отдельными дистрибутивами.
По вопросам с нами можно связаться по следующим контактам.
Встроенная платформа «ВидеосканПО» предназначена для построенная на ее базе:
- специализированных видеокамер технического зрения на базе различных матриц отечественного и зарубежного производства;
- модулей сбора данных, позволяющих агрегировать данные с различных камер при проведении физических экспериментов;
- систем обработки данных для промышленной автоматизации;
- комплексов для проведения физических экспериментов, состоящих из нескольких блоков сбора данных.
Платформа позволяет с минимальными затратами создавать специализированные комплексы, состоящие из одной или нескольких камер.
В частности на базе данной платформы построены следующие устройства:
- Видеоскан АЛПЦ.201219.006.02 — специализированное устройство управления для регистраторов Видеоскан;
- Видеоскан АЛПЦ.201219.008 — регистрирующий комплекс из 4 (четырех) камер на базе Видеоскан АЛПЦ.201219.006, с блоком сбора данных на базе специализированной матрицы отечественного производства;
- Видеоскан АЛПЦ.201219.007 — регистратор изображения, построенный на базе 4 (четырех) сборок из специализированных матриц отечественного производства;
- Видеоскан АЛПЦ.201219.006 — видеокамера на базе специализированной матрицы отечественного производства;
- камеры семейства Видеоскан-4;
- камеры семейства ВидеоСпринт-3;
- камера сверхскоростной видеосъемки второго поколения;
- ВидеоТИР-GPIXEL ;
- камеры с ультрафиолетовой чувствительностью и с охлаждением сенсора Видеоскан-2020УФ-Е3;
- и другие.
Архитектура встроенной программной платформы «ВидеосканПО»
Система предназначена для функционирования на встроенном в ПАК одноплатном компьютере под управлением ОС Linux и включает в себя:
- сервис обновлений;
- основной сервер.
Сервис обновлений – отдельный сервис, выполняющий функции обновления основного сервера и поиска устройств на базе программной платформы «ВидеосканПО» в сети. Обновление осуществляется через web-интерфейс, либо API на базе HTTP протокола. Такая система позволяет безопасно выполнять обновление основного сервера. Для обновления не требуется доступ в интернет, что позволяет осуществлять обновление ПАК, размещенных внутри защищенных сетей, не имеющих доступа к интернету.
Основной сервер состоит из следующих компонентов:
- web-сервис, реализующий универсальный API для обмена между ПАК и внешней средой, а также выполняющий роль брокера сообщений, осуществляющего диспетчеризацию сообщений;
- многопоточная модульная среда выполнения, которая включает в себя набор компонентов, предназначенных для обеспечения функционирования ПАК и реализации основных задач. Состав компонентов:
-конвейер обработки данных, поддерживающий организацию сложной логики постобработки и интерпретации получаемых данных;-интерпретатор встроенного прикладного сценарного языка программирования, разработанного на базе СhaiScript;-система разбора и применения конфигурации сервера. В качестве базового языка конфигурационных файлов используется язык YAML, со специальными расширениями, позволяющими упростить процесс создания конфигурации;-многопоточный планировщик задач с организацией очередей выполнения и распределением их приоритетов;
- встроенная среда разработки — позволяет редактировать программный код и настройки основного сервера, осуществлять обновление и перезапуск серверных компонентов.
«ВидеосканПО» включает в себя:
- web-интерфейс пользователя;
- API для взаимодействия с другими программами и системами, построенными на базе «ВидеосканПО».
Пользовательский интерфейс
Представляет собой страницу, открывающуюся в браузере и предоставляющую возможность осуществлять управление и контроль работы устройства на базе «ВидеосканПО».
Вид образца страниц браузера для управления ПАК показа на рисунках ниже:
Вид страницы управления камерой.
Мнемограмма для управления камерой.
Вид страницы для обновления ПО.
Внешний API
Платформа имеет API, позволяющее обеспечить полноценный доступ ко всем функциям встроенного ПО. Благодаря максимальному применению стандартных протоколов, имеющих поддержку в большинстве современных средств разработки, реализация этого API на стороне клиента максимально простая. Для некоторых платформ мы разработали готовые библиотеки, реализующие этот API.
Внешний API использует протокол Websocket в качестве транспортного протокола, что позволяет осуществлять управление устройством с минимальными задержками, в отличии от чистого http протокола.
Формат сообщений, передаваемых по протоколу Websocket является открытым и доступным для сторонних реализаций взаимодействия.
В качестве форматов пакетов используются JSON и FlatBuffers, имеющие реализацию для большинства современных языков программирования.
Такой подход позволяет максимально задействовать стандартные библиотеки и с минимальными усилиями реализовать поддержку API «ВидеосканПО».
В настоящий момент доступны готовые реализации для следующих языков программирования:
- Phyton3
- JavsScript;
- C++;
- ChaiScript;
- C#.
Поддержка API на встроенном ChaiScript позволяет организовывать сложные взаимодействия между несколькими устройствами под управлением «ВидеосканПО». Например, для реализации ПАК, состоящего из нескольких камер и других устройств на базе «ВидеосканПО», с возможностью отображения текущего состояния такого комплекса и группового управления всеми входящими в него устройствами.
Преимущества:
- полностью отечественная платформа, построенная на open-source решениях, что позволяет использовать ее в учреждениях, предъявляющих особые требования к информационной безопасности. Также это гарантирует отсутствие нежелательных последствий в случае ограничительных мер компаний производителей, принадлежащих недружественным странам;
- встроенное ПО использует высокоуровневые протоколы взаимодействия, что исключает необходимость обновления драйверов в случае выхода новых версий операционных систем;
- возможность кастомизации ПО на встроенном компьютере, что позволяет создавать узкоспециализированные ПАК без необходимости дооснащения их дополнительными СВТ;
- внешний API, построенный на базе стандартных протоколов. Это позволяет легко интегрировать устройства на базе «ВидеосканПО» с другими платформами;
- возможность интеграции ПАК на базе «ВидеосканПО» между собой, с возможностью управления всеми ПАК как единым комплексом.