UPnP

From air
Revision as of 16:55, 31 March 2017 by Maxime.Dereymez (talk | contribs) (→‎Java)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.

Equipements certifiés UPnP

Remarque : tous les constructeurs ne font pas passer la certification à leurs produits.

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.

Description des devices

Profils

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

Lighting Control

Ce profil considère des équipements électriques qui peuvent être allumés ou éteints (lampe, électroménager) ou bien gradués (dimmer de lampe).

AV Audio Video

Le profil AV (pour Audio Video) définit deux types d'équipements :

  • 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.

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, ...).

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
  • XBMC
  • UShare

HVAC Heat Ventilation Air Conditioning

Ce profil considère des équipements qui sont des capteurs de température et des vannes de régulation de fluide.

Digital Security Camera

Ce profil considère des équipements qui sont des caméras de surveillance.

Low Power

Ce profil considère des équipements qui ont la capacité d'être mis en veille (sleep) pour moins consommer d'électricité et d'être réveillé à la demande (wake up) par exemple au moyen du WakeOnLAN.

Device Management

Ce profil considère des équipements qui ont la capacité d'être mis à jour à distance (firmware, modules) et d'être reconfiguré à distance. Ce profil est proche du protocole TR69 des boites ADSL.

API UPnP

Node.js

UPnP Server

npm install upnpserver
npm install upnpserver-cli -g
upnpserver --help
upnpserver -d /MyFilms=~/Movies/ -m /Music=~/Music/ -n "My UPnP Server"

Java

Cling

Bibliothèque UPnP pour Java compatible avec Android

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


Liens