digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten ein - zum Beispiel den VLC-Player

  • 4,815 views
Uploaded on

dSS-Entwickler Patrick Stählin ging auf das Konzept zur Einbindung externer Komponenten ein, das beliebig auf jegliche Hard- und Software mit programmierbaren Schnittstellen anwendbar ist. Die …

dSS-Entwickler Patrick Stählin ging auf das Konzept zur Einbindung externer Komponenten ein, das beliebig auf jegliche Hard- und Software mit programmierbaren Schnittstellen anwendbar ist. Die Einbindung erfolgt jeweils über die JSON oder SOAP-Programmierschnittstelle des dSS, die es erlauben, digitalSTROM-Komponenten zu simulieren oder mittels Software virtuelle Geräte zu implementieren. So kommunizieren diese im digitalSTROM-Netzwerk und können in Szenen integriert und mit einem digitalSTROM-Taster oder der iPhone App aufgerufen werden. Stählin führte das Konzept anhand des VLC-Mediaplayers vor, der nun zum Beispiel beim Klingeln an der Tür die Musik kurz unterbrechen kann. Der entstandene Javascript Code kann nun mit geringem Aufwand an andere Mediaplayer angepasst werden.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
4,815
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Situation Scripting Beispiel Fragen Simulation von Ger¨ten aOder: Wie binde ich IP-Ger¨te in digitalSTROM ein a Patrick St¨hlin a futureLAB AG 27.01.2011
  • 2. Situation Scripting Beispiel FragenSituation Viele Ger¨te wurden in den letzten Jahren IP f¨hig a a digitalSTROM in Version 1.0 nur mit Licht Der digitalSTROM Server (dSS) ist erweiterbar
  • 3. Situation Scripting Beispiel FragenSituation Viele Ger¨te wurden in den letzten Jahren IP f¨hig a a digitalSTROM in Version 1.0 nur mit Licht Der digitalSTROM Server (dSS) ist erweiterbar
  • 4. Situation Scripting Beispiel FragenSituation Viele Ger¨te wurden in den letzten Jahren IP f¨hig a a digitalSTROM in Version 1.0 nur mit Licht Der digitalSTROM Server (dSS) ist erweiterbar
  • 5. Situation Scripting Beispiel FragenSituation Durch die Scriptbarkeit des dSS k¨ nnen nicht digitalSTROM o Ger¨te transparent eingebunden werden. a
  • 6. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APIJavaScript im dSS I SpiderMonkey JavaScript-Engine Aufgerufen durch Events Beim Start (Simulation) Details im Wiki [dT]
  • 7. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APIJavaScript im dSS II M¨ glichkeiten o Events Property-Tree TCP client/server
  • 8. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APIProperties Baumstruktur Speicherbar Zugriff von aussen JSON SOAP
  • 9. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APIProperties Baumstruktur Speicherbar Zugriff von aussen JSON SOAP
  • 10. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APIProperties Baumstruktur Speicherbar Zugriff von aussen JSON SOAP
  • 11. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APIEvents Name Parameter Quelle
  • 12. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APIKonstanten Scene.User1 . . . Scene.User4 Scene.Bell usw. . .
  • 13. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APISimulations API callScene(sceneNumber) getConsumption get/setConfigParameter
  • 14. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APISimulation Bekannt machen in der Simulation: config.xml Instanzierung sim.xml Ansprechen JSON/SOAP digitalSTROM
  • 15. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APISimulation Bekannt machen in der Simulation: config.xml Instanzierung sim.xml Ansprechen JSON/SOAP digitalSTROM
  • 16. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-APISimulation Bekannt machen in der Simulation: config.xml Instanzierung sim.xml Ansprechen JSON/SOAP digitalSTROM
  • 17. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player aCode function SimpleDevice () { this . callScene = function ( sceneNumber ) { print ( ’ SimpleDevice . callScene ’ , sceneNumber ) ; } } new SimpleDevice () ;
  • 18. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player aconfig.xml [...] < property name = " simple_device " > < property name = " script - file [0] " type = " string " > < value >../ jslib / dsid . js </ value > </ property > < property name = " script - file [1] " type = " string " > < value > some / where / simple_device . js </ value > </ property > < property name = " id " type = " string " > < value > example . simple_device </ value > </ property > </ property > [...]
  • 19. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player asim.xml <? xml version = " 1.0 " ? > < simulation version = " 1 " > < modulator busid = " 70 " dsid = " 10 " > < device dsid = " 4 " busid = " 4 " type = " example . simple_device " / > < zone id = " 1 " > < group id = " 1 " > < device busid = " 4 " / > </ group > </ zone > </ modulator > </ simulation >
  • 20. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player aVLC Player OpenSource Medienplayer Dokumentiertes, telnet basiertes Protokoll
  • 21. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player aVLC Player OpenSource Medienplayer Dokumentiertes, telnet basiertes Protokoll
  • 22. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player aKommandos Track: play, stop, prev, next Lautst¨rke: volup, voldown a Jeweils mit LF (n) terminiert
  • 23. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player aMedienger¨te in digitalSTROM a Volume: Scene.Inc/Scene.Dec On: Scene.Off - Scene.User1 Next: Scene.User1 - Scene.User2 - Scene.User3 - Scene.User1 Previous: Scene.User4 - Scene.User3 - Scene.User2 - Scene.User1
  • 24. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player aconfig.xml [...] < property name = " vlc_player " > < property name = " script - file [0] " type = " string " > < value >../ jslib / dsid . js </ value > </ property > < property name = " script - file [1] " type = " string " > < value >../ examples / plugins / js / vlc . js </ value > </ property > < property name = " id " type = " string " > < value > example . vlc_player </ value > </ property > </ property > [...]
  • 25. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player asim.xml <? xml version = " 1.0 " ? > < simulation version = " 1 " > < modulator busid = " 70 " dsid = " 10 " > < device dsid = " 4 " busid = " 4 " type = " example . vlc_player " / > < zone id = " 1 " > < group id = " 4 " > < device busid = " 4 " / > </ group > </ zone > </ modulator > </ simulation >
  • 26. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player aTestaufbau VLC mit rc-interface vlc -I rc --lua-config="rc=host=’localhost:4212’" dSS lokal installiert
  • 27. Situation Scripting Beispiel FragenFragen Fragen?
  • 28. ReferencesReferences I dSS Team. digitalstrom server wiki. http://developer.digitalstrom.org/redmine/ projects/dss/wiki/.