Free lance un nouveau SDK de télécommande réseau pour la Freebox Player
En décembre, Free annonçait l’ouverture de sa Freebox Révolution aux éditeurs et développeurs. L’opérateur publie aujourd’hui un nouveau SDK de télécommande réseau pour les freeenautes qui développent des applications comme les télécommandes virtuelles. Depuis hier, une nouvelle interface de commande permet de piloter le Freebox Player par le réseau. Cette API vient en plus de l’API HTTP actuelle, qu’elle remplacera progressivement.
Les nouvelles possibilités apportées par cette évolution sont le support des touches multimédia, de la souris, des appuis simultanés, plus tard, des manettes de jeu.
Ce SDK s’adresse avant tout aux développeurs d’applications tierces, il a été déjà intégré dans différents projets comme Free Téléc ou My Freebox. Son utilisation est libre (licence BSD).
Disponible depuis la version 1.1.0 du Freebox Player, cette nouvelle API se base sur la norme régissant les périphériques d’entrée utilisateur, ou Human Interface Devices (HID). À l’origine, cette norme a été conçue pour l’USB, mais a été reprise Verbatim pour le Bluetooth. Dans le contexte de la Freebox, la norme HID a été portée sur un transport UDP, donc réseau.
La définition d’un périphérique doit être faite à l’aide de descripteurs, comme si il s’agissait d’un périphérique USB. Un périphérique réseau est traité de la même manière que les périphériques USB par la plupart des interfaces du Freebox Player. Toutefois, le support de ces périphériques dans les jeux viendra par la suite.
Un ensemble de bibliothèques pouvant servir de briques de base à la construction d’un client pour ce protocole est fourni sur GitHub :
Libela permet d’intégrer le reste des bibliothèques sur des boucles d’événements. Elle a été portée sur libevent (GNU/Linux, MacOS) et CoreFoundation (MacOS, iOS) ;
Librudp fournit le transport UDP avec une possibilité de transmettre certains messages de manière pérenne ;
Foils_Hid fournit à la fois une bibliothèque implémentant le transport de HID sur UDP, et des programmes d’exemple.
En dernier lieu, le Freebox Player annonce localement le service _hid._udp en mDNS. La configuration de l’adresse et du port à utiliser sont donc transparents pour l’utilisateur.
Une page dédiée aux SDK sur ce site fournit les documentations des bibliothèques, ainsi que la définition des protocoles sous-jacents.