SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
CLICK TO EDIT MASTER TITLE STYLE
DRAHTWANDERUNG:
WIIR MACHEN DEN NÄXTEN SCHRITT
berlin.jar  2008

Falk Hartmann und Tobias Nebel
14. September 2008
ÜBERSICHT
CLICK TO EDIT MASTER TITLE STYLE
•
•
•
•
•

Wer sind wir?
Geräteintegration mit Java
Die ubigrate Integrationsplattform
Demo
Gewinnspiel

14.09.2008

Drahtwanderung

2
CLICK TO EDIT MASTER TITLE STYLE

Wer sind wir?

14.09.2008

Drahtwanderung

3
W ER TO WIR M
CLICKSINDEDIT ? ASTER TITLE STYLE
• ubigrate GmbH, Dresden
• „smart device integration“
• Anbieter von Integrationslösungen
– Produkt-basiert, aber individuell
– Universelle Plattform für Geräteintegrationssoftware
– Zusammenstellung aus standardisierten, wiederverwendbaren
Modulen

• Mitglied der Future Factory Initiative, Silicon Saxony und
Mitgründer der JUG Saxony

14.09.2008

Drahtwanderung

4
UNSER T EDIT GERÄTEVIELFALT
CLICK TOHEMA:MASTER TITLE STYLE

14.09.2008

Drahtwanderung

5
CLICK TO EDIT MASTER TITLE STYLE

Geräteintegration mit Java

14.09.2008

Drahtwanderung

6
METTLER TOLEDO BBA 425
CLICK TO EDIT MASTER TITLE STYLE
Industriewaage
MT-SICS
• Herstellerspezifisches ASCII-Protokoll
„MT Standard Interface Command Set“
• Weitgehende produktübergreifend („Protokollfamilie“)
RS 232
• Standard der seriellen Kommunikation
• Java Communications API javax.comm
v3.0 für Linux, Solaris; v2.0 Windows
http://java.sun.com/products/javacomm/
• RX/TX
API wie javax.comm, aber anderes Package (!)
LGPL 2.1
http://www.rxtx.org/

14.09.2008

Drahtwanderung

7
NZR TO EDIT MASTER TITLE STYLE
CLICKSEM 16 USB
Energiezähler (Zwischenstecker)
EN 62056-21:2002
• Standard für das Auslesen von Energiezählern
• ASCII-basiert
• Hersteller- und produktübergreifend
• Befehle zur Umstellung der Geschwindigkeit des
unterliegenden seriellen Kommunikation
RS 232
• Virtuelle serielle Schnittstelle
USB
• Java: lieber auf die virtuelle serielle Schnittstelle zugreifen

14.09.2008

Drahtwanderung

8
MTK- TO EDIT GPS-MTITLE
CLICKBASIERTEMASTER AUS STYLE
GPS-Navigationsgerät
NMEA-183
• Standard für die Übermittlung von GPS-Daten
• ASCII-basiert
• Hersteller- und produktübergreifend
RS 232
• Virtuelle serielle Schnittstelle
• Möglicher Zugriffpunkt mittels Java
Bluetooth
• SPP (Serial Port Profile)
• Zugriff über JSR-82 Implementierung
• Avetana (kommerziell für Windows und Mac OS X, unter GPL für Linux,
http://www.avetana-gmbh.de/)
• Bluecove (Linux, Windows; LGPL; http://www.bluecove.org)
• siehe JavaSpektrum 1/2009 

14.09.2008

Drahtwanderung

9
SLICK TO EDIT 510
CIRIT INFINITY MASTER TITLE STYLE
RFID-Leser mit Antennenmultiplexer und LBT (UHF)
INfinity 510 Protocol
• ASCII-basiert, konsolenähnlich
TCP/IP
• Java: Heimspiel
• Zwei Verbindungen parallel für Befehle und Ereignisse
→ Synchronisation

14.09.2008

Drahtwanderung

10
L LICK TO EDIT MASTER TITLE STYLE
CEGO MINDSTORMS NXT
Entwicklerspielzeug
Lego Mindstorms Communication Protocol
• Binär, little endian
RS 232
USB
• Virtuelle serielle Schnittstelle • Eigener Treiber
• Java: Nicht empfehlenswert
Bluetooth
• SPP (Serial Port Profile)

14.09.2008

Drahtwanderung

11
WII R TO EDIT
CLICKEMOTE MASTER TITLE STYLE
Consolen-Controller
WII HID Reports
• Binär, spezifisch, undokumentiert
• Reverse Engineered (siehe http://www.wiili.org)
USB HID
• JSR-80: Java-USB (final 2005)
• RI: http://javax-usb.org/
• Alternativen:
jUSB (http://jusb.sf.net)
Eigenentwicklung per JNI

Bluetooth
• L2CAP
• Erfordert L2CAP-tauglichen
OS-Bluetooth-Stack (d.h.,
nicht den MS-Stack)

Bluetooth

14.09.2008

Drahtwanderung

12
PLICK TO SENSORNETZWERK
CARTICLE EDIT MASTER TITLE STYLE
Monitoring von Umgebungsdaten
XML Reports
• Temperatur, Druck, Beschleunigung, Helligkeit
• Herstellerspezifisch
UDP
• Broadcast
• Java: java.net
ComCon
• Herstellerspezifisch
• Sendeinterval der Knoten per Firmware einstellbar

ZigBee
• Java: java.net (Achtung: nicht probiert )

14.09.2008

Drahtwanderung

13
PLICK TO SENSORNETZWERK
CARTICLE EDIT MASTER TITLE STYLE
Monitoring von Umgebungsdaten
XML Reports
• Temperatur, Druck, Beschleunigung, Helligkeit
• Herstellerspezifisch
UDP
• Broadcast
• Java: java.net
ComCon
• Herstellerspezifisch
• Sendeintervall der Knoten per Firmware einstellbar

ZigBee
• Java: java.net (Achtung: nicht probiert )

14.09.2008

Drahtwanderung

14
VLICK TO EDIT MASTER TITLE
COLTCRAFT VC XXX SERIES STYLE
Voltmeter
(Namenlos)
VC 840: Binäres Protokoll
VC 940: ASCII-Protokoll
RS 232
• VC 840: 2400 8/O/1
• VC 940: 2400 7/O/1
• Java: siehe vorn

( VC 940)

- e f a d c g b
( VC 840)

14.09.2008

Drahtwanderung

15
SLICK TO EDIT
CONSTIGES MASTER TITLE STYLE
• SNMP
– SNMP4J: http://www.snmp4j.org

• IETF RFC 2217 (Telnet COM Port Control Protocol)
– Eigenbau basierend z.B. auf telnetd möglich http://telnetd.sf.net

• IEEE 1384
– Keine Java-Lösung in Sicht, „micromanager Ansatz“ möglich
– http://www.micro-manager.org

• OPC
–
–
–
–
–

OLE for Process Control
Abhängig von Version
OPC: nur über eine Bridge auf MS-OS (z.B. SAP xMII UDC)
OPC DA: XML-basiert
OPC UA: Java Stack vorgesehen

• IEEE 1284 (Druckerport)
– Recht selten, prinzipiell per RXTX
14.09.2008

Drahtwanderung

16
CLICK TO EDIT MASTER TITLE STYLE

Die ubigrate Integrationsplattform

14.09.2008

Drahtwanderung

17
PLICK TO
CRODUKT EDIT MASTER TITLE STYLE

14.09.2008

Drahtwanderung

18
T LICK TO EDIT RUNDLAGEN
CECHNISCHE GMASTER TITLE STYLE
•
•
•
•
•

OSGi-basiert (Equinox 3.3)
Declarative Services
Modellierung mittels XML Schema
Einsatz von JAXB (RI) mit zusätzlichen XJC Plugins
Diverse APIs für die Ankopplung von Geräten (siehe
vorn) und Applikationen (Hibernate, JCo)

• Grundlegender Komponenten-Aufbau
«consumer»
Events
Data

14.09.2008

«producer»

Komponente

Drahtwanderung

Events
Data

19
ALICK TO EDIT GERÄTEADAPTERS
CUFBAU EINES MASTER TITLE STYLE
Events

Data

Object
Custom type

RFIDEvent

SCXML (?)

Control Layer
Map<String,Object>
Custom type

MessageEvent

Proprietäres XML
(„.msg.xml“)

Message Layer
LinkEvent

byte[]
Link Layer

14.09.2008

Drahtwanderung

20
ALICK TO EDIT MASTER TITLE
CBSTRAKTIONSSCHICHTEN STYLE

Control Layer

RFIDReaderAdapter

MeasurementAdapter

...
Message Layer

Quasar
MR1

SIRIT Infinity
510

Particle
Sensornetz

Voltcraft 840

...
Link Layer

RS 232

14.09.2008

TCP

UDP

Bluetooth

Drahtwanderung

USB HID

File

...

21
V LICK TO EDIT ZUR BOTSCHAFT UND
CON DEN DATENMASTER TITLE STYLEZURÜCK
INfinity_510_Control.msg.xml
<message id="reader-register_event-request"
responses="reader-register_event-response">
<types:string fixed="reader.register_event("/>
<types:integer
target="eventConnectionID“
encoding="enc:ascii“
pattern="###0"/>
<types:string fixed=", "/>
<types:string target="eventTypes"/>
<types:string fixed=")"/>
<include-message ref="crlf"/>
</message>

14.09.2008

Drahtwanderung

22
Message Layer

V LICK TO EDIT ZUR BOTSCHAFT UND
CON DEN DATENMASTER TITLE STYLEZURÜCK

24: Integer

<types:integer
target="eventConnectionID"
pattern="###0“

Formatter
"24": String

Link Layer

Encoder

14.09.2008

encoding="enc:ascii“
/>

{0x32, 0x34} : byte[]

Drahtwanderung

23
OUT-OF-ORDER ASTER TITLE STYLE
CLICK TO EDIT MMESSAGE CREATION
RDHC_0202N0_02.msg.xml
<message id="binary-prefix" scope="private">
<types:byte fixed="STX"/>
<byte-boundary id="checksum-start"/>
<types:byte target="stationID"/>
<types:byte
calculate="position(${payload-end})position(${payload-start})"/>
<byte-boundary id="payload-start"/>
</message>

<message id="binary-postfix" scope="private">
<byte-boundary id="payload-end"/>
<byte-boundary id="checksum-end"/>
<types:byte
calculate="xor(${checksum-start:checksum-end})"/>
<types:byte fixed="ETX"/>
</message>

14.09.2008

Drahtwanderung

24
OUT-OF-ORDER ASTER TITLE STYLE
CLICK TO EDIT MMESSAGE CREATION
Beispiel: TAGnology ACG HF Multi ISO RFID Reader
STX

Station ID

Length

Flags

Data

1 byte

1 byte

1 byte

1 byte

Variable Length

BCC

ETX

1 byte 1 byte

• Length unbekannt bevor Data vollständig zur Verfügung
• Berechnung der BCC schließt Length ein
– Hier: BCC per XOR, keine Pufferung notwendig
– Andere Reader: CRC-16 o.ä., Out-of-Order computation
komplex, teilweise Patente

14.09.2008

Drahtwanderung

25
L LICK VENTS
CINK ETO EDIT MASTER TITLE STYLE
SEM16USB.msg.xml
<message id="ascii-programming-mode-request"
responses="ascii-programming-mode-response">
<types:byte fixed="ACK"/>
<types:string fixed="0"/>
<types:char target="baud-rate" pattern="#“ id=“baudrate”/>
<types:string fixed="1"/>
<include-message ref="crlf"/>
<event receiver="link"
class="com.ubigrate…events.Reconfigure">
<rs232events:reconfigure baud-rate=“${baudrate}"/>
</message>

14.09.2008

Drahtwanderung

26
L LICK VENTS
CINK ETO EDIT MASTER TITLE STYLE
• Steuerung des Link-Layers durch das Message-Layer
• Link-spezifische Information im Message Model
– Semantik: Nicht angesprochene Links müssen Event ignorieren!

• Beispiele:
– Protokoll-bedingte Umstellung der Link-Geschwindigkeit
• Beispiele: EN 62056-21:2002 über RS 232, ODB-2

– Vollständigkeit einer Übertragungseinheit
• Bei Links mit festen Sendelängen
• Beispiel: USB HID

14.09.2008

Drahtwanderung

27
CLICK TO EDIT MASTER TITLE STYLE

Demo

14.09.2008

Drahtwanderung

28
ALICK TO EDIT
CRCHITEKTUR MASTER TITLE STYLE
- Wire Contact

IO Warrior

Hotwire Demo
Application

WII Remote
-Acceleration
-Buttons
-Rumble

Flex UI

Mindstorms
-Ultrasonic & Touch Sensor
-Motors

14.09.2008

Drahtwanderung

29
CLICK TO EDIT MASTER TITLE STYLE

Gewinnspiel

14.09.2008

Drahtwanderung

30
REGELN
CLICK TO EDIT MASTER TITLE STYLE
•
•
•
•

Ziel: Kürzeste Fahrzeit
Es muß von Anfang bis Ende gefahren werden.
1x Kontakt → 10 Sekunden Penalty
Hinweise:
–
–
–
–

14.09.2008

Fahren = „B“ (Unterseite)
Geschwindigkeit/Richtung: Kippen der WII Remote
Links/Rechts: Drehen der WII Remote
Achtung: Bei Kontakt stoppt Qubi, erst Kontakt lösen!

Drahtwanderung

31
PLICK TO
CREISE EDIT MASTER TITLE STYLE

3x
14.09.2008

Drahtwanderung

32
KLICK TO
CONTAKT EDIT MASTER TITLE STYLE
Vielen Dank für Ihre Aufmerksamkeit!
Anfragen können Sie jederzeit an uns richten.

http://www.ubigrate.com
http://www.jugsaxony.org
14.09.2008

Drahtwanderung

33

Weitere ähnliche Inhalte

Andere mochten auch

Margelhs1
Margelhs1Margelhs1
Margelhs1
kabbada
 
Guest Lecture 2011.06 - Georg Greve - Mit FOSS Geld verdienen (Digital Sustai...
Guest Lecture 2011.06 - Georg Greve - Mit FOSS Geld verdienen (Digital Sustai...Guest Lecture 2011.06 - Georg Greve - Mit FOSS Geld verdienen (Digital Sustai...
Guest Lecture 2011.06 - Georg Greve - Mit FOSS Geld verdienen (Digital Sustai...
Marcus Dapp
 
Social Media 2012 / Online-Handel 2012
Social Media 2012 / Online-Handel 2012Social Media 2012 / Online-Handel 2012
Social Media 2012 / Online-Handel 2012
Kolle Rebbe GmbH
 

Andere mochten auch (20)

Nistagmus
NistagmusNistagmus
Nistagmus
 
Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)
Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)
Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)
 
Digitalisierung für Einsteiger - Praxisorientierter Workshop für Unternehmer
Digitalisierung für Einsteiger - Praxisorientierter Workshop für UnternehmerDigitalisierung für Einsteiger - Praxisorientierter Workshop für Unternehmer
Digitalisierung für Einsteiger - Praxisorientierter Workshop für Unternehmer
 
Margelhs1
Margelhs1Margelhs1
Margelhs1
 
guitar hero- para principiantes
guitar hero- para principiantesguitar hero- para principiantes
guitar hero- para principiantes
 
Sami Khalaji Notfälle in der Zahnmedizin
Sami Khalaji Notfälle in der ZahnmedizinSami Khalaji Notfälle in der Zahnmedizin
Sami Khalaji Notfälle in der Zahnmedizin
 
Kneipenabend
KneipenabendKneipenabend
Kneipenabend
 
Security by Design - von der Single Instanz über DWH, In-Memory, Big Data mit...
Security by Design - von der Single Instanz über DWH, In-Memory, Big Data mit...Security by Design - von der Single Instanz über DWH, In-Memory, Big Data mit...
Security by Design - von der Single Instanz über DWH, In-Memory, Big Data mit...
 
Gesamt1
Gesamt1Gesamt1
Gesamt1
 
Kurzvorstellung VCAT Consulting GmbH
Kurzvorstellung VCAT Consulting GmbHKurzvorstellung VCAT Consulting GmbH
Kurzvorstellung VCAT Consulting GmbH
 
Guest Lecture 2011.06 - Georg Greve - Mit FOSS Geld verdienen (Digital Sustai...
Guest Lecture 2011.06 - Georg Greve - Mit FOSS Geld verdienen (Digital Sustai...Guest Lecture 2011.06 - Georg Greve - Mit FOSS Geld verdienen (Digital Sustai...
Guest Lecture 2011.06 - Georg Greve - Mit FOSS Geld verdienen (Digital Sustai...
 
Social Media 2012 / Online-Handel 2012
Social Media 2012 / Online-Handel 2012Social Media 2012 / Online-Handel 2012
Social Media 2012 / Online-Handel 2012
 
Kunden in Sozialen Netzen
Kunden in Sozialen NetzenKunden in Sozialen Netzen
Kunden in Sozialen Netzen
 
Groups 2010.06: Offenheit von Geodaten (Digital Sustainability)
Groups 2010.06: Offenheit von Geodaten (Digital Sustainability)Groups 2010.06: Offenheit von Geodaten (Digital Sustainability)
Groups 2010.06: Offenheit von Geodaten (Digital Sustainability)
 
CSR Im Mittelstand - Präsentation der VCAT Consulting GmbH für den BER Busine...
CSR Im Mittelstand - Präsentation der VCAT Consulting GmbH für den BER Busine...CSR Im Mittelstand - Präsentation der VCAT Consulting GmbH für den BER Busine...
CSR Im Mittelstand - Präsentation der VCAT Consulting GmbH für den BER Busine...
 
Brennpunkt eTourism: Bausteine erfolgreicher Suchmaschinenoptimierung
Brennpunkt eTourism: Bausteine erfolgreicher SuchmaschinenoptimierungBrennpunkt eTourism: Bausteine erfolgreicher Suchmaschinenoptimierung
Brennpunkt eTourism: Bausteine erfolgreicher Suchmaschinenoptimierung
 
20110217 web 2.0 präsentation quadriga
20110217 web 2.0 präsentation quadriga20110217 web 2.0 präsentation quadriga
20110217 web 2.0 präsentation quadriga
 
Lanz1
Lanz1Lanz1
Lanz1
 
SS2011
SS2011SS2011
SS2011
 
Oracle Information Rights Management Introduction (German)
Oracle Information Rights Management Introduction (German)Oracle Information Rights Management Introduction (German)
Oracle Information Rights Management Introduction (German)
 

Ähnlich wie Drahtwanderung: Wir machen den NeXTen Schritt

Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
Maximilan Wilhelm
 
20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge
Werner Fischer
 
Grundlagen der IP Kommunikation
Grundlagen der IP KommunikationGrundlagen der IP Kommunikation
Grundlagen der IP Kommunikation
Kay Schönewerk
 

Ähnlich wie Drahtwanderung: Wir machen den NeXTen Schritt (20)

DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 ServerDOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Praktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 ServernPraktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 Servern
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
CPU Update Juni 2017
CPU Update Juni 2017CPU Update Juni 2017
CPU Update Juni 2017
 
.NET Gadgeteer
.NET Gadgeteer.NET Gadgeteer
.NET Gadgeteer
 
20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge
 
.NET Gadgeteer // msg@dnc12
.NET Gadgeteer // msg@dnc12.NET Gadgeteer // msg@dnc12
.NET Gadgeteer // msg@dnc12
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Grundlagen der IP Kommunikation
Grundlagen der IP KommunikationGrundlagen der IP Kommunikation
Grundlagen der IP Kommunikation
 
[DE] IoT Protokolle
[DE] IoT Protokolle[DE] IoT Protokolle
[DE] IoT Protokolle
 
Industry 4.0 in a box
Industry 4.0 in a boxIndustry 4.0 in a box
Industry 4.0 in a box
 
openstack Übersicht @GPN15
openstack Übersicht @GPN15openstack Übersicht @GPN15
openstack Übersicht @GPN15
 
Tobias Nebel- Eclipse Sparkplug - Zündfunken für MQTT in der Industrie?
Tobias Nebel- Eclipse Sparkplug - Zündfunken für MQTT in der Industrie?Tobias Nebel- Eclipse Sparkplug - Zündfunken für MQTT in der Industrie?
Tobias Nebel- Eclipse Sparkplug - Zündfunken für MQTT in der Industrie?
 
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
 
Status of syslog as of 2005
Status of syslog as of 2005Status of syslog as of 2005
Status of syslog as of 2005
 
CadSoft - Elektro Anwendungen - Tutorial Version 4
CadSoft - Elektro Anwendungen - Tutorial Version 4CadSoft - Elektro Anwendungen - Tutorial Version 4
CadSoft - Elektro Anwendungen - Tutorial Version 4
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 

Mehr von Falk Hartmann (9)

Risikomanagement in der Softwareentwicklung
Risikomanagement in der SoftwareentwicklungRisikomanagement in der Softwareentwicklung
Risikomanagement in der Softwareentwicklung
 
An Introduction to AngularJS
An Introduction to AngularJSAn Introduction to AngularJS
An Introduction to AngularJS
 
Risiko Management in der Softwareentwicklung
Risiko Management in der SoftwareentwicklungRisiko Management in der Softwareentwicklung
Risiko Management in der Softwareentwicklung
 
D3ML Session
D3ML SessionD3ML Session
D3ML Session
 
An Architecture for an XML-Template Engine enabling Safe Authoring
An Architecture for an XML-Template Engine enabling Safe AuthoringAn Architecture for an XML-Template Engine enabling Safe Authoring
An Architecture for an XML-Template Engine enabling Safe Authoring
 
A Distributed Staged Architecture for Multimodal Applications
A Distributed Staged Architecture for Multimodal ApplicationsA Distributed Staged Architecture for Multimodal Applications
A Distributed Staged Architecture for Multimodal Applications
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende Programmierung
 
Sichere templategestützte Verarbeitung von XML-Dokumenten
Sichere templategestützte Verarbeitung von XML-DokumentenSichere templategestützte Verarbeitung von XML-Dokumenten
Sichere templategestützte Verarbeitung von XML-Dokumenten
 
Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen
Protocol Engineering: Beschreibung und Entwicklung von KommunikationsprotokollenProtocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen
Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen
 

Drahtwanderung: Wir machen den NeXTen Schritt

  • 1. CLICK TO EDIT MASTER TITLE STYLE DRAHTWANDERUNG: WIIR MACHEN DEN NÄXTEN SCHRITT berlin.jar  2008 Falk Hartmann und Tobias Nebel 14. September 2008
  • 2. ÜBERSICHT CLICK TO EDIT MASTER TITLE STYLE • • • • • Wer sind wir? Geräteintegration mit Java Die ubigrate Integrationsplattform Demo Gewinnspiel 14.09.2008 Drahtwanderung 2
  • 3. CLICK TO EDIT MASTER TITLE STYLE Wer sind wir? 14.09.2008 Drahtwanderung 3
  • 4. W ER TO WIR M CLICKSINDEDIT ? ASTER TITLE STYLE • ubigrate GmbH, Dresden • „smart device integration“ • Anbieter von Integrationslösungen – Produkt-basiert, aber individuell – Universelle Plattform für Geräteintegrationssoftware – Zusammenstellung aus standardisierten, wiederverwendbaren Modulen • Mitglied der Future Factory Initiative, Silicon Saxony und Mitgründer der JUG Saxony 14.09.2008 Drahtwanderung 4
  • 5. UNSER T EDIT GERÄTEVIELFALT CLICK TOHEMA:MASTER TITLE STYLE 14.09.2008 Drahtwanderung 5
  • 6. CLICK TO EDIT MASTER TITLE STYLE Geräteintegration mit Java 14.09.2008 Drahtwanderung 6
  • 7. METTLER TOLEDO BBA 425 CLICK TO EDIT MASTER TITLE STYLE Industriewaage MT-SICS • Herstellerspezifisches ASCII-Protokoll „MT Standard Interface Command Set“ • Weitgehende produktübergreifend („Protokollfamilie“) RS 232 • Standard der seriellen Kommunikation • Java Communications API javax.comm v3.0 für Linux, Solaris; v2.0 Windows http://java.sun.com/products/javacomm/ • RX/TX API wie javax.comm, aber anderes Package (!) LGPL 2.1 http://www.rxtx.org/ 14.09.2008 Drahtwanderung 7
  • 8. NZR TO EDIT MASTER TITLE STYLE CLICKSEM 16 USB Energiezähler (Zwischenstecker) EN 62056-21:2002 • Standard für das Auslesen von Energiezählern • ASCII-basiert • Hersteller- und produktübergreifend • Befehle zur Umstellung der Geschwindigkeit des unterliegenden seriellen Kommunikation RS 232 • Virtuelle serielle Schnittstelle USB • Java: lieber auf die virtuelle serielle Schnittstelle zugreifen 14.09.2008 Drahtwanderung 8
  • 9. MTK- TO EDIT GPS-MTITLE CLICKBASIERTEMASTER AUS STYLE GPS-Navigationsgerät NMEA-183 • Standard für die Übermittlung von GPS-Daten • ASCII-basiert • Hersteller- und produktübergreifend RS 232 • Virtuelle serielle Schnittstelle • Möglicher Zugriffpunkt mittels Java Bluetooth • SPP (Serial Port Profile) • Zugriff über JSR-82 Implementierung • Avetana (kommerziell für Windows und Mac OS X, unter GPL für Linux, http://www.avetana-gmbh.de/) • Bluecove (Linux, Windows; LGPL; http://www.bluecove.org) • siehe JavaSpektrum 1/2009  14.09.2008 Drahtwanderung 9
  • 10. SLICK TO EDIT 510 CIRIT INFINITY MASTER TITLE STYLE RFID-Leser mit Antennenmultiplexer und LBT (UHF) INfinity 510 Protocol • ASCII-basiert, konsolenähnlich TCP/IP • Java: Heimspiel • Zwei Verbindungen parallel für Befehle und Ereignisse → Synchronisation 14.09.2008 Drahtwanderung 10
  • 11. L LICK TO EDIT MASTER TITLE STYLE CEGO MINDSTORMS NXT Entwicklerspielzeug Lego Mindstorms Communication Protocol • Binär, little endian RS 232 USB • Virtuelle serielle Schnittstelle • Eigener Treiber • Java: Nicht empfehlenswert Bluetooth • SPP (Serial Port Profile) 14.09.2008 Drahtwanderung 11
  • 12. WII R TO EDIT CLICKEMOTE MASTER TITLE STYLE Consolen-Controller WII HID Reports • Binär, spezifisch, undokumentiert • Reverse Engineered (siehe http://www.wiili.org) USB HID • JSR-80: Java-USB (final 2005) • RI: http://javax-usb.org/ • Alternativen: jUSB (http://jusb.sf.net) Eigenentwicklung per JNI Bluetooth • L2CAP • Erfordert L2CAP-tauglichen OS-Bluetooth-Stack (d.h., nicht den MS-Stack) Bluetooth 14.09.2008 Drahtwanderung 12
  • 13. PLICK TO SENSORNETZWERK CARTICLE EDIT MASTER TITLE STYLE Monitoring von Umgebungsdaten XML Reports • Temperatur, Druck, Beschleunigung, Helligkeit • Herstellerspezifisch UDP • Broadcast • Java: java.net ComCon • Herstellerspezifisch • Sendeinterval der Knoten per Firmware einstellbar ZigBee • Java: java.net (Achtung: nicht probiert ) 14.09.2008 Drahtwanderung 13
  • 14. PLICK TO SENSORNETZWERK CARTICLE EDIT MASTER TITLE STYLE Monitoring von Umgebungsdaten XML Reports • Temperatur, Druck, Beschleunigung, Helligkeit • Herstellerspezifisch UDP • Broadcast • Java: java.net ComCon • Herstellerspezifisch • Sendeintervall der Knoten per Firmware einstellbar ZigBee • Java: java.net (Achtung: nicht probiert ) 14.09.2008 Drahtwanderung 14
  • 15. VLICK TO EDIT MASTER TITLE COLTCRAFT VC XXX SERIES STYLE Voltmeter (Namenlos) VC 840: Binäres Protokoll VC 940: ASCII-Protokoll RS 232 • VC 840: 2400 8/O/1 • VC 940: 2400 7/O/1 • Java: siehe vorn ( VC 940) - e f a d c g b ( VC 840) 14.09.2008 Drahtwanderung 15
  • 16. SLICK TO EDIT CONSTIGES MASTER TITLE STYLE • SNMP – SNMP4J: http://www.snmp4j.org • IETF RFC 2217 (Telnet COM Port Control Protocol) – Eigenbau basierend z.B. auf telnetd möglich http://telnetd.sf.net • IEEE 1384 – Keine Java-Lösung in Sicht, „micromanager Ansatz“ möglich – http://www.micro-manager.org • OPC – – – – – OLE for Process Control Abhängig von Version OPC: nur über eine Bridge auf MS-OS (z.B. SAP xMII UDC) OPC DA: XML-basiert OPC UA: Java Stack vorgesehen • IEEE 1284 (Druckerport) – Recht selten, prinzipiell per RXTX 14.09.2008 Drahtwanderung 16
  • 17. CLICK TO EDIT MASTER TITLE STYLE Die ubigrate Integrationsplattform 14.09.2008 Drahtwanderung 17
  • 18. PLICK TO CRODUKT EDIT MASTER TITLE STYLE 14.09.2008 Drahtwanderung 18
  • 19. T LICK TO EDIT RUNDLAGEN CECHNISCHE GMASTER TITLE STYLE • • • • • OSGi-basiert (Equinox 3.3) Declarative Services Modellierung mittels XML Schema Einsatz von JAXB (RI) mit zusätzlichen XJC Plugins Diverse APIs für die Ankopplung von Geräten (siehe vorn) und Applikationen (Hibernate, JCo) • Grundlegender Komponenten-Aufbau «consumer» Events Data 14.09.2008 «producer» Komponente Drahtwanderung Events Data 19
  • 20. ALICK TO EDIT GERÄTEADAPTERS CUFBAU EINES MASTER TITLE STYLE Events Data Object Custom type RFIDEvent SCXML (?) Control Layer Map<String,Object> Custom type MessageEvent Proprietäres XML („.msg.xml“) Message Layer LinkEvent byte[] Link Layer 14.09.2008 Drahtwanderung 20
  • 21. ALICK TO EDIT MASTER TITLE CBSTRAKTIONSSCHICHTEN STYLE Control Layer RFIDReaderAdapter MeasurementAdapter ... Message Layer Quasar MR1 SIRIT Infinity 510 Particle Sensornetz Voltcraft 840 ... Link Layer RS 232 14.09.2008 TCP UDP Bluetooth Drahtwanderung USB HID File ... 21
  • 22. V LICK TO EDIT ZUR BOTSCHAFT UND CON DEN DATENMASTER TITLE STYLEZURÜCK INfinity_510_Control.msg.xml <message id="reader-register_event-request" responses="reader-register_event-response"> <types:string fixed="reader.register_event("/> <types:integer target="eventConnectionID“ encoding="enc:ascii“ pattern="###0"/> <types:string fixed=", "/> <types:string target="eventTypes"/> <types:string fixed=")"/> <include-message ref="crlf"/> </message> 14.09.2008 Drahtwanderung 22
  • 23. Message Layer V LICK TO EDIT ZUR BOTSCHAFT UND CON DEN DATENMASTER TITLE STYLEZURÜCK 24: Integer <types:integer target="eventConnectionID" pattern="###0“ Formatter "24": String Link Layer Encoder 14.09.2008 encoding="enc:ascii“ /> {0x32, 0x34} : byte[] Drahtwanderung 23
  • 24. OUT-OF-ORDER ASTER TITLE STYLE CLICK TO EDIT MMESSAGE CREATION RDHC_0202N0_02.msg.xml <message id="binary-prefix" scope="private"> <types:byte fixed="STX"/> <byte-boundary id="checksum-start"/> <types:byte target="stationID"/> <types:byte calculate="position(${payload-end})position(${payload-start})"/> <byte-boundary id="payload-start"/> </message> <message id="binary-postfix" scope="private"> <byte-boundary id="payload-end"/> <byte-boundary id="checksum-end"/> <types:byte calculate="xor(${checksum-start:checksum-end})"/> <types:byte fixed="ETX"/> </message> 14.09.2008 Drahtwanderung 24
  • 25. OUT-OF-ORDER ASTER TITLE STYLE CLICK TO EDIT MMESSAGE CREATION Beispiel: TAGnology ACG HF Multi ISO RFID Reader STX Station ID Length Flags Data 1 byte 1 byte 1 byte 1 byte Variable Length BCC ETX 1 byte 1 byte • Length unbekannt bevor Data vollständig zur Verfügung • Berechnung der BCC schließt Length ein – Hier: BCC per XOR, keine Pufferung notwendig – Andere Reader: CRC-16 o.ä., Out-of-Order computation komplex, teilweise Patente 14.09.2008 Drahtwanderung 25
  • 26. L LICK VENTS CINK ETO EDIT MASTER TITLE STYLE SEM16USB.msg.xml <message id="ascii-programming-mode-request" responses="ascii-programming-mode-response"> <types:byte fixed="ACK"/> <types:string fixed="0"/> <types:char target="baud-rate" pattern="#“ id=“baudrate”/> <types:string fixed="1"/> <include-message ref="crlf"/> <event receiver="link" class="com.ubigrate…events.Reconfigure"> <rs232events:reconfigure baud-rate=“${baudrate}"/> </message> 14.09.2008 Drahtwanderung 26
  • 27. L LICK VENTS CINK ETO EDIT MASTER TITLE STYLE • Steuerung des Link-Layers durch das Message-Layer • Link-spezifische Information im Message Model – Semantik: Nicht angesprochene Links müssen Event ignorieren! • Beispiele: – Protokoll-bedingte Umstellung der Link-Geschwindigkeit • Beispiele: EN 62056-21:2002 über RS 232, ODB-2 – Vollständigkeit einer Übertragungseinheit • Bei Links mit festen Sendelängen • Beispiel: USB HID 14.09.2008 Drahtwanderung 27
  • 28. CLICK TO EDIT MASTER TITLE STYLE Demo 14.09.2008 Drahtwanderung 28
  • 29. ALICK TO EDIT CRCHITEKTUR MASTER TITLE STYLE - Wire Contact IO Warrior Hotwire Demo Application WII Remote -Acceleration -Buttons -Rumble Flex UI Mindstorms -Ultrasonic & Touch Sensor -Motors 14.09.2008 Drahtwanderung 29
  • 30. CLICK TO EDIT MASTER TITLE STYLE Gewinnspiel 14.09.2008 Drahtwanderung 30
  • 31. REGELN CLICK TO EDIT MASTER TITLE STYLE • • • • Ziel: Kürzeste Fahrzeit Es muß von Anfang bis Ende gefahren werden. 1x Kontakt → 10 Sekunden Penalty Hinweise: – – – – 14.09.2008 Fahren = „B“ (Unterseite) Geschwindigkeit/Richtung: Kippen der WII Remote Links/Rechts: Drehen der WII Remote Achtung: Bei Kontakt stoppt Qubi, erst Kontakt lösen! Drahtwanderung 31
  • 32. PLICK TO CREISE EDIT MASTER TITLE STYLE 3x 14.09.2008 Drahtwanderung 32
  • 33. KLICK TO CONTAKT EDIT MASTER TITLE STYLE Vielen Dank für Ihre Aufmerksamkeit! Anfragen können Sie jederzeit an uns richten. http://www.ubigrate.com http://www.jugsaxony.org 14.09.2008 Drahtwanderung 33