UPnP

UPnP (Universal Plug and Play) est un canevas SOA pour le développement de services dans le contexte du SOHO (Small Office Home Office)

Généralités
Universal Plug and Play (UPnP) Forum est un consortium industriel ouvert qui s'est formé en 1999 pour la définition de standards simplifiant la mise en réseaux d'équipements communicants dans les maisons et dans les entreprises (SOHO : Small Office Home Office). Les domaines couverts sont la micro-informatique/bureautique (imprimantes, appareil-photo...), l'électronique grand public (DVD, TV, radio, Media-Center...), la communication (téléphones, routeur ADSL...), la domotique (alarme anti-intrusion, régulation du chauffage et de la climatisation HVAC, volets roulants, etc.) ou bien encore l'électroménager (lave-linge, réfrigérateur...). UPnP Forum a publié une première version des protocoles réseaux requis (UPnP DA) et un certain nombre de définitions standard de périphériques (devices) et de leurs services associés.

UPnP DA
Universal Plug and Play (UPnP) Device Architecture (DA) spécifie les protocoles pour des réseaux spontanés de périphériques (devices). Les protocoles UPnP traitent :
 * la détection et le retrait dynamique des périphériques,
 * leur description et celles des services qu'ils fournissent,
 * l'utilisation par les points de contrôle (PDA, télévision, télécommande RF...) des services fournis
 * la notification des changements de valeurs des variables d'état associées aux services.

UPnP DA a les mêmes objectifs que JINI proposé par SUN. Cependant, UPnP DA n'est pas attaché à un langage particulier (comme JINI avec Java). Les protocoles de UPnP DA s'appuient sur XML, SOAP 1.0 et HTTP au dessus de TCP, UDP et UDP Multicast.

Profils
Une des activités de l'UPnP Forum est la définition de Device Control Protocols (DCP) pour des familles d'équipements.

AV Audio Video
Le profil AV (pour Audio Video) définit deux types d'équipements : Le point de contrôle joue le rôle d'orchestrateur pour accorder Media Server et Media Renderer sur le protocole de transport et le type du contenu multimédia à échanger. Il pilote ensuite le déroulement (lecture, pause, ...).
 * le Media Server stockant et partageant les documents multimédia
 * le Media Renderer recupérant et visualisant des documents multimédia rendus disponibles par des Media Server.

DLNA est une alliance d'équipementiers AV standardisant l'ensemble minimum de types et de protocoles de transports des contenu multimédia s'échangeant dans l'architecture UPnP AV.

Produits
 * MediaTomb media server scriptable !!! très intéressant pour les projets de la salle AIR
 * UShare

UPnP et OSGi
Le chapitre UPnP Device Driver de la spécification OSGi traite la manière de développer des périphériques UPnP et des points de contrôle UPnP au dessus une plate-forme OSGi. L'API org.osgi.service.upnp dont l'interface principale UPnPDevice représente un périphérique, et d'autre part un élément de la passerelle, l'UPnP Base Driver, qui assure le pont entre les points de contrôle UPnP et les périphériques UPnP présents sur le réseau IP adhoc, et les bundles hébergés par la plate-forme OSGi.

Les alternatives

 * DPWS considéré au départ comme son évolution
 * EchoNet supporté par les équipementiers japonais (notamment dans le domaine du HVAC)
 * IGRS supporté par les équipementiers chinois

Outils

 * http://opentools.homeip.net/dev-tools-for-upnp

Liens

 * http://upnp.org
 * http://www.upnp-hacks.org/upnp.html
 * Transparents de cours sur UPnP et OSGi
 * UPnP Forum, "Understanding UPnP™: A White Paper", Juin 2000, http://www.upnp.org/download/UPNP_UnderstandingUPNP.doc
 * Michael Jeronimo, Jack Weast, "UPnP Design by Example: A Software Developer's Guide to Universal Plug and Play", Pub. Intel Press, ISBN: 0971786119, May 2003, http://www.intel.com/intelpress/excerpts/upnp1.htm
 * https://www.meshcentral.com/