Implémentation d’un serveur et d’un point de contrôle UPnP
Service UPnP pour dispositifs autonomes
H5002 v1 Article de référence

Implémentation d’un serveur et d’un point de contrôle UPnP
Service UPnP pour dispositifs autonomes

Auteur(s) : Vincent HOURDIN, Stéphane LAVIROTTE, Jean-Yves TIGLI

Relu et validé le 02 mai 2015 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Les protocoles de découverte de services

2 - UPnP : une architecture et une interface normalisée

  • 2.1 - Exemples de dispositifs UPnP
  • 2.2 - Serveur UPnP, dit « dispositif UPnP »
  • 2.3 - Client UPnP, dit « point de contrôle »

3 - La pile UPnP en détail

  • 3.1 - Adressage : DHCP et Auto-IP
  • 3.2 - À la découverte du réseau, via le SSDP
  • 3.3 - Fichiers de description
  • 3.4 - Contrôle : SOAP
  • 3.5 - Événements : GENA
  • 3.6 - Présentation du dispositif via une présentation HTML

4 - SDK, Software Development Kit

5 - Implémentation d’un serveur et d’un point de contrôle UPnP

  • 5.1 - Description d’un serveur : UPnP
  • 5.2 - Programmation du serveur UPnP
  • 5.3 - Programmation d’un point de contrôle

6 - Perspectives et conclusion

Sommaire

Présentation

RÉSUMÉ

Plug and Play (PnP), ou littéralement « on branche et ça marche », caractérise la facilité d’installation d’un nouvel équipement dans un système informatique. « Universal Plug and Play » (UPnP) reprend les concepts de PnP pour les étendre à tout le réseau, facilitant la découverte et le contrôle de dispositifs, tels qu’une imprimante réseau, un routeur ADSL ou tout autre équipement périphérique maintenant connecté au réseau local. D’autres technologies, telles que Bonjour, SLP et Bluetooth, proposent des approches assez similaires.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Vincent HOURDIN : Ingénieur en informatique de l’École Polytechnique Universitaire de Nice – Sophia Antipolis

  • Stéphane LAVIROTTE : Docteur en informatique de l’Université de Nice – Sophia Antipolis, - Maître de Conférences à l’IUFM Célestin Freinet – Académie de Nice

  • Jean-Yves TIGLI : Docteur en informatique de l’Université de Nice – Sophia Antipolis, - Maître de Conférences à l’École Polytechnique Universitaire de Nice – Sophia Antipolis

INTRODUCTION

Plug and Play (PnP), ou littéralement « on branche et ça marche », caractérise la facilité d’installation d’un nouvel équipement dans un système informatique. Techniquement, le système d’exploitation reconnaît le périphérique que l’on vient d’adjoindre à l’ordinateur, trouve le pilote nécessaire pour le faire fonctionner ou demande de charger ce pilote et lance le travail après avoir réadapté ses paramètres pour tenir compte du nouveau dispositif. L’installation du matériel est ainsi grandement simplifiée par la configuration automatique des paramètres du pilote, tels que l’interruption utilisée, la plage des ports d’entrées/sorties employés, etc.

« Universal Plug and Play » (UPnP) reprend les concepts de PnP pour les étendre à tout le réseau, facilitant la découverte et le contrôle de dispositifs, tels qu’une imprimante réseau, un routeur ADSL ou tout autre équipement périphérique maintenant connecté au réseau local. Cette technologie n’est pas la seule à proposer une telle approche.

Dans la première partie de ce document nous comparerons les grandes caractéristiques d’UPnP avec des technologies plus ou moins proches, telles que Bonjour, SLP et Bluetooth, notamment en ce qui concerne les protocoles de recherche et de découverte utilisés. Nous verrons ainsi qu’une des caractéristiques, forte et spécifique à UPnP, repose sur l’utilisation de protocoles très proches de ceux déjà éprouvés dans le domaine des Services Web.

Dans une seconde partie nous présenterons l’architecture générale d’UPnP, décomposée en dispositifs UPnP (serveurs) et en points de contrôle (clients) sur le réseau, ainsi que les interfaces associées normalisées.

Nous détaillerons dans la troisième partie la pile protocolaire UPnP, avant de nous attarder sur la mise en œuvre logicielle d’UPnP dans la quatrième partie. En conclusion, nous soulignerons les perspectives ouvertes par cette nouvelle technologie qui, au-delà de sa vocation première et de par sa proximité avec les services Web, pose clairement les bases d’une extension vers des services Web pour dispositifs.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h5002

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

5. Implémentation d’un serveur et d’un point de contrôle UPnP

Nous allons maintenant étudier une implémentation de serveur UPnP et d’un point de contrôle qui lui est associé, écrits en C pour LibUPnP. La LibUPnP est une implémentation libre d’un SDK portable pour les dispositifs UPnP. Intel avait développé cette bibliothèque en 2000 ; elle a depuis été mise à disposition sous licence BSD, pour lui assurer une meilleure croissance et un meilleur support. Écrite pour GNU/Linux à l’origine, elle a été portée pour divers systèmes d’exploitation, tels que FreeBSD, Solaris, et Windows. La communauté autour de ce projet open-source est active, ce qui garantit une bonne fiabilité du code et une bonne réactivité dans le cas peu probable où l’on trouverait une faille dans l’implémentation. C’est probablement la pile UPnP la plus stable et efficace.

Nous allons donc la mettre en œuvre avec un exemple simple, mais avec lequel nous allons pouvoir découvrir toutes les facettes de la programmation LibUPnP : une lampe virtuelle, semblable à l’Intel Network Light. On la commande allumée ou éteinte, mais on peut aussi faire varier son intensité lumineuse, comme une lampe halogène à potentiomètre. Pour des raisons de simplicité et pour ne pas s’éloigner du sujet, elle ne disposera pas d’une interface graphique, mais textuelle.

5.1 Description d’un serveur : UPnP

L’architecture du serveur est dictée par les fichiers XML de description du Root Device. Comme nous l’avons vu dans la section 3.3, cette description contient des informations variées sur le constructeur et le dispositif, ainsi qu’une liste de devices imbriqués, de services, et les URL qui permettent d’utiliser ces derniers.

Pour notre lampe virtuelle, nous utiliserons deux services : un "SwitchPower" qui servira à allumer et éteindre la lumière, et "Dimming " qui gère la luminosité de la lampe.

Device.xml...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Implémentation d’un serveur et d’un point de contrôle UPnP

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - HOURDIN (V.), LAVIROTTE (S.), TIGLI (J.-Y.) -   Étude et comparaison des systèmes de services pour dispositifs  -  . Rapport de recherche (2006).

  • (2) -   Machine To Machine (M2M) : enjeux et perspectives  -  . Livre Blanc produit par la FING, Syntec Informatique et Orange, http://www.fing.org (mars 2006).

  • (3) - HE (Q.), MUNTZ (D.) -   Multicast gateway for service location in heterogeneous ad hoc communication  -  . HP Technical Reports (2002).

  • (4) - HAASE (M.), SEDOV (I.), PREUSS (S.), CAP (C.), TIMMEMAN (D.) -   Time and Energy Efficient Service Discovery in Bluetooth  -  . in Proceedings of the 57th IEEE Semiannual Vehicular Technology Conference, Band I, S. p. 418-422, ISBN: 1090-3038, Jeju, Korea (2003).

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Mashups - Architecture des applications Web tactiques d'entreprise

Les « mashups » sont une nouvelle forme d'applications représentative de l'appropriation par ...

Téléphonie sur IP

L’intégration des flux téléphoniques, signalisation et communications comprises, est largement répandue ...

Format d’image SVG

Le format SVG est né de l’initiative du World Wide Web Consortium (W3C) qui cherchait à améliorer la ...