53
1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mcb Bernet, Zürich http://localhost:8000/#1 1/53 Internet der Dinge (IoT) für Integratoren ř ɩŜ ɩɥɨɭ Ş ř ŜɒŞŜ

OpenTuesday: Internet der Dinge (IoT) für Integratoren

Embed Size (px)

Citation preview

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 1/53

Internet der Dinge (IoT) fürIntegratorenDienstag, 2. Februar 2016 Marcel mc-b Bernet, [email protected]

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 2/53

Über Marcel mc­b BernetNach langen Jahren als Stabstelle und Technologie Vordenker beidiversen Firmen und der öffentlichen Verwaltung und Mitglied indiversen Expertenkommissionen widmet sich Marcel Bernet heutehauptsächlich der Beratung und Schulung.

Als ehemaliger /ch/open Präsident und heutiges Ehrenmitgliedentwickelt und fördert er Open Source und setzt diese in seinenProjekten ein.

ProjekteIoTKit (C/C++, Open Hardware)3D Druck (Open Manufacturing)microSRCP (C/C++, Open Hardware/Manufacturing)microHOME (C/C++, Smart Home)

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 3/53

AgendaInternet der Dinge (IoT)

Smart Home

Industrie V4.0

Big Data (Data Analytics)

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 4/53

Internet der Dinge (IoT)

Das «Internet der Dinge» vereint die physische mit der digitalenWelt und bietet so die Möglichkeit für neue Geschäftsmodelle.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 5/53

IoT Ecosystem (Ökosystem)

Industrie 4.0Machine­to­Machine (M2M)Eingebettete (Embedded) Systeme

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 6/53

IoT Einsatzgebiete (Zukunft)

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 7/53

Architektur: IoT Layer

Quelle: http://www.iot­lab.ch/wp­content/uploads/2014/11/EN_Bosch­Lab­White­Paper­GM­im­IOT­1_3.pdf

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 8/53

Architektur: Netzwerk Layer

Little Data ­ Daten von Sensoren und Aktoren,Ressourcenschonend, an einen Device Server übermitteln (z.B.Temperaturwert).Device Server ­ Informationen sammeln. Interoperabilätzwischen Geräteprotokollen und REST herstellen.Big Data ­ Technologien: zum Sammeln und Auswerten vonDaten.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 9/53

Weitere InformationenQIVICON Initiative: QIVICON kompatible ProdukteSamsung SmartThings13 Produkte für Kleinkinder

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 10/53

IoT HardwareAnforderungenmbed PlattformIoT Board und ShieldGPIOSoC

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 11/53

IoT Hardware: Anforderungen

Einfache Einbindung in bestehende Netzwerke (Ethernet,WLAN, 6LoWPAN, Mobilfunk, Bluetooth)Anpassung an limitierte Ressourcen der Geräte (min. 32KBFlash, 4KB RAM) oder Wissen der AnwenderAntwortzeiten unter 100 Millisekunden für eine typischeInteraktion (z.B. im Auto)Nahtlose Integration mit Smartphones und Tablets (MobileFirst)Minimaler Stromverbrauch für lange Batterielebensdauer (einJahr und länger)

Quelle Bild: swisscom M2M Day 2015

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 12/53

IoT mbed Plattform

mbed ist Platform und Betriebssystem für Internet­verbundeneGeräte auf Basis von 32­Bit­ ARM Cortex­M ­Mikrocontroller.

Eine Komponenten Library ergänzt die mbed Plattform.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 13/53

IoT Board und ShieldFRDM K64F

Mikrocontrollerboard IoTKit SMD Shield

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 14/53

IoT Board GPIO

Allzweckeingabe/­ausgabe (engl. GPIO ­ General Purpose Input/Output) ist ein allgemeiner Kontaktstift (Pin) aneinem Mikrocontroller, dessen Verhalten, unabhängig, ob als Eingabe­ oder Ausgabekontakt, durch logischeProgrammierung frei bestimmbar ist. GPIO­Kontakten ist kein Zweck vorgegeben, sie sind daher standardmässigunbelegt.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 15/53

SoC

System­on­a­Chip (SoC, dt. Ein­Chip­System), versteht man dieIntegration aller oder eines großen Teils der Funktionen einesSystems auf einem Chip, z.B. ARM Cortex M0 und Bluetooth.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 16/53

Hardware: Weitere Informationenmbed Platformsmbed ComponentsFRDM K64FIoTKit SMD ShieldUltra­low­power Bluetooth Smart SoC with integrated ARMCortex­M (CHF 1.36 ­ 2.57)Fitness TrackerFitness Tracker: Hack in ProgressFreescale KL46Z Kinetis KL4 MCUFitness Tracker Beispiel für KL46Z

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 17/53

IoT SoftwareIoT Cloud (IDE) Compilermbed OSProgrammierspracheGPIO Klassen

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 18/53

IoT Cloud (IDE) Compiler

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 19/53

IoT mbed Full­Stack­Plattform

Mit der mbed Version 3 entsteht eine Full­Stack­Plattform(Durchgängig, Umfassend), mit Hardware Abstraktion,Konnektivität, Sicherheit Power­Management etc.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 20/53

mbed GPIO Klassen

DigitalOut ­ Setzt den Pin auf 0 oder 3.3 VoltDigitalIn ­ Auslesen der Spannung 0 oder 3.3 VoltAnalogIn ­ Auslesen einer analogen Spannung 0 ­ 5.0 VoltPwmOut ­ Erzeugen einer Spannung von 0 ­ 3.3 Volt, mittelsPulsweitenmodulation (PWM)

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 21/53

mbed Beispiel(e) und DemoDigitalOut led1( D10 ); // Object led1, Klasse DigitalOut an Pin D10DigitalOut led2( D11 ); // Object led2, Pin D11 led1.write( 1 ); // D10 auf 1, LED leuchtet led2.write( 0 ); // D10 auf 0, LED erlischt // Kurzform led1 = 1; led2 = 0;

AnalogIn light( A0 ); // Object light (Licht Sensor) an Pin A0light.read(); // Aktueller Wert der Lichtintensität

Motor motor1( D3, D2, D4 ); // Motor Objekt (= 2 x DigitalOut, 1 x PWMOut)motor1.speed( 0.5 ); // Setzen der Geschwindigkeit des Motors

Komplettes Beispiel: Motor_DigitalOut

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 22/53

Smart HomeSmart Home SoftwareIoT ConnectivitySmart Home BindingIntegration

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 23/53

Smart Home: Software

openHAB (open Home Automation Bus) ist eine in Javaentwickelte Softwarelösung, die Komponenten zurGebäudeautomatisierung, Hersteller­ und Protokollneutral in einerPlattform miteinander verbindet.

openHAB ist durch Hinzufügen weiterer Bindings um zusätzlicheTechnologien/Protokolle erweiterbar.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 24/53

IoT Connectivity: Übersicht

Die mbed Plattform beinhaltet eine RPC Library (RPC ­ „Aufrufeiner fernen Prozedur“), welche ausgesuchte mbed Objekte(DigitalPin, DigitalOut etc.) mittels Serieller Schnittstelle oder viaHTTP Aufrufen, zur Verfügung stellt.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 25/53

IoT Connectivity: Beispieleth.init(); //Use DHCP eth.connect();

// Objekte RPC::construct<RpcDigitalOut, PinName, const char*>(D10, "led1");RPC::construct<RpcDigitalOut, PinName, const char*>(D11, "led2");RPC::construct<RpcPwmOut, PinName, const char*>(D12, "led3"); RPC::construct<RpcAnalogIn, PinName, const char*>(A0, "poti"); RPC::construct<RpcAnalogIn, PinName, const char*>(A1, "light"); RPC::construct<RpcDigitalIn, PinName, const char*>(A2, "b1");

// Handler HTTPServerAddHandler<RPCHandler>("/rpc");

// Start HTTP Server auf Port 80 printf( "Starte Server\n" ); HTTPServerStart(80);

Komplettes Beispiel: RPCHTTPServerSimple

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 26/53

IoT Connectivity: Client (Demo)http://192.168.43.70/rpc/led2/write+1

Aktor (LED) Wert setzen

http://192.168.43.70/rpc/motor1/up | down | stop

Aktor Motor Vor­/Zurück und Stop setzen

http://192.168.43.70/rpc/poti/read

Sensor (Potentiometer) Wert auslesen

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 27/53

Smart Home Binding: Definition Geräte<thing-type id="actors"> <label>IoTKit SMD Shield Actors</label> <description>Actors on IoTKit Shield</description> <channels> <channel id="motor1" typeId="motor" /> </channels> </thing-type> <channel-type id="motor"> <item-type>Rollershutter</item-type> <label>Motor</label> <description>Motor Speed</description> <category>Blinds</category> <state readOnly="false" pattern="%.2f"> </state> </channel-type>

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 28/53

Smart Home Binding: Javapublic void func( String thing, String func ) { String urlString = "http://" + addr + "/rpc/" + thing + "/" + func; URL url = new URL( urlString ); URLConnection connect ion = url.openConnection(); // braucht explizit das lesen des RC Wertes, connect alleine genuegt nicht! IOUtils.toString( connection.getInputStream() ); }

Komplettes Beispiel: /ch/open Workshoptage

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 29/53

Smart Home: Demo

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 30/53

Smart Home: Integration

Integration via REST gegen Smart Home ServerSmart Home Server wird zum Device Server

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 31/53

Industrie V4.0Protokolle und StandardsServices & FrameworksIntegration

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 32/53

Standards und ProtokolleHTTPMQTTCoAP

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 33/53

HTTP

Das Hypertext Transfer Protocol (HTTP, englisch für Hypertext­Übertragungsprotokoll) ist ein Protokoll zur Übertragung vonNachrichten und Daten.

Jede Nachricht besteht dabei aus zwei Teilen, demNachrichtenkopf (englisch Message Header, kurz: Header oderauch HTTP­Header genannt) und dem Nachrichtenrumpf (englischMessage Body, kurz: Body).

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 34/53

MQTT

Message Queue Telemetry Transport (MQTT) ist ein offenesNachrichten­Protokoll für Machine­to­Machine­Kommunikation(M2M).

MQTT implementiert das Publish/Subscribe­Pattern. Es ersetzt diePunkt­zu­Punkt­Verbindungen durch einen zentralen Server(Broker).

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 35/53

CoAP

Constrained Application Protocol (Coap) ist ein Software­Protokollwelches für Internet der Dinge Geräte zugeschnitten ist. COAP istauf den meisten Geräten, die UDP Unterstützen, lauffähig.

Ein COAP fähiges Gerät publiziert seine Sensoren und Aktoren ineinem Resource Directory oder stellt selber ein solches zurVerfügung. Mittels Resource Discovery können die vorhandenenSensoren und Aktoren abgefragt werden.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 36/53

REST

Representational State Transfer (abgekürzt REST, seltener auchReST) bezeichnet ein Programmierparadigma für verteilteSysteme. REST ist eine Abstraktion der Struktur und desVerhaltens des World Wide Web. REST fordert, dass eine Web­Adresse genau einen Seiteninhalt repräsentiert, und dass einWeb­/REST­Server auf mehrfache Anfragen mit demselben URIauch mit demselben Webseiteninhalt antwortet.

Der Vorteil von REST liegt darin, dass im WWW bereits einGroßteil der für REST nötigen Infrastruktur (z. B. Web­ undApplication­Server, HTTP­fähige Clients, HTML­ und XML­Parser,Sicherheitsmechanismen) vorhanden ist, und viele Web­Diensteper se REST­konform sind. So ist eine Webseite, auf der ständigdie aktuelle Uhrzeit in immer demselben Format abrufbar ist,REST­konform.

HTTP und CoAP folgen dem REST Paradigma.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 37/53

Industrie V4.0

Services & Frameworks

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 38/53

iot.eclipse.org

Das IoT Eclipse Ecosystem ist eine Sammlung von Internet derDinge Projekten:

Eclipse Smart Home (openHAB2), LWM2M, Mosquitto etc.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 39/53

iot.eclipse.org: Californium & Leshan

CaliforniumIst ein Framework zum Erstellen von CoAP Clients in Java.

Leshan Leshan Erweitert Californium um einen Lightweight M2M(LWM2M) ServerBeinhaltet:

RD ­ Resource Directory (Verwalten von CoAP Clients)Eine Web OberflächeREST APIStandard Device Management Objects (1 = Server, 3 =Gerät, 3201 = Digital Output etc.)

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 40/53

iot.eclipse.org: Leshan (Demo)

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 41/53

Industrie V4.0: Integration

# Alle Clients abfragen (Antwort im JSON Format) curl -X GET http://.../api/clients # Wert von LED2 abfragen (Antwort im text/plain Format) curl -X GET http://.../api/clients/mbed-k64f-1234/10/0/2 # Wert für LED2 setzen curl -X GET -vvv http://.../api/clients/mbed-k64f-1234/10/0/2 \ -H "Content-Type: text/plain" -d "10"

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 42/53

Industrie V4.0: Links

Open Mobile AllianceIoT EclipseCoAPLeshan BeispielMQTT Beispiel

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 43/53

Big DataTechnologien: zum Sammeln und Auswerten von Daten.

TrendsBeispieleIntegration

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 44/53

Big Data: TrendsMachine Learning

Erkennen von semantischen Zusammenhängen in riesigenDatenmengen (z.B. Abnormalitäten)

Digitale TransformationDaten, die ohnehin in Massen verfügbar sind, in einenneuen Kontext stellen und auf neuartige Weise verknüpfen

Predictive Analyticsdie Fähigkeit, auf Basis von verfügbaren Daten verlässlichePrognosen zu erstellen

Leichtgewichtige DatenintegrationDaten und Informationen über alle Abteilungs­ undApplikationsgrenzen hinweg intelligent zu verknüpfen

Datenvisualisierung und 360­Grad­SichtExplorative Navigation durch Informationen und derenVisualisierung

Quelle: Computerwoche.de

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 45/53

Big Data: Amazon Cloud Workflow

Quelle: Amazon IoT

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 46/53

Big Data: ThingSpeak (Demo)

Public Channel

Komplettes Beispiel: HTTPPOSTThinkSpeak

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 47/53

Big Data: Beispiel Eindhoven

Quelle: eCH GV 2014 ­ Intelligentes Verkehrsleitsystem

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 48/53

Big Data: Beispiel Rio de Janeiro

Quelle: eCH GV 2014 ­ Katastrophenschutz

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 49/53

Big Data: Integration ProgrammableWeb

API Directory

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 50/53

Big Data: LinksVereine und Technologien:

http://opendata.chNoSQL DatenbankenSemantisches Web

Anbieter und Strategien:

Amazon CloudIBM CloudThingSpeakplot.lyIoT Strategien von Amazon, IBM, Microsoft, SAP etc.

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 51/53

IoT Trends (Gartner)1. In der IoT­Ära benötigen nicht, wie bisher nur Mitarbeiter undKunden ein Identitätsmanagement, sondern auch IoT­Geräte

2. IoT­Analytics Entwickelt sich zu einer eigenen Disziplin undProduktkategorie

3. Anbieter von Enterprise Mobility Management (EMM)Akquirieren Spezialisten für IoT­Software­Plattformen.

4. Es Entsteht eine weitere neue Software­Kategorie: IoT­Subskription und ­Abrechnung.

Quelle: Computerwoche.de

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 52/53

LinksKurse ­ Internet der Dinge für Implementierer

GrundlagenAufbau 1 ­ Komplexe AnwendungenAufbau 2 ­ «Dinge» und die CloudAufbau 3 ­ Raspberry Pi und Co. als Server

Internet der Dinge für Integratoren ­ in PlannungInfrastructure as Code ­ in PlannungBig Data / NoSQL Datenbanken ­ in Plannung

/ch/open OBL vom 4.2.16: Infrastructure as CodeRepository mit Docker Images

1.2.2016 Internet der Dinge (IoT) für Integratoren, Copyright (c) 2016, Marcel mc­b Bernet, Zürich

http://localhost:8000/#1 53/53

Fragen?