drahtwanderung: wir machen den nexten schritt
DESCRIPTION
TRANSCRIPT
![Page 1: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/1.jpg)
CLICK TO EDIT MASTER TITLE STYLEDRAHTWANDERUNG:
WIIR MACHEN DEN NÄXTEN SCHRITT
berlin.jar 2008
Falk Hartmann und Tobias Nebel
14. September 2008
![Page 2: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/2.jpg)
CLICK TO EDIT MASTER TITLE STYLE
• Wer sind wir?
• Geräteintegration mit Java
• Die ubigrate Integrationsplattform
• Demo
• Gewinnspiel
ÜBERSICHT
14.09.2008 2Drahtwanderung
![Page 3: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/3.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Wer sind wir?
14.09.2008 3Drahtwanderung
![Page 4: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/4.jpg)
CLICK TO EDIT MASTER 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
WER SIND WIR?
14.09.2008 4Drahtwanderung
![Page 5: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/5.jpg)
CLICK TO EDIT MASTER TITLE STYLEUNSER THEMA: GERÄTEVIELFALT
14.09.2008 5Drahtwanderung
![Page 6: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/6.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Geräteintegration mit Java
14.09.2008 6Drahtwanderung
![Page 7: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/7.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Industriewaage
METTLER TOLEDO BBA 425
14.09.2008 7Drahtwanderung
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 Windowshttp://java.sun.com/products/javacomm/
• RX/TXAPI wie javax.comm, aber anderes Package (!)LGPL 2.1http://www.rxtx.org/
![Page 8: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/8.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Energiezähler (Zwischenstecker)
NZR SEM 16 USB
14.09.2008 8Drahtwanderung
EN 62056-21:2002• Standard für das Auslesen von Energiezählern• ASCII-basiert• Hersteller- und produktübergreifend• Befehle zur Umstellung der Geschwindigkeit desunterliegenden seriellen Kommunikation
RS 232• Virtuelle serielle Schnittstelle
USB• Java: lieber auf die virtuelle serielle Schnittstelle zugreifen
![Page 9: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/9.jpg)
CLICK TO EDIT MASTER TITLE STYLE
GPS-Navigationsgerät
MTK-BASIERTE GPS-MAUS
14.09.2008 9Drahtwanderung
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
![Page 10: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/10.jpg)
CLICK TO EDIT MASTER TITLE STYLE
RFID-Leser mit Antennenmultiplexer und LBT (UHF)
SIRIT INFINITY 510
14.09.2008 10Drahtwanderung
INfinity 510 Protocol • ASCII-basiert, konsolenähnlich
TCP/IP• Java: Heimspiel• Zwei Verbindungen parallel für Befehle und Ereignisse→ Synchronisation
![Page 11: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/11.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Entwicklerspielzeug
LEGO MINDSTORMS NXT
14.09.2008 11Drahtwanderung
Lego Mindstorms Communication Protocol• Binär, little endian
RS 232• Virtuelle serielle Schnittstelle
USB• Eigener Treiber• Java: Nicht empfehlenswert Bluetooth
• SPP (Serial Port Profile)
![Page 12: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/12.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Consolen-Controller
WII REMOTE
14.09.2008 12Drahtwanderung
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
![Page 13: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/13.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Monitoring von Umgebungsdaten
PARTICLE SENSORNETZWERK
14.09.2008 13Drahtwanderung
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 )
![Page 14: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/14.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Monitoring von Umgebungsdaten
PARTICLE SENSORNETZWERK
14.09.2008 14Drahtwanderung
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 )
![Page 15: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/15.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Voltmeter
VOLTCRAFT VC XXX SERIES
14.09.2008 15Drahtwanderung
(Namenlos)VC 840: Binäres ProtokollVC 940: ASCII-Protokoll
RS 232• VC 840: 2400 8/O/1• VC 940: 2400 7/O/1• Java: siehe vorn
- f ba ge d c
( VC 840)
( VC 940)
![Page 16: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/16.jpg)
CLICK TO EDIT 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
SONSTIGES
14.09.2008 16Drahtwanderung
![Page 17: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/17.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Die ubigrate Integrationsplattform
14.09.2008 17Drahtwanderung
![Page 18: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/18.jpg)
CLICK TO EDIT MASTER TITLE STYLEPRODUKT
14.09.2008 18Drahtwanderung
![Page 19: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/19.jpg)
CLICK TO EDIT MASTER 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
TECHNISCHE GRUNDLAGEN
14.09.2008 19Drahtwanderung
Komponente
«consumer»
Events
DataData
«producer»
Events
![Page 20: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/20.jpg)
CLICK TO EDIT MASTER TITLE STYLEAUFBAU EINES GERÄTEADAPTERS
Link Layer
Message Layer
Control Layer
byte[]LinkEvent
Map<String,Object>Custom typeMessageEvent
RFIDEventObject
Custom type
Proprietäres XML(„.msg.xml“)
SCXML (?)
DataEvents
14.09.2008 20Drahtwanderung
![Page 21: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/21.jpg)
CLICK TO EDIT MASTER TITLE STYLEABSTRAKTIONSSCHICHTEN
14.09.2008 21Drahtwanderung
Link Layer
Message Layer
Control Layer
RS 232 TCP Bluetooth USB HID FileUDP
RFIDReaderAdapter
Quasar MR1
SIRIT Infinity 510
Particle Sensornetz
MeasurementAdapter
Voltcraft 840
...
...
...
![Page 22: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/22.jpg)
CLICK TO EDIT MASTER TITLE STYLE
<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>
VON DEN DATEN ZUR BOTSCHAFT UND ZURÜCK
14.09.2008 22Drahtwanderung
INfinity_510_Control.msg.xml
![Page 23: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/23.jpg)
CLICK TO EDIT MASTER TITLE STYLE
<types:integer
target="eventConnectionID"
pattern="###0“
encoding="enc:ascii“
/>
VON DEN DATEN ZUR BOTSCHAFT UND ZURÜCK
14.09.2008 23Drahtwanderung
24: Integer
"24": String
{0x32, 0x34} : byte[]
Encoder
Formatter
Mes
sage
Lay
erLi
nk
Laye
r
![Page 24: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/24.jpg)
CLICK TO EDIT MASTER TITLE STYLE
<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>
OUT-OF-ORDER MESSAGE CREATION
14.09.2008 24Drahtwanderung
RDHC_0202N0_02.msg.xml
![Page 25: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/25.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Beispiel: TAGnology ACG HF Multi ISO RFID Reader
• 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
OUT-OF-ORDER MESSAGE CREATION
14.09.2008 25Drahtwanderung
STX Station ID Length Flags Data BCC ETX
1 byte 1 byte 1 byte 1 byte Variable Length 1 byte 1 byte
![Page 26: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/26.jpg)
CLICK TO EDIT MASTER TITLE STYLE
<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>
LINK EVENTS
14.09.2008 26Drahtwanderung
SEM16USB.msg.xml
![Page 27: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/27.jpg)
CLICK TO 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
LINK EVENTS
14.09.2008 27Drahtwanderung
![Page 28: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/28.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Demo
14.09.2008 28Drahtwanderung
![Page 29: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/29.jpg)
CLICK TO EDIT MASTER TITLE STYLEARCHITEKTUR
14.09.2008 29Drahtwanderung
WII Remote
IO Warrior
Mindstorms
Hotwire Demo Application
-Acceleration-Buttons-Rumble
-Ultrasonic & Touch Sensor-Motors
- Wire Contact
Flex UI
![Page 30: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/30.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Gewinnspiel
14.09.2008 30Drahtwanderung
![Page 31: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/31.jpg)
CLICK TO EDIT MASTER TITLE STYLE
• Ziel: Kürzeste Fahrzeit
• Es muß von Anfang bis Ende gefahren werden.
• 1x Kontakt → 10 Sekunden Penalty
• Hinweise: – Fahren = „B“ (Unterseite)
– Geschwindigkeit/Richtung: Kippen der WII Remote
– Links/Rechts: Drehen der WII Remote
– Achtung: Bei Kontakt stoppt Qubi, erst Kontakt lösen!
REGELN
14.09.2008 31Drahtwanderung
![Page 32: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/32.jpg)
CLICK TO EDIT MASTER TITLE STYLEPREISE
14.09.2008 32Drahtwanderung
3x
![Page 33: Drahtwanderung: Wir machen den NeXTen Schritt](https://reader034.vdocuments.net/reader034/viewer/2022051323/5488ab12b479590f0d8b56c0/html5/thumbnails/33.jpg)
CLICK TO EDIT MASTER TITLE STYLE
Vielen Dank für Ihre Aufmerksamkeit!
Anfragen können Sie jederzeit an uns richten.
KONTAKT
Drahtwanderung
http://www.ubigrate.comhttp://www.jugsaxony.org
14.09.2008 33