Accueil > hack > Papa !!! la télé elle a des poils qui poussent et puis elle parle toute seule.

Papa !!! la télé elle a des poils qui poussent et puis elle parle toute seule.

Eh oui mon petit ça s’appelle la convergence, et puis tu ferais mieux de t’y habituer car c’est que le début …
J’avais mis ça dans mon énorme liste TODO depuis que j’avais remarqué que le firmware de ma télé reposait en partie sur linux.De plus, la télé comportait une connectique réseau ce qui laissait envisager pas mal de truc. Un jour je suis tombé la-dessus.
Bon je cite:
« jointSPACE is an Open Source project that will allow every user/supplier to develop applications for Philips TV displays.
jointSPACE is based on the SPACE architecture which was developped by Philips to ease internal development.
At a certain point of time, Philips decided to open its architecture to allow everyone developing code for the TV target.
jointSPACE adresses this by opening and extending the current TV architecture:
jointSPACE proposes a single platform to develop applications (any Linux PC or device capable of running Linux/DirectFB technologies)
jointSPACE publishes the essential TV APIs used in the SPACE architecture
jointSPACE provides a portable prototyping software that includes and illustrate the essential of the SPACE architecture
jointSPACE will extend the TV architecture to allow:
executing TV applications on a remote system, rendering and being controlled on the TV
executing application on a remote system, controlling the TV APIs remotely.
jointSPACE will continuously provide new technologies/libraries to ease and improve the development of new applications
jointSPACE will extend the TV API to allow controlling more TV functionalities. »

Résumons les choses, à l’instar du monde de la téléphonie, Philips c’est rendu compte qu’une architecture ouverte c’était pas mal pour créer une dynamique innovante. Pour cela outre le noyau linux qu’ils ont adopté pour le firmware, le reste a été basé sur:
DirectFB une API pour développement sur frameBuffer
SawMan un window manager tournant sur DirectFb
Voodoo une couche réseau permettant aux applications DirectFb de dialoguer facilement entre elles.
FusionDale reposant sur l’API Fusion IPC.
Sur le site de JointSpace, on trouve outre la documentation une section Download qui comporte les SDK pour:
-Cygwin
-MacOs
-Linux
-NitendoDs
-Iphone
-Android
Pas mal non ? Du reste, on dispose aussi des sources du SDK que l’on pourra recompiler (voir modifier et recompiler) pour la plateforme de notre choix.
Il y a aussi des exemples d’applications. Et c’est là que ça se corse:
Des jeux ou des émulateurs sont disponibles. On ne trouve cependant que les binaires sans les sources… Inutile de préciser que ces binaires sont de toutes façon d’horribles exe…
Je me penche sur les exemples fournis avec les sources. Eh ben c’est pas mieux …
A part une petite anim de PacMan, impossible de compiler. Le code n’est tout simplement pas portable.
D’ailleurs voila ce que l’on peut lire dans certains README: « Cygwin version only for the moment. »
NON MAIS STOP, coup de gueule. Voila qu’une technologie à la base faite pour (je cite à nouveau):
« any Linux PC or device capable of running Linux/DirectFB technologies) » se retrouve uniquement en démo sur un moisi OS. Que c’est laid, quelle ingratitude tout de même…
Ben voyons j’ai qu’à mettre un Windows sur Vmware|qemu|Virtualbox puis installler cygwin dessus pour faire tourner les démos… c’est ridicule, vraiment. Honte à toi développeur je te souhaite un cancer du *** et une amputation des doigts pour que jamais tu ne puisses te gratter.
Parmi les applications disponibles, une m’intéressait plus particulièrement: il s’agit d’une télécommande.
On peut s’interroger sur l’utilité de cette application. En effet, il est quand même plus pratique de prendre directement la télécommande de la télé que d’aller chercher son ordinateur portable. Cependant cela peut être très utile quand comme moi vous avez votre bureau juste à côté du salon et que vos enfants mettent le son trop fort. Inutile de se déplacer / crier juste un click.
De même en explorant l’api de jointSpace j’envisageais d’autres possibilités. Par exemple afficher un message par dessus l’écran du téléviseur (les devoirs sont faits?…).
Il y aussi la Nettv, un service en ligne sur la télé permettant de naviguer sur certains sites partenaires dont Youtube, Dailymotion, Allocine etc…
Pour cela on navigue avec la télécommande du téléviseur. Pour les champs de recherche, on utilise le multiptap de la télécommande (par ex, pour le ‘a’ on appui trois fois sur la touche 1). C’est quelque chose que l’on trouvait beaucoup sur les téléphones portables. A l’usage, c’est vraiment pas pratique.
Je décidais donc que ma télécommande virtuelle permettrait de rentrer directement du texte pour pouvoir « surfer » sur ma télé.
En cherchant un peu j’ai trouvé que philips avait mis en ligne sur l’android Market:
Philips MyRemote
La même chose existe pour iphone. Rien de semblable n’existant pour Linux, ce fut une fois de plus la méthode DIY.
De fil en aiguille je commençais à entrevoir différentes possibilités: si il était possible d’afficher du texte sur la télé pourquoi ne pas faire afficher des messages systèmes ? (mails reçus par ex).
Aussi je décidais d’architecturer mon application de la façon suivante:
Une librairie « displib » sera responsable de l’affichage de message sur la télé.
Une autre librairie la « remlib » sera responsable de l’envoie de commande distante sur le téléviseur.
Ces librairies écrites en C grâce au SDK jointSpace pourront être appelées par de simples petits programmes C afin d’être inclues dans des scripts. On pourra aussi utiliser ces libs dans un programme C++. Il suffira juste pour cela de rajouter un #define __cpp dans le corps du programme appelant.
Aussi, pour la télécommande virtuelle j’ai utilisé Qt.
Les sources et binaires sont disponibles ici: lrtv
Veuillez lire le README avant utilisation/compilation.
Sûr que le coding style n’est pas franchement au rendez-vous mais au moins l’application a le mérite d’exister. Les contributions seront les bienvenues.
Pour finir, une petite vidéo de démo :

Catégories :hack
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :