На данном этапе развития компания уже предоставляет уникальный программный комплекс iRidium для визуализации управления системами автоматизации, Аудио/Видео оборудованием и медиа-серверами с полной двухсторонней связью. Программный комплекс имеет графический редактор, кроссплатформенное приложение клиент, встроенный язык прикладного программирования и расширяемую базу программных модулей для управления различным оборудованием автоматизации, которые могут объединяться и взаимодействовать друг с другом в одном проекте, который можно запустить на платформах iPad, iPhone, Android, Windows, Mac OS X. За счет этого, компания охватывает большой диапазон объектов автоматизации, начиная от домашних кинотеатров и умных домов, заканчивая гостиницами, банками, промышленными системами и заводами.
Объектом исследования является процесс разработки программных модулей для комплекса iRidium. Предмет исследования – технология управления медиаплеером Dune HD. Целью нашего курсового проекта – разработать программный модуль управления медиаплеером Dune HD для комплекса автоматизации iRidium.
Для достижения цели необходимо выполнить следующие задачи:
Изучить техническую документацию и компоненты программного комплекса iRidium.
Познакомиться с технологией управления медиаплеером Dune HD и проанализировать существующий рынок приложений для определения функционала на реализацию.
Спроектировать и реализовать программный модуль и графический интерфейс.
Провести альфа-тестирование, устранить ошибки и опубликовать модуль на официальном сайте компании iRidium Mobile.
Практическая значимость курсового проекта заключается в том, что разработанный нами модуль, послужит готовым решением для системных интеграторов, использующим программный комплекс iRidium и желающим управлять медиаплеером Dune HD в своих проектах.
Для разработки программного модуля нам потребуются компоненты программного комплекса:
iRidium GUI Editor для создания проекта модуля, а именно его графической части и написания программного кода на языке JavaScript.
Windows Client для отладки и запуска проекта на ОС Windows.
iRidium Transfer для отправки проекта на панели управления.
i2 Control для iOS и Android, для запуска проекта на панелях управления.
Встроенный языка прикладного программирования iRidium Script (API).
API используется для разработки пользовательских драйверов и расширения графических возможностей проектов, содержит в себе методы, функции и события, для управления графической, звуковой и коммуникационной частью проекта, а также позволяет приложению управлять своим циклом работы и взаимодействовать с операционной системой панели (см. рис. 1). Базируется на языке JavaScript версии 1.5. В тексте курсовой работы я не привожу документацию на использование API, так как она находится в свободном доступе на сайте [Описание iRidium Script. [Электронный ресурс] – URL: http://wiki2.iridiummobile.ru/IRidium_Script_API (дата обращения: 08.01.2015).Описание iRidium Script. [Электронный ресурс] – URL: http://wiki2.iridiummobile.ru/IRidium_Script_API (дата обращения: 08.01.2015).].
Рис. 1. Структура iRidium Script API
Все инструменты iRidium являются мульти платформенными. Созданный скрипт или драйвер будет одинаково работать на любой поддерживаемой программным комплексом операционной системе.
Стартом в разработке модуля послужил анализ рынков приложений. Мы проанализировали два разных рынка, направленные на две разные категории пользователей. Первая категория, это пользователи не специалисты, владельцы оборудования, умных домов и домашних кинотеатров. Вторая, технические специалисты, системные интеграторы, программисты систем автоматизации. Для первичного анализа рынка приложений мы воспользовались двумя крупнейшими магазинами мобильных приложений Google Play и App Store. Вторичный анализ состоял в изучении рынка модулей для известных систем автоматизаций, таких как Crestron, Control4. В результате мы получили список функциональных требований на реализацию модуля:
Найти автоматически медиаплеер в сети без ввода IP адреса;
Управлять воспроизведением;
Осуществлять навигацию;
Поддержка разных разрешений (планшет, смартфон).
Получать информацию о текущем воспроизведении;
Управлять жестами;
Получать список подключенных по USB устройств;
Управлять медиа контентом;
Изменять и расширять внешний вид модуля.
Система DUNE HD включает в себя следующие компоненты (см. рис. 2):
Рис. 2. Схема взаимодействия элементов системы Dune HD
Приложения – это программное обеспечение для управления плеером, разработанные для пользователя, и реализующие в основном функции пульта управления. Спектр возможностей для приложений ограничивается встроенным языком API. Все остальное: визуализация, взаимодействие с пользователем, сценарии, язык на котором будет реализовано приложение, устройство на котором оно будет запускаться (это может быть сайт, платформа Arduino, смартфон, что угодно), определяется разработчиком и потребностью заказчика. Может быть реализован такой функционал взаимодействия с другими устройствами в сети для создания атмосферы для просмотра кинофильмов.
Мультимедийные проигрыватель – это устройство, которое: обеспечивает качественное воспроизведение Full HD (1080p) видео, прослушивание аудио и просмотр изображений, существенно расширяя возможности ЖК-телевизора. Плеер оснащен разъемом USB и укомплектован выносным удлинителем ИК-порта. Благодаря Ethernet-интерфейсу и беспроводному модулю, медиаплеер легко интегрируется в домашнюю сеть и может работать в режиме домашней точки доступа Wi-Fi.
Устройство вывода звука и изображения – монитор, проектор, телевизор с подключенной аудио системой или любое другое устройство для вывода изображений, имеющее HDMI вход для приема сигнала.
Накопители данных – это могут быть любые сетевые накопители дсоутпные в сети, FTP и SMB сервера или подключенные напрямую по USB HDD или Flash диски.
Медиаплееры компании Dune HD имеют открытый протокол управления – Dune API. Протокол имеет под собой основу, протокол прикладного уровня HTTP и по средствам URL позволяет управлять самим собой и подключенными к нему устройствами. Все данные (команды, значения, и обратная связь от роутера) представляется в текстовом формате обмена данными – XML [Протокол управления Dune HD API. [Электронный ресурс] – URL: http://dune-hd.com/support/ip_control/dune_ip_control_overview.txt (дата обращения: 08.01.2015).Протокол управления Dune HD API. [Электронный ресурс] – URL: http://dune-hd.com/support/ip_control/dune_ip_control_overview.txt (дата обращения: 08.01.2015).].
Команды в протоколе делятся на различные категориям (см. рис. 3):
Start playback – набор команд для запуска воспроизведения;
Control playback – набор команд для управления воспроизведением;
Getting player status – набор команд позволяющий получать информацию о текущем состоянии плеера;
Web browser – набор команд для открытия сайтов;
Text editor – набор команд для ввода текста;
Navigation – набор команд для навигации по спискам.
Рис. 3. Разделы Dune API
Разработанный нами, программный модуль управления медиаплеером Dune HD состоит из нескольких частей (см. рис. 4).
Рис. 4. Структура графической и программной части модуля
Главная часть модуля, это драйверная часть, определяющая взаимодействие модуля с медиаплеером. При помощи этой части, модуль может формировать отправлять команды, получать данные, анализировать их и отображать в графическом интерфейсе.
Графическая часть определяет внешний вид программного модуля и его взаимодействие с пользователем. Поисковая часть, позволяет найти медиаплеер в локальной сети, сохранить полученные настройки или ввести данные для подключения вручную. Сценарная часть предназначена для расширения возможностей модуля. Если пользователю потребуется дополнительный функционал, программный модуль легко расширяем и содержит ряд публичных функций для простого сценарного программирования.
После инсталляции оборудования, запущенный модуль на панели подключенный к домашней сети, выполняет авто сканирование сети и подключается к плееру. Плеер изначально находится в состоянии сна и модуль предлагает его разбудить (см. рис. 5). Затем, разбуженный плеер может принимать команды и модуль открывает пульт управления (см. рис. 6).
Рис. 5. Экран сообщающий, что плеер находится в спящем режиме |
Рис. 6. Экран пульта управления медиаплеером |
Для более комфортного управления плеером, им можно управлять жестами, не отрывая глаз от экрана, кнопка с иконкой «жеста указательным пальцем» позволяет перелечиться в режим жестов (см. рис.7). Если к медиаплееру подключен внешний накопитель данных, и на нем есть содержимое в виде медиа контента, пользователь может открыть окно медиатеки и запустить выбранный файл на просмотр из списка (см. рис. 8):
Рис. 7. Экран управления плеером Dune с помощью жестов |
Рис. 8. Экран медиатеки Dune HD |
Текущая версия модуля Dune HD v1.0.8 опубликована на официальном сайте компании iRidium Mobile и доступна для загрузки после регистрации [Модуль Dune HD. [Электронный ресурс] – URL: http://www.iridiummobile.ru/products/module/dune_hd/ (дата обращения: 08.01.2015).]. С момента публикации модуля, началось его прямое использование и открытое тестирование. Сейчас, мы выполняем техническую поддержку по разработанному модулю, получаем обратную связь от пользователей, устраняем новые найденные ошибки и добавляем новый функционал.
Библиографический список:
iRidium – это уникальный программный комплекс для визуализации [Электронный ресурс] – URL: http://www.iridiummobile.ru/ (дата обращения: 08.01.2015).
Модуль Dune HD. [Электронный ресурс] – URL: http://www.iridiummobile.ru/products/module/dune_hd/ (дата обращения: 08.01.2015).
Описание iRidium Script. [Электронный ресурс] – URL: http://wiki2.iridiummobile.ru/IRidium_Script_API (дата обращения: 08.01.2015).
Протокол управления Dune HD API. [Электронный ресурс] – URL: http://dune-hd.com/support/ip_control/dune_ip_control_overview.txt (дата обращения: 08.01.2015).