55
© Zühlke 2012 Masanori Fujita Auf Tuchfühlung mit smarten Geräten Die Zukunft ist vernetzt. Masanori Fujita Zühlke Engineering GmbH März 2012 Slide 1

Auf tuchfühlung mit smarten geräten

Embed Size (px)

Citation preview

Page 1: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Masanori Fujita

Auf Tuchfühlung mit smarten Geräten

Die Zukunft ist vernetzt.

Masanori Fujita Zühlke Engineering GmbH

März 2012 Slide 1

Page 2: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Wo bleibt Android@Home?

• Android@Home im Mai 2011 auf der Google I/O angekündigt

• Vision: “think of your entire home as an accessory” – Lichtsteuerung – Sensoren – Mediensteuerung

• Funkprotokoll eigens für diesen Zweck

• Bis dato kein Android@Home

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 2

Page 3: Auf tuchfühlung mit smarten geräten

• Beleuchtung

• Heizung

• Waschmaschine

• Geschirrspüler

• Wettersensoren

• Türklingel

• Audio & Video

Page 4: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

GSM/3G

WiFi

Bluetooth NFC

USB

Eingebaute Schnittstellen

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 4

Page 5: Auf tuchfühlung mit smarten geräten
Page 6: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Traditionelle Rollen

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 6

Master Device

Accessory

Accessory

• PCs

• Eingabegeräte

• Massenspeicher

• Drucker

• Kamera

• MP3-Player

• Smartphones

Page 7: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Rollenverschiebung

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

Master Device

Accessory

Accessory

• PCs

• Smartphones

• Eingabegeräte

• Massenspeicher

• Drucker

• Kamera

• MP3-Player

• Smartphones

Slide 7

Page 8: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

USB Host Mode

• USB Host muss 500mA liefern

• USB On-the-Go ermöglicht limitierte USB-Host-Funktionalität

• USB Host-Mode ist optional

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 8

Accessory

Accessory

Page 9: Auf tuchfühlung mit smarten geräten

USB Slave USB Host

Open Accessory Development Kit

Page 10: Auf tuchfühlung mit smarten geräten

Dev. Machine

Android Phone

Page 11: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

ADK Initialisierung

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 11

Acc

esso

ryA

nd

roid

Dev

ice

Wait for Android device to connect

Request USBdevice descriptor

Wait for accessory to connect

Device in accessory mode?Send

Google’s vendor and product ID

SendOEM’s vendorand product ID

Requestaccessory support

yes

noConfirm

accessory support

Send accessory identifiers and

accessory mode startup command

Establish endpoint connection

Switch toaccessory mode

Let app communicate with

accessoryvia serial I/O

Communicate with Android device

via serial I/O

Raise Intent to launch suitable app

Ask user for permission

Android deviceconnected

Power On

Power On

Page 12: Auf tuchfühlung mit smarten geräten
Page 13: Auf tuchfühlung mit smarten geräten
Page 14: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Viel Zubehör für iPhones

14. März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 14

MFi

Page 15: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Android: Viele Formfaktoren

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 15

Motorola Pro+

Samsung Galaxy S II

HTC Velocity 4G

Page 16: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

USB-Support in Android

ADK (seit 3.1 + 2.3.4)

USB Host Mode (seit 3.1)

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 16

Sep 2008 Mar 2012

Sep-08

1.0

Feb-09

1.1

Apr 09

1.5

Sep-09

1.6

Oct 09

2.0

Jan 10

2.1

May 10

2.2

Dec-10

2.3

Feb-11

3.0

Oct-11

4.0

May-11

3.1

Jul-11

3.2

Page 17: Auf tuchfühlung mit smarten geräten

• Arbeitet zuverlässig und schnell

• Einfache Handhabung für Benutzer und Entwickler

• Für Kommunikation mit Großgeräten hervorragend

• Für kleines Zubehör: Stromzufuhr und Formfaktoren mögliche Killerkriterien

Page 18: Auf tuchfühlung mit smarten geräten
Page 19: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Bluetooth-Profile noch und nöcher

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 19

SPP

FAX

DUN

HDP

HFP

OPP

OPP

HSP

HID

SIM

Page 20: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Der Bluetooth Stack in Android

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 20

Bluetooth Controller

L2CAP

RFCOMM

Link Manager Layer

Baseband Radio Layer

Service Discovery Protocol

Serial Port Profile (SPP)

Android API (android.bluetooth.*)

Virtueller serieller Port

Socket

Page 21: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Was die API bietet…

• Nach Geräten suchen

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 21

Page 22: Auf tuchfühlung mit smarten geräten
Page 23: Auf tuchfühlung mit smarten geräten
Page 24: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Was die API bietet…

• Nach Geräten suchen

• Auf eintreffende RFCOMM-Verbindungen lauschen

• RFCOMM-Verbindungen aufbauen

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

Slide 24

Page 25: Auf tuchfühlung mit smarten geräten
Page 26: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Was die API bietet…

• Nach Geräten suchen

• Auf eintreffende RFCOMM-Verbindungen lauschen

• RFCOMM-Verbindungen aufbauen

• Unter Verwendung von HFP, HSP, HDP, A2DP auf Geräte zugreifen

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

Slide 26

Page 27: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Was die API bietet…

• Nach Geräten suchen

• Auf eintreffende RFCOMM-Verbindungen lauschen

• RFCOMM-Verbindungen aufbauen

• Unter Verwendung von HFP, HSP, HDP, A2DP auf Geräte zugreifen

• Neue Bluetooth-Profile implementieren

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

Slide 27

Page 28: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Nicht alle Profile nutzen RFCOMM Beispiel: HDP

14. März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

Bluetooth Controller

L2CAP

MCAP

Link Manager Layer

Baseband Radio Layer

Service Discovery Protocol

Health Device Profile

Slide 28

Page 29: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Nicht alle Profile nutzen RFCOMM Beispiel: HID

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

Bluetooth Controller

L2CAP

Link Manager Layer

Baseband Radio Layer

Service Discovery Protocol

Human Interface Device Profile

Slide 29

Page 30: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Auf Nummer sicher gehen mit RFCOMM, außer wenn…

• ein Bluetooth-Profil nur auf RFCOMM und SDP aufbaut und vollständig in Java implementiert werden kann

• die Menge der Zielgeräte bekannt ist – auf native BT-Treiber zugreifen – native Erweiterungen entwickeln und als BT-Profile nutzbar

machen – Custom ROMs bauen

• Google weitere BT-Profile zur Pflicht macht

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 30

Page 31: Auf tuchfühlung mit smarten geräten

• Wird von den meisten Android-Geräten unterstützt

• Manchmal unhandlich für den Benutzer

• Nur serielle Kommunikation garantiert vorhanden

Page 32: Auf tuchfühlung mit smarten geräten
Page 33: Auf tuchfühlung mit smarten geräten

Borrowed from nfc-forum.org

Page 34: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Lesen and Schreiben von Tags

• Unterstützung für verschiedene Tagtypen – NFC Forum Type 1-4 – Mifare

• API-Features – Tag-Annäherung

erkennen – Lesen und Schreiben

von NDEF-Nachrichten – Low-Level-Zugriff auf

Sektoren

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 34

passive

Passiver Tag mit Serien-Nummer, Lieferant, Datum der letzten Inspektion etc.

Card emulation für den Austausch von Status-Infos, Geräteeinstellungen

active

Page 35: Auf tuchfühlung mit smarten geräten
Page 36: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Daten beamen

• Android Beam™ is eigentlich ein NDEF-Push im Peer-to-peer-Modus – Simple NDEF Exchange Protocol (SNEP) vom NFC Forum – Proprietärer NDEF Push Protocol (NPP) von Google

• Kein bidirektionaler Datenaustausch auf niedrigeren Schichten möglich

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 36

Austausch von Status-Informationen, Geräteeinstellung

active

Page 37: Auf tuchfühlung mit smarten geräten
Page 38: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Android als Kartenersatz

• Card emulation in der API nicht freigegeben

• Würde viele interessante Use-Cases ermöglichen

• Fortlaufende Diskussion um Secure Elements – auf der SIM-Karte – eingebettet in einen Chip

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 38

Page 39: Auf tuchfühlung mit smarten geräten
Page 40: Auf tuchfühlung mit smarten geräten

• Gute Chancen für breiten NFC-Support auf zukünftigen Android-Geräten

• Einfache Handhabung für Benutzer und Entwickler

• Workaround für fehlenden Card-Emulation-Modus nötig

Page 41: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Was ist der beste Weg, mit Geräten zu kommunizieren?

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

? Welche UX wird benötigt?

Sind die Zielgeräte bekannt?

Wie hoch ist das Datenvolumen?

Und was ist mit Security?

In welchem Umfeld wird die Lösung eingesetzt?

Slide 41

Sollen noch andere Plattformen unterstützt werden?

Page 42: Auf tuchfühlung mit smarten geräten

TCP / UDP Über WiFi und mobiles Internet

Page 43: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

DIY Heimautomatisierung

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 43

Page 44: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

DIY Heimautomatisierung

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

UART

Slide 44

Page 45: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Arduino zur Hilfe

• Open Source prototyping board

• ATmega328 @ 16 MHz

• 14 digital and 6 analog I/O pins

• USB

• UART

• I2C

• SPI

• Viele Shields verfügbar

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita Slide 45

Page 46: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

DIY Heimautomatisierung

März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

UART

Ethernet

DSL

WiFi

3G

Slide 46

Internet

Page 47: Auf tuchfühlung mit smarten geräten

// start Ethernet and UDP Ethernet.begin(mac,ip); Udp.begin(localPort); server.begin(); Serial.begin(9600); while(timeStatus() == timeNotSet) { unsigned long t = getNtpTime(); if (t > 0) { setTime(t); } } setSyncProvider(getNtpTime); setSyncInterval(60); } bool event_1_triggered = false; bool event_2_triggered = false; void loop() { time_t t = now(); for(int i = 0; i < EVENT_COUNT; i = i + 1) { // check whether On-Event was not fired and On-Time has been reached if (!triggered_events[i*2] && hour(t) == time_table[i*FIELDS] && minute(t) == time_table[i*FIELDS+1]) { fs20.send_cmd(time_table[i*FIELDS+4], CMD_ON, 0xFF); triggered_events[i*2] = true; triggered_events[i*2+1] = false; } // check whether Off-Event was not fired and Off-Time has been reached if (!triggered_events[i*2+1] && hour(t) == time_table[i*FIELDS+2] && minute(t) == time_table[i*FIELDS+3]) { fs20.send_cmd(time_table[i*FIELDS+4], CMD_OFF, 0xFF); triggered_events[i*2] = false; triggered_events[i*2+1] = true; } } // wait for a new client: Client client = server.available(); if (client) { if (client.connected() && client.available()) { // read the bytes incoming from the client: char c1 = client.read(); char c2 = client.read(); char c3 = client.read(); fs20.send_cmd(c1, c2, c3); } } delay(50); }

Page 48: Auf tuchfühlung mit smarten geräten

SMA Wechselrichter

Bluetooth

Page 49: Auf tuchfühlung mit smarten geräten

Stiebel-Eltron Wärmepumpe

RS232

Page 50: Auf tuchfühlung mit smarten geräten

Internet der Dinge

Page 51: Auf tuchfühlung mit smarten geräten

© Zühlke 2012

Home Automation Standards

14. März 2012 Auf Tuchfühlung mit smarten Geräten | Masanori Fujita

Android@Home Yet another home automation standard?

Slide 51

Page 52: Auf tuchfühlung mit smarten geräten

Kleine offene Komponenten “zusammenstöpseln”

Page 53: Auf tuchfühlung mit smarten geräten

Thermometer Accelerometer External Sensors WiFi

Twitter Email Text Messaging

Page 54: Auf tuchfühlung mit smarten geräten

• Beleuchtung

• Heizung

• Waschmaschine

• Geschirrspüler

• Wettersensoren

• Türklingel

• Audio & Video

Die vernetzte Zukunft beginnt jetzt.

Page 55: Auf tuchfühlung mit smarten geräten

Masanori Fujita [email protected] @matterlobby