Präsentation
Die Präsentation ist der letzte Schritt im UPnP-Prozess. Wenn ein Gerät über eine URL für die Präsentation verfügt, kann ein Kontrollpunkt eine Seite aus dieser URL abrufen und die Seite in einen Browser laden. Abhängig von den Funktionen der Präsentationsseite und des Geräts kann der Kontrollpunkt das Gerät steuern und die status des Geräts anzeigen.
Im Ressourcenpfad, der während der Registrierung an IUPnPRegistrar übergeben wird, befinden sich alle Dateien, die für die Präsentation des Geräts relevant sind. Geräteentwickler können für jedes eingebettete Gerät separate Seiten bereitstellen. Die Präsentations-URL in der Gerätebeschreibungsvorlage kann entweder eine absolute URL oder eine relative URL sein. Für relative URLs, die relativ zum Ressourcenpfad sind, sollte die Gerätebeschreibungsvorlage einen Dateinamen enthalten. IUPnPRegistrar konvertiert dies in eine URL mit dem tatsächlichen Speicherort. Bei absoluten URLs wird der Speicherort nicht geändert.
Zur Unterstützung clientseitiger Skripts innerhalb einer Präsentationsseite werden an die URL normalerweise zusätzliche Informationen in Form einer "Abfragezeichenfolge" angefügt. Die zusätzlichen Informationen, die angefügt werden, sind die URL zum Gerätebeschreibungsdokument und der UDN des Geräts oder eingebetteten Geräts. Die Gerätebeschreibungs-URL kann verwendet werden, um ein Beschreibungsdokument in das Skript zu laden und das Gerät dann über seine Dienste zu steuern. Der UDN wird verwendet, um ein eingebettetes Gerät aus dem Stammgerät auszuwählen.
Das Format der geänderten Präsentations-URL ist: die tatsächliche Präsentations-URL, ein Fragezeichen ("?"), die Gerätebeschreibungs-URL, ein Pluszeichen ("+"), der Geräte-UDN. Das Fragezeichen gibt den Anfang der Abfragezeichenfolge an.
Wenn die Präsentations-URL in der Gerätebeschreibungsvorlage eine absolute URL war und bereits ein Fragezeichen ("?") enthielt, werden die zusätzlichen Informationen nicht zur Präsentations-URL hinzugefügt.
BESCHREIBUNG | URL |
---|---|
In der Gerätebeschreibungsvorlage | presentationURLMyDevice.html**/presentationURL** |
Vom Gerätehost generiert | presentationURLhttps://machinename/deviceID/MyDevice.html/?https://machine/upnphost/udhisapi.dll?content=uuid:487394 ... + UDN**/presentationURL** |
Ein clientseitiges Skript muss möglicherweise die Gerätebeschreibungs-URL aus der Präsentations-URL extrahieren, um das IUPnPDescriptionDocument-Objekt zu laden. Dazu wird die Abfragezeichenfolge übernommen und mit dem Pluszeichen ("+") beendet.
Dim QueryString
QueryString = window.location.search
Dim DescURLString
DescURLString = Trim(Mid(QueryString,2,Instr(QueryString,"+")-2))& vbCrLf
Dim LightDesc
Set LightDesc = CreateObject("UPnP.DescriptionDocument.1")
LightDesc.Load(DescURLString)
Im Fall einer Präsentationsseite für ein eingebettetes Gerät ist zusätzliche Arbeit erforderlich. Nach dem Laden des UPnPDescriptionDocument muss das Skript die Sammlung eingebetteter Geräte abrufen und dann das Gerät auswählen, das dem UDN in der Abfragezeichenfolge entspricht. Das folgende Skript zeigt, wie Sie das eingebettete Gerät für die aktuelle Präsentationsseite auswählen. Es wird davon ausgegangen, dass LightDesc bereits geladen ist.
Dim LightDevice
Set LightDevice = LightDesc.RootDevice
Dim EmbeddedDevices
set EmbeddedDevices = LightDevice.Children
Dim DeviceUdnString
DeviceUdnString = Trim(Mid(QueryString,Instr(QueryString,"+")+1,Len(QueryString)))
Dim Item
set Item = EmbeddedDevices.Item(DeviceUdnString)