Удивившись практически полному отсутствию информации по данной теме, решил написать этот пост.
В двух словах jointSPACE — это OpenSource платформа, созданная для разработки пользовательских приложений для телевизоров Philips. Она являет собой открытый API для разработки приложений двух типов:
Существует SDK под Linux, iOS, MacOS, Android и Windows (как cygwin, так и родной под Visual Studio). Разработчиками и сообществом написано множество примеров для разных платформ. Особенно хочу отметить запуск игры Doom на телевизоре с управлением с пульта.
На телевизоре должна быть установлена последняя прошивка и включена функция jointSPACE.
Пока что, поддерживаются ТВ следующих моделей:
— 2k10 (xxPFLxxx5)
— 2k9 (xxPFLxxx4)
(полный список поддерживаемых моделей).
Включается быстрым набором с пульта комбинации «5646877223».
Что касается меня, появление технологии стало отличной новостью — я смог реализовать давнишнюю мечту: переводить телевизор и ПК в режим просмотра кино одним кликом.
Телевизор у меня подключен к компьютеру с Windows 7 посредством HDMI-кабеля, звук выводится по нему же. Чтобы начать просмотр фильма, приходилось: нажимать WinKey+P, выбирать вывод на телевизор, на телевизоре нажимать кнопку выбора источника, стрелками выбирать нужный HDMI-порт, жать OK.
Я решил написать небольшую программку на SDK под cygwin, позволяющую проделывать эти действия в один клик. Так как API не умеет вызывать нужную мне функцию, пришлось эмулировать нажатия клавиш.
Вот так, в несколько строчек, реализовалась моя мечта. Я не считаю себя программистом, поэтому код достаточно крив и не доделан, но суть, думаю, ясна.
Технология открывает большой простор для фантазии разработчиков. На экран ТВ можно выводить какую угодно интерактивную информацию и взаимодействовать с пользователем. Кто-то захочет следить за твиттером во время просмотра телепередач, а кому-то захочется видеть статус работы микроволновки или чайника. Поддерживается управление сразу множеством телевизоров в подсети.
Для тех, кому интересно:
— Сайт проекта (на SourceForge.net)
— Наиболее наглядное описание процесса разработки
— jointSPACE SDK tutorial for Cygwin (установка и настройка SDK + основы)
— jointSPACE API Reference Manual (полное описание API)
В двух словах jointSPACE — это OpenSource платформа, созданная для разработки пользовательских приложений для телевизоров Philips. Она являет собой открытый API для разработки приложений двух типов:
- Приложения, запускаемые на удаленной системе, рендеринг и управление которыми производится средствами интерфейса телевизора.
- Приложения для управления телевизором с удаленных систем
Существует SDK под Linux, iOS, MacOS, Android и Windows (как cygwin, так и родной под Visual Studio). Разработчиками и сообществом написано множество примеров для разных платформ. Особенно хочу отметить запуск игры Doom на телевизоре с управлением с пульта.
На телевизоре должна быть установлена последняя прошивка и включена функция jointSPACE.
Пока что, поддерживаются ТВ следующих моделей:
— 2k10 (xxPFLxxx5)
— 2k9 (xxPFLxxx4)
(полный список поддерживаемых моделей).
Включается быстрым набором с пульта комбинации «5646877223».
Пример использования
Что касается меня, появление технологии стало отличной новостью — я смог реализовать давнишнюю мечту: переводить телевизор и ПК в режим просмотра кино одним кликом.
Телевизор у меня подключен к компьютеру с Windows 7 посредством HDMI-кабеля, звук выводится по нему же. Чтобы начать просмотр фильма, приходилось: нажимать WinKey+P, выбирать вывод на телевизор, на телевизоре нажимать кнопку выбора источника, стрелками выбирать нужный HDMI-порт, жать OK.
Я решил написать небольшую программку на SDK под cygwin, позволяющую проделывать эти действия в один клик. Так как API не умеет вызывать нужную мне функцию, пришлось эмулировать нажатия клавиш.
#include <jslibrc_client.h>
#include <windows.h>
int $i;
int main (int argc, char *argv[])
{
jslibrc_Init( &argc, &argv );
// Жмем кнопку Source на пульте
jslibrc_KeyDown(keySourceRc6, 0, 56);
jslibrc_KeyUp(keySourceRc6, 0, 56);
//Ждем 2 секунды чтобы телек "подумал"
sleep(2);
// N раз жмем кнопку "вверх", чтобы поднять курсор гарантированно вверх
for($i=0; $i <= 20; $i++)
{
jslibrc_KeyDown(keySourceRc6, 0, 88);
jslibrc_KeyUp(keySourceRc6, 0, 88);
}
// Два раза жмем вниз, чтобы выбрать HDMI 2
jslibrc_KeyDown(keySourceRc6, 0, 89);
jslibrc_KeyUp(keySourceRc6, 0, 89);
sleep(1);
jslibrc_KeyDown(keySourceRc6, 0, 89);
jslibrc_KeyUp(keySourceRc6, 0, 89);
sleep(1);
// Жмем ОК
jslibrc_KeyDown(keySourceRc6, 0, 92);
jslibrc_KeyUp(keySourceRc6, 0, 92);
// Меняем дисплей, запуская виндовую программу (которая вызывается по WinKey+P)
//WinExec("c:\\windows\\system32\\displayswitch.exe /internal",SW_SHOW);
jslibrc_Exit();
return 1;
}
Вот так, в несколько строчек, реализовалась моя мечта. Я не считаю себя программистом, поэтому код достаточно крив и не доделан, но суть, думаю, ясна.
Перспективы
Технология открывает большой простор для фантазии разработчиков. На экран ТВ можно выводить какую угодно интерактивную информацию и взаимодействовать с пользователем. Кто-то захочет следить за твиттером во время просмотра телепередач, а кому-то захочется видеть статус работы микроволновки или чайника. Поддерживается управление сразу множеством телевизоров в подсети.
Для тех, кому интересно:
— Сайт проекта (на SourceForge.net)
— Наиболее наглядное описание процесса разработки
— jointSPACE SDK tutorial for Cygwin (установка и настройка SDK + основы)
— jointSPACE API Reference Manual (полное описание API)