SlideShare ist ein Scribd-Unternehmen logo

Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]

Sprechen Sie MQTT? Dieser Workshop zeigt, was es mit dem schlanken und leichtgewichtigen IoT Protokoll auf sich hat und warum es sich zu einem Standardprotokoll für das Internet of Things etabliert hat. Lernen Sie, warum Pub/Sub für das Internet of Things skaliert und warum HTTP nicht der Weisheit letzter Schluss für alle IoT-Kommunikation ist. Neben einigen Live-Demos sowie einer Einführung in die Funktionsweise des schlanken Publish/Subscribe-Protokolls bekommen Sie Einblick in das junge und sehr aktive Ökosystem rund um MQTT. Am Ende des Workshops wird ein Java basierter MQTT Todesstern Simulator inklusive Dashboard mit "MQTT over websocket" support entstehen.

1 von 115
Downloaden Sie, um offline zu lesen
PUB / SUB for the masses 
An Introduction to MQTT 
#IotCon Workshop
2 
EINFÜHRUNG - VORSTELLUNG 
Christian Götz Dominik Obermaier 
CEO @ dc-square CTO @ dc-square 
@goetzchr @dobermai
Beginn Q&A 
3 
EINFÜHRUNG - AGENDA 
Kurze Einführung 
in MQTT 
Entwicklung einer 
MQTT Webapplication 
MQTT über Websockets 
      
Überblick über das 
MQTT Ökosystem 
MQTT Clients & Broker 
Hands-on MQTT 
Testen und “Spielen” mit MQTT 
Zusammenfassung & Ausblick 
Ende 
Entwicklung eines 
MQTT Simulators 
Mit Java und Paho
Wie entwickle ich einen 
MQTT Client in Java? 
Was ist “MQTT over 
Websockets?” 
Wie funktioniert MQTT 
für Webseiten? 
Umsetzung verschiedener 
MQTT Patterns 
4 
EINFÜHRUNG - LERNZIELE 
 Was ist MQTT? 
Was werden wir bei 
diesem Workshop 
lernen? 
Warum nicht immer HTTP? 
MQTT Broker? 
MQTT Clients? 
Wie funktioniert MQTT im Detail? 
Wie baue ich einen 
Software-Deathstar ;-)
5 
EINFÜHRUNG - ANWENDUNGSFALL 
Unser Anwendungsfall: Deathstar Simulalator 
Implementierung eines MQTT Todesstern Simulators und eines Web-Dashboards 
zur Anzeige von Daten und Steuerung des Simulators
6 
EINFÜHRUNG - BENÖTIGTE SOFTWARE 
Benötigte Software 
HiveMQ 
MQTT Broker 
MQTT Client 
! 
MQTT.fx 
mosqutto Tools 
HiveMQ Web Client 
IDE / Editor 
! 
IntellIj IDEA 
Eclipse 
Netbeans 
vi 
Git
Anzeige

Recomendados

MQTT Deep Dive Workshop [GERMAN]
MQTT Deep Dive Workshop [GERMAN]MQTT Deep Dive Workshop [GERMAN]
MQTT Deep Dive Workshop [GERMAN]Dominik Obermaier
 
CCNA3 Verson6 Chapter3
CCNA3 Verson6 Chapter3CCNA3 Verson6 Chapter3
CCNA3 Verson6 Chapter3Chaing Ravuth
 
Nokia IES Configuration guide
Nokia IES Configuration guideNokia IES Configuration guide
Nokia IES Configuration guideAbel Saduwa
 
IT Essential - Course Overview
IT Essential - Course OverviewIT Essential - Course Overview
IT Essential - Course OverviewIrsandi Hasan
 
Chapter 15 : routing concepts
Chapter 15 : routing conceptsChapter 15 : routing concepts
Chapter 15 : routing conceptsteknetir
 
CCNA RS_ITN - Chapter 1
CCNA RS_ITN - Chapter 1CCNA RS_ITN - Chapter 1
CCNA RS_ITN - Chapter 1Irsandi Hasan
 
CCNA3 Verson6 Chapter4
CCNA3 Verson6 Chapter4CCNA3 Verson6 Chapter4
CCNA3 Verson6 Chapter4Chaing Ravuth
 

Más contenido relacionado

Was ist angesagt?

Chapter 17 : static routing
Chapter 17 : static routingChapter 17 : static routing
Chapter 17 : static routingteknetir
 
Nokia L3 VPN Configuration Guide
Nokia L3 VPN Configuration GuideNokia L3 VPN Configuration Guide
Nokia L3 VPN Configuration GuideAbel Saduwa
 
Simulasi praktek management bandwidth simpel queue aijtkjgnc
Simulasi praktek management bandwidth simpel queue aijtkjgncSimulasi praktek management bandwidth simpel queue aijtkjgnc
Simulasi praktek management bandwidth simpel queue aijtkjgncAsepSukarya2
 
Basic interview question for Ether Channel.
Basic  interview question for Ether Channel.Basic  interview question for Ether Channel.
Basic interview question for Ether Channel.INFitunes
 
OpenSync: Open Source for Cloud to Device Enabled Services
OpenSync: Open Source for Cloud to Device Enabled ServicesOpenSync: Open Source for Cloud to Device Enabled Services
OpenSync: Open Source for Cloud to Device Enabled ServicesAll Things Open
 
Cisco icons
Cisco iconsCisco icons
Cisco iconswukegz
 
Concurrent programming with RTOS
Concurrent programming with RTOSConcurrent programming with RTOS
Concurrent programming with RTOSSirin Software
 
Collaboration Architecture Design: Unified Call Control and Dial plans for Vo...
Collaboration Architecture Design: Unified Call Control and Dial plans for Vo...Collaboration Architecture Design: Unified Call Control and Dial plans for Vo...
Collaboration Architecture Design: Unified Call Control and Dial plans for Vo...Cisco Canada
 
CCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan RoutingCCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan RoutingVuz Dở Hơi
 
MQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsMQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsBryan Boyd
 
MODULO 28 –> La Business Continuity Management
MODULO 28 –> La Business Continuity ManagementMODULO 28 –> La Business Continuity Management
MODULO 28 –> La Business Continuity ManagementFrancesco Ciclosi
 
CCNAv5 - S1: Chapter 3 - Network protocols and communications
CCNAv5 - S1: Chapter 3 - Network protocols and communicationsCCNAv5 - S1: Chapter 3 - Network protocols and communications
CCNAv5 - S1: Chapter 3 - Network protocols and communicationsVuz Dở Hơi
 
CCNAv5 - S3: Chapter2 Lan Redundancy
CCNAv5 - S3: Chapter2 Lan RedundancyCCNAv5 - S3: Chapter2 Lan Redundancy
CCNAv5 - S3: Chapter2 Lan RedundancyVuz Dở Hơi
 
MEMBANGUN SERVER VIDEO STREAMING BERBASIS CLOUD DENGAN ViMP
MEMBANGUN SERVER VIDEO STREAMING BERBASIS  CLOUD DENGAN ViMPMEMBANGUN SERVER VIDEO STREAMING BERBASIS  CLOUD DENGAN ViMP
MEMBANGUN SERVER VIDEO STREAMING BERBASIS CLOUD DENGAN ViMPAhmad Saktia Yunus
 

Was ist angesagt? (20)

Chapter 17 : static routing
Chapter 17 : static routingChapter 17 : static routing
Chapter 17 : static routing
 
Nokia L3 VPN Configuration Guide
Nokia L3 VPN Configuration GuideNokia L3 VPN Configuration Guide
Nokia L3 VPN Configuration Guide
 
Simulasi praktek management bandwidth simpel queue aijtkjgnc
Simulasi praktek management bandwidth simpel queue aijtkjgncSimulasi praktek management bandwidth simpel queue aijtkjgnc
Simulasi praktek management bandwidth simpel queue aijtkjgnc
 
Ip address
Ip addressIp address
Ip address
 
Basic interview question for Ether Channel.
Basic  interview question for Ether Channel.Basic  interview question for Ether Channel.
Basic interview question for Ether Channel.
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
 
VPLS Fundamental
VPLS FundamentalVPLS Fundamental
VPLS Fundamental
 
OpenSync: Open Source for Cloud to Device Enabled Services
OpenSync: Open Source for Cloud to Device Enabled ServicesOpenSync: Open Source for Cloud to Device Enabled Services
OpenSync: Open Source for Cloud to Device Enabled Services
 
Cloud computing ppts
Cloud computing pptsCloud computing ppts
Cloud computing ppts
 
Cisco icons
Cisco iconsCisco icons
Cisco icons
 
Concurrent programming with RTOS
Concurrent programming with RTOSConcurrent programming with RTOS
Concurrent programming with RTOS
 
Collaboration Architecture Design: Unified Call Control and Dial plans for Vo...
Collaboration Architecture Design: Unified Call Control and Dial plans for Vo...Collaboration Architecture Design: Unified Call Control and Dial plans for Vo...
Collaboration Architecture Design: Unified Call Control and Dial plans for Vo...
 
CCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan RoutingCCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan Routing
 
MQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsMQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of Things
 
PRTG
PRTGPRTG
PRTG
 
MODULO 28 –> La Business Continuity Management
MODULO 28 –> La Business Continuity ManagementMODULO 28 –> La Business Continuity Management
MODULO 28 –> La Business Continuity Management
 
CCNAv5 - S1: Chapter 3 - Network protocols and communications
CCNAv5 - S1: Chapter 3 - Network protocols and communicationsCCNAv5 - S1: Chapter 3 - Network protocols and communications
CCNAv5 - S1: Chapter 3 - Network protocols and communications
 
The Personal Assistant
The Personal AssistantThe Personal Assistant
The Personal Assistant
 
CCNAv5 - S3: Chapter2 Lan Redundancy
CCNAv5 - S3: Chapter2 Lan RedundancyCCNAv5 - S3: Chapter2 Lan Redundancy
CCNAv5 - S3: Chapter2 Lan Redundancy
 
MEMBANGUN SERVER VIDEO STREAMING BERBASIS CLOUD DENGAN ViMP
MEMBANGUN SERVER VIDEO STREAMING BERBASIS  CLOUD DENGAN ViMPMEMBANGUN SERVER VIDEO STREAMING BERBASIS  CLOUD DENGAN ViMP
MEMBANGUN SERVER VIDEO STREAMING BERBASIS CLOUD DENGAN ViMP
 

Destacado

Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Julien Vermillard
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)Milson Munakami
 
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014Dominik Obermaier
 
An introduction to MQTT - Pub / Sub for the masses
An introduction to MQTT - Pub / Sub for the massesAn introduction to MQTT - Pub / Sub for the masses
An introduction to MQTT - Pub / Sub for the massesDominik Obermaier
 
IoT NY - Google Cloud Services for IoT
IoT NY - Google Cloud Services for IoTIoT NY - Google Cloud Services for IoT
IoT NY - Google Cloud Services for IoTJames Chittenden
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQRob Davies
 
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Dominik Obermaier
 
Web Services: Dje - Sot
Web Services: Dje - Sot Web Services: Dje - Sot
Web Services: Dje - Sot Betim Drenica
 
Intro to logarithms (rev1)
Intro to logarithms (rev1)Intro to logarithms (rev1)
Intro to logarithms (rev1)Inez Hofner
 
Building a multi protocol broker for the internet of things using nodejs
Building a multi protocol broker for the internet of things using nodejsBuilding a multi protocol broker for the internet of things using nodejs
Building a multi protocol broker for the internet of things using nodejsMatteo Collina
 
Google Cloud Monitoring
Google Cloud MonitoringGoogle Cloud Monitoring
Google Cloud MonitoringSimon Su
 
Evolimi i Gjuhëve Programuese -Lënda:Informatika e Biznesit
Evolimi i Gjuhëve Programuese -Lënda:Informatika e BiznesitEvolimi i Gjuhëve Programuese -Lënda:Informatika e Biznesit
Evolimi i Gjuhëve Programuese -Lënda:Informatika e BiznesitArianit Zeqiri
 
7 rregullat e suksesit nga Bill Gates
7 rregullat e suksesit nga Bill Gates7 rregullat e suksesit nga Bill Gates
7 rregullat e suksesit nga Bill GatesMimoza Thaqi
 
Get more from Analytics 360 with BigQuery and the Google Cloud Platform
Get more from Analytics 360 with BigQuery and the Google Cloud PlatformGet more from Analytics 360 with BigQuery and the Google Cloud Platform
Get more from Analytics 360 with BigQuery and the Google Cloud Platformjavier ramirez
 

Destacado (20)

Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
 
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
 
An introduction to MQTT - Pub / Sub for the masses
An introduction to MQTT - Pub / Sub for the massesAn introduction to MQTT - Pub / Sub for the masses
An introduction to MQTT - Pub / Sub for the masses
 
IoT at Google Scale
IoT at Google ScaleIoT at Google Scale
IoT at Google Scale
 
IoT NY - Google Cloud Services for IoT
IoT NY - Google Cloud Services for IoTIoT NY - Google Cloud Services for IoT
IoT NY - Google Cloud Services for IoT
 
Messaging im Internet of Things: MQTT
Messaging im Internet of Things: MQTTMessaging im Internet of Things: MQTT
Messaging im Internet of Things: MQTT
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQ
 
Why transync mqtt gps tracker
Why transync mqtt gps trackerWhy transync mqtt gps tracker
Why transync mqtt gps tracker
 
APD book 32 copy
APD book 32 copyAPD book 32 copy
APD book 32 copy
 
Google Spanner
Google SpannerGoogle Spanner
Google Spanner
 
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
 
Web Services: Dje - Sot
Web Services: Dje - Sot Web Services: Dje - Sot
Web Services: Dje - Sot
 
Intro to logarithms (rev1)
Intro to logarithms (rev1)Intro to logarithms (rev1)
Intro to logarithms (rev1)
 
Building a multi protocol broker for the internet of things using nodejs
Building a multi protocol broker for the internet of things using nodejsBuilding a multi protocol broker for the internet of things using nodejs
Building a multi protocol broker for the internet of things using nodejs
 
Google Cloud Monitoring
Google Cloud MonitoringGoogle Cloud Monitoring
Google Cloud Monitoring
 
Evolimi i Gjuhëve Programuese -Lënda:Informatika e Biznesit
Evolimi i Gjuhëve Programuese -Lënda:Informatika e BiznesitEvolimi i Gjuhëve Programuese -Lënda:Informatika e Biznesit
Evolimi i Gjuhëve Programuese -Lënda:Informatika e Biznesit
 
Spanner
SpannerSpanner
Spanner
 
7 rregullat e suksesit nga Bill Gates
7 rregullat e suksesit nga Bill Gates7 rregullat e suksesit nga Bill Gates
7 rregullat e suksesit nga Bill Gates
 
Get more from Analytics 360 with BigQuery and the Google Cloud Platform
Get more from Analytics 360 with BigQuery and the Google Cloud PlatformGet more from Analytics 360 with BigQuery and the Google Cloud Platform
Get more from Analytics 360 with BigQuery and the Google Cloud Platform
 

Ähnlich wie Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]

Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingDigicomp Academy AG
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesGregor Biswanger
 
Service Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-MarathonService Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-MarathonMichael Hofmann
 
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 GmbHagilemethoden
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
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?CarolinaMatthies1
 
TechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
TechTalkThursday 27.10.2016: Redundante Linux Failover ClusterTechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
TechTalkThursday 27.10.2016: Redundante Linux Failover Clusternine
 
Stackstorm – Event driven Automation
Stackstorm – Event driven AutomationStackstorm – Event driven Automation
Stackstorm – Event driven Automationinovex GmbH
 
Drahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen SchrittDrahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen SchrittFalk Hartmann
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesQAware GmbH
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...inovex GmbH
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinStephan Kaps
 
Crouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
Crouzet Automation - em4 Ethernet Broschüre, deutsche FassungCrouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
Crouzet Automation - em4 Ethernet Broschüre, deutsche FassungCrouzet
 
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature TogglesZeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature TogglesBATbern
 
Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]Christian Götz
 
SSV Predictive Maintenance
SSV Predictive MaintenanceSSV Predictive Maintenance
SSV Predictive MaintenanceNorbert Redeker
 
System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...Digicomp Academy AG
 

Ähnlich wie Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN] (20)

Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx Networking
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
 
Service Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-MarathonService Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-Marathon
 
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
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
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?
 
TechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
TechTalkThursday 27.10.2016: Redundante Linux Failover ClusterTechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
TechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
 
Stackstorm – Event driven Automation
Stackstorm – Event driven AutomationStackstorm – Event driven Automation
Stackstorm – Event driven Automation
 
Drahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen SchrittDrahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen Schritt
 
Die beliebtesten kvm switches
Die beliebtesten kvm switchesDie beliebtesten kvm switches
Die beliebtesten kvm switches
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes sein
 
Crouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
Crouzet Automation - em4 Ethernet Broschüre, deutsche FassungCrouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
Crouzet Automation - em4 Ethernet Broschüre, deutsche Fassung
 
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature TogglesZeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
 
Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]
 
SSV Predictive Maintenance
SSV Predictive MaintenanceSSV Predictive Maintenance
SSV Predictive Maintenance
 
TYPO3 GitLab CI
TYPO3 GitLab CITYPO3 GitLab CI
TYPO3 GitLab CI
 
System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...System Center Configuration Manager with Azure, Intune and Application Manage...
System Center Configuration Manager with Azure, Intune and Application Manage...
 

Mehr von Dominik Obermaier

Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenKafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenDominik Obermaier
 
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...Dominik Obermaier
 
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22Dominik Obermaier
 
Building a reliable and scalable IoT platform with MongoDB and HiveMQ
Building a reliable and scalable IoT platform with MongoDB and HiveMQBuilding a reliable and scalable IoT platform with MongoDB and HiveMQ
Building a reliable and scalable IoT platform with MongoDB and HiveMQDominik Obermaier
 
Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT Dominik Obermaier
 
HiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging LayerHiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging LayerDominik Obermaier
 
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT Dominik Obermaier
 
MQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfallsMQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfallsDominik Obermaier
 
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTDominik Obermaier
 
A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTDominik Obermaier
 
Lightweight and scalable IoT Architectures with MQTT
Lightweight and scalable IoT Architectures with MQTTLightweight and scalable IoT Architectures with MQTT
Lightweight and scalable IoT Architectures with MQTTDominik Obermaier
 
Lightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTTLightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTTDominik Obermaier
 
In search of the perfect IoT Stack - Scalable IoT Architectures with MQTT
In search of the perfect IoT Stack - Scalable IoT Architectures with MQTTIn search of the perfect IoT Stack - Scalable IoT Architectures with MQTT
In search of the perfect IoT Stack - Scalable IoT Architectures with MQTTDominik Obermaier
 
Scaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic BeamScaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic BeamDominik Obermaier
 
Securing MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slidesSecuring MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slidesDominik Obermaier
 
JAX 2014 - M2M for Java Developers with MQTT
JAX 2014 - M2M for Java Developers with MQTTJAX 2014 - M2M for Java Developers with MQTT
JAX 2014 - M2M for Java Developers with MQTTDominik Obermaier
 
Push! - MQTT for the Internet of Things
Push! - MQTT for the Internet of ThingsPush! - MQTT for the Internet of Things
Push! - MQTT for the Internet of ThingsDominik Obermaier
 
Eclipse Democamps 2013 - M2M for Java Developers with MQTT
Eclipse Democamps 2013 - M2M for Java Developers with MQTTEclipse Democamps 2013 - M2M for Java Developers with MQTT
Eclipse Democamps 2013 - M2M for Java Developers with MQTTDominik Obermaier
 
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013Dominik Obermaier
 

Mehr von Dominik Obermaier (20)

Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenKafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
 
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
 
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
 
Building a reliable and scalable IoT platform with MongoDB and HiveMQ
Building a reliable and scalable IoT platform with MongoDB and HiveMQBuilding a reliable and scalable IoT platform with MongoDB and HiveMQ
Building a reliable and scalable IoT platform with MongoDB and HiveMQ
 
Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT
 
HiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging LayerHiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging Layer
 
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
 
MQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfallsMQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfalls
 
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
 
A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoT
 
Lightweight and scalable IoT Architectures with MQTT
Lightweight and scalable IoT Architectures with MQTTLightweight and scalable IoT Architectures with MQTT
Lightweight and scalable IoT Architectures with MQTT
 
Lightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTTLightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTT
 
In search of the perfect IoT Stack - Scalable IoT Architectures with MQTT
In search of the perfect IoT Stack - Scalable IoT Architectures with MQTTIn search of the perfect IoT Stack - Scalable IoT Architectures with MQTT
In search of the perfect IoT Stack - Scalable IoT Architectures with MQTT
 
MQTT 5 - What's New?
MQTT 5 - What's New?MQTT 5 - What's New?
MQTT 5 - What's New?
 
Scaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic BeamScaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic Beam
 
Securing MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slidesSecuring MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slides
 
JAX 2014 - M2M for Java Developers with MQTT
JAX 2014 - M2M for Java Developers with MQTTJAX 2014 - M2M for Java Developers with MQTT
JAX 2014 - M2M for Java Developers with MQTT
 
Push! - MQTT for the Internet of Things
Push! - MQTT for the Internet of ThingsPush! - MQTT for the Internet of Things
Push! - MQTT for the Internet of Things
 
Eclipse Democamps 2013 - M2M for Java Developers with MQTT
Eclipse Democamps 2013 - M2M for Java Developers with MQTTEclipse Democamps 2013 - M2M for Java Developers with MQTT
Eclipse Democamps 2013 - M2M for Java Developers with MQTT
 
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
 

Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]

  • 1. PUB / SUB for the masses An Introduction to MQTT #IotCon Workshop
  • 2. 2 EINFÜHRUNG - VORSTELLUNG Christian Götz Dominik Obermaier CEO @ dc-square CTO @ dc-square @goetzchr @dobermai
  • 3. Beginn Q&A 3 EINFÜHRUNG - AGENDA Kurze Einführung in MQTT Entwicklung einer MQTT Webapplication MQTT über Websockets       Überblick über das MQTT Ökosystem MQTT Clients & Broker Hands-on MQTT Testen und “Spielen” mit MQTT Zusammenfassung & Ausblick Ende Entwicklung eines MQTT Simulators Mit Java und Paho
  • 4. Wie entwickle ich einen MQTT Client in Java? Was ist “MQTT over Websockets?” Wie funktioniert MQTT für Webseiten? Umsetzung verschiedener MQTT Patterns 4 EINFÜHRUNG - LERNZIELE  Was ist MQTT? Was werden wir bei diesem Workshop lernen? Warum nicht immer HTTP? MQTT Broker? MQTT Clients? Wie funktioniert MQTT im Detail? Wie baue ich einen Software-Deathstar ;-)
  • 5. 5 EINFÜHRUNG - ANWENDUNGSFALL Unser Anwendungsfall: Deathstar Simulalator Implementierung eines MQTT Todesstern Simulators und eines Web-Dashboards zur Anzeige von Daten und Steuerung des Simulators
  • 6. 6 EINFÜHRUNG - BENÖTIGTE SOFTWARE Benötigte Software HiveMQ MQTT Broker MQTT Client ! MQTT.fx mosqutto Tools HiveMQ Web Client IDE / Editor ! IntellIj IDEA Eclipse Netbeans vi Git
  • 7. 7 EINFÜHRUNG - BENÖTIGTE SOFTWARE Wer benötigt noch diese Software?
  • 8.  Einführung in MQTT Überblick und wichtigste Features und Eigenschaften
  • 9. 9 Herausforderungen im IoT Unzuverlässige Netzwerke Skalierbarkeit Bidirektionale Kommunikation Constrained Devices Security Push Messaging MQTT - HERAUSFORDERUNGEN
  • 10. 10 MQTT - IOT PROTOKOLL ANFORDERUNGEN Anforderungen an ein IoT Protokoll Bandbreiteneffizient Skalierbar Standardisiert Offen Datenagnostisch Sowohl für schwache Hardware als auch Server geeignet
  • 11. 11 Sehr verbreitet Request / Response Seit 1991 verbreitet Dokumentenzentriert HTTP? MQTT - HTTP?
  • 12. 12 Warum nicht immer HTTP? Viel Overhead Polling statt Push Kein Quality of Service Stateless Wie merken wir, dass ein Client offline ist? MQTT - HTTP?
  • 13. 13 MQTT - MESSAGING FÜR DAS INTERNET DER DINGE MQTT - Messaging für das Internet der Dinge  Einfach  Publish / Subscribe  Binär  Messaging Protokoll  Minimaler Overhead  Datenagnostisch 
  • 14. 14 Anwendungsfälle Push statt Pull Zuverlässigkeit auch bei unzuverlässigen Netzwerken Constrained Devices Geringe Bandbreite und hohe Latenz Enterprise -> Mobile MQTT - ANWENDUNGSFÄLLE
  • 15. 15 3 QoS Stufen Retained Messages Topic Wildcards Last Will and Testament Persistent Sessions Heartbeats Features MQTT - FEATURES
  • 16. Was ist Publish / Subscribe Messaging?
  • 17. 17 Pub / Sub MQTT - PUB / SUB
  • 18. 18 MQTT Topics Hierarchisch Wildcards (+ und #) Queuing (QoS > 0) Sehr Leichtgewichtig Dynamisch MQTT - MQTT TOPICS
  • 20. 20 deathstar superlaser greenhouse status usages humidity temp / / MQTT - MQTT TOPICS
  • 21. Deathstar superlaser status: deathstar/superlaser/status 21 deathstar superlaser greenhouse status usages humidity temp / / MQTT - MQTT TOPICS
  • 22. 22 All Data from Greenhouse: deathstar/greenhouse/# deathstar superlaser greenhouse status usages humidity temp / / MQTT - MQTT TOPICS
  • 23. 23 All Data from deathstar: deathstar/# deathstar superlaser greenhouse status usages humidity temp / / MQTT - MQTT TOPICS
  • 24. Username / Password Payload Verschlüsselung TLS Client Certificate Authentication Permissions 24 MQTT Security MQTT - MQTT SECURITY
  • 25. 25 MQTT - Historische Entwicklung MQTT - GESCHICHTE Arlen Nipper (Arcom) & Andy Stanford-Clark (IBM) entwickeln MQTT freie Verfügbarkeit OASIS TC MQTT 3.1.1 Release 1999 2010 2013 2014
  • 26. 26 MQTT 3.1.1 Verbesserungen zu MQTT 3.1 1. Weitgehend abwärtskompatibel 2. Effizientere Header 3. Client-ID Längenrestriktion entfernt 4. Connect ohne Client-ID 5. Persistent Present Flag 6. Fehlercode bei Subscriptions 7. Direktes Publishen nach dem Verbinden 8. MQTT over Websockets spezifiziert 9. Alle Strings sind nun UTF-8 10.Protokollname nun offiziell “MQTT” MQTT - MQTT 3.1.1
  • 27.  Überblick über das MQTT Ökosystem MQTT Clients und Broker
  • 28. MQTT Client Bibliotheken Überblick über die populärsten Alternativen 
  • 30. 30 Eclipse Paho Open Source “Referenzimplementierung” Aktive Community Sync und Async API Lauffähig auf JavaME CLIENTS - PAHO
  • 31. 31 Fusesource MQTT Client Open Source 3 API Styles Sehr performant Basiert auf HawtIO Verfügbar in Maven Central CLIENTS - FUSESOURCE
  • 33. 33 Eclipse Paho Open Source “Referenzimplementierung” Basierend auf Websockets Sehr gut dokumentiert keine Abhängigkeiten CLIENTS - PAHO
  • 34. 34 Open Source Node.js Bibliothek Verfügbar in npm MQTT.js CLIENTS - MQTT.JS
  • 35.  C
  • 36. Open Source “Referenzimplementierung” Auch für C++ verfügbar Verfügbar für POSIX / Windows und Embedded 36 Eclipse Paho CLIENTS - PAHO
  • 38. 38 Sonstige Clients Paho (Python, Go, Lua) M2Mqtt (C#) ruby-mqtt (Ruby) Arduino Client MQTTKit (Objective C) Mosquitto-PHP (PHP) CLIENTS - SONSTIGES
  • 39. MQTT Client Apps Überblick über die gängigsten Tools 
  • 40. 40 Mosquitto_Pub / Mosquitto_Sub Kommandozeilentool Sehr viele Features Debug Modus Einbettbar (libmosquitto) CLIENTS - MOSQUITTO
  • 41. Betriebssystemunabhängig Benötigt aktivierte Websockets Publish / Subscribe Real-Time Updates 41 HiveMQ Web Client CLIENTS - HIVEMQ WEB CLIENT
  • 42. 42 JavaFX Mit nativen Wrapper für alle gängigen Betriebssysteme Scripting Support Broker Status ($SYS) Support MQTT.fx CLIENTS - MQTT.FX
  • 43. 43 Sonstige Applikationen MQTTLens (Browser) MQTTSpy (JavaFX) MyMQTT (Android) MQTT Inspector (iOS) viele andere CLIENTS - SONSTIGES
  • 44. MQTT Broker Alternativen für das “Herzstück” von MQTT 
  • 45. 45 Open Source Ideal für Constrained Devices Unterstützt Bridging In C implementiert Mosquitto BROKER - MOSQUITTO
  • 46. 46 Open Source Node.js Broker Einbettbar Unterstützt nicht alle MQTT Features Mosca BROKER - MOSCA
  • 47. 47 Open Source In Erlang implementiert MQTT Adapter Unterstützt nicht alle MQTT Features RabbitMQ BROKER - RABBITMQ
  • 48. High Performance MQTT Broker Nativer Websockets Support Open Source Plugin System Unterstützt Bridging Clustering Skaliert > 100.000 Connections 48 HiveMQ BROKER - HIVEMQ
  • 49. 49 BROKER - ÜBERSICHT MQTT Broker Übersicht Source: https://github.com/mqtt/mqtt.github.io/wiki/Server%20support QoS 0 QoS 1 QoS 2 Bridge SSL Cluster Websockets Plugin System mosquitto ✔ ✔ ✔ ✔ ✔ X X ✔ Mosca ✔ ✔ X ? ? ? ✔ X RabbitMQ ✔ ✔ X X ✔ ? ? ? HiveMQ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ActiveMQ ✔ ✔ ✔ ? ? ? ✔ ? RSMB ✔ ✔ ✔ ✔ X X X ? moquette ✔ ✔ X ? ? X X X
  • 50. Hands-on MQTT Testen und “Spielen” mit MQTT 
  • 51. Übung 1: Quality of Service Levels
  • 52. 52 QoS 0 At most once delivery QoS 1 At least once delivery QoS 2 Exactly once delivery ÜBUNGEN - QOS
  • 53. Showtime! Ausprobieren mit einem Tool der Wahl
  • 54. Übung 2: Retained Messages
  • 55. 55 Retained Messages “Last Known Good Value” Die letzte Nachricht wird vom Broker gespeichert Client entscheidet ob eine Nachricht retained wird Clients bekommen retained message nach Subscribe ÜBUNGEN - RETAINED MESSAGES
  • 56. Showtime! Ausprobieren mit einem Tool der Wahl
  • 57. Übung 3: Last Will and Testament
  • 58. 58 Last Will and Testament Client definiert LWT Broker schickt diese Nachricht nach Client “Tod”. Echter Push Nützlich um on / off verlässlich zu implementieren ÜBUNGEN - LWT
  • 59. Showtime! Ausprobieren mit einem Tool der Wahl
  • 61. Broker speichert Client Session Client entscheidet ob er eine persistent Session haben möchte Queuing für QoS > 0 61 Persistent Session B ÜBUNGEN - PERSISTENT SESSION Connect Subscribe device/+/status device/12/status: „1“ 1st B Re-Connect device/12/status: „1“ 2nd
  • 62. Showtime! Ausprobieren mit einem Tool der Wahl
  • 63. Entwicklung eines MQTT Todesstern Simulators MQTT mit Java und Eclipse Paho 
  • 64. 64 Deathstar Simulator Dashboard Deathstar Simulator Implementiert in Java Dashboard Web Application MQTT Broker HiveMQ DEATHSTAR - GIT
  • 66. 1. Git installieren 2. Übungen können als Tag ausgechekt werden 3. Git Kommandos werden vor jeder Übung gezeigt 66 Git DEATHSTAR - GIT
  • 67. 67 Initiales Klonen des Repositories DEATHSTAR - GIT git clone git@github.com:dc-square/ ->! introduction-to-mqtt-workshop.git
  • 69. 69 DEATHSTAR - ANATOMY
  • 70. 70 Features • Alarmierung wenn Eindringlinge dem Reaktor zu nahe kommen • Abfeuern des Superlasers • Fernsteuerung der Meldefrequenz • Temperaturanzeige des Imperialen Gewächshauses • Melden des Status (Online / Offline) DEATHSTAR - FEATURES
  • 71. 71 DEATHSTAR - PAHO MqttClient client = new MqttClient( "tcp://localhost:1883", //URI "publisher", //Client ID new MemoryPersistence()); //Persistence ! client.connect(); ! client.publish("the/topic", //topic "message".getBytes(), //message 1, //QoS false); //retained ! client.disconnect();
  • 72. 72 DEATHSTAR - PAHO MqttClient client = new MqttClient( "tcp://localhost:1883", //URI "publisher", //Client ID new MemoryPersistence()); //Persistence ! MqttConnectOptions connOptions = new MqttConnectOptions(); connOptions.setKeepAliveInterval(120); connOptions.setWill("help/I/died", new byte[0], 2, true); connOptions.setCleanSession(false); connOptions.setUserName("username"); connOptions.setPassword("passw".toCharArray()); ! client.connect(connOptions);
  • 73. 73 DEATHSTAR - PAHO final MqttClient client = new MqttClient(...); client.setCallback(new MqttCallback() { @Override public void connectionLost(Throwable cause) {} @Override public void messageArrived(String topic, MqttMessage message)throws Exception { System.out.println(new String(message.getPayload())); } @Override public void deliveryComplete(IMqttDeliveryToken token) {} }); client.connect(); client.subscribe("#");
  • 74. Übung 1: Deathstar Reactor Alert
  • 75. 75 Checkout DEATHSTAR - GIT git checkout deathstar-start
  • 79. 79 Checkout DEATHSTAR - GIT git checkout superlaser-start
  • 80. 80 Was ist zu tun? DEATHSTAR - SUPERLASER Subscriben auf deathstar/superlaser/status Laser abfeuern Status wieder auf deaktiviert setzen
  • 82. Übung 3: Update Frequenz ändern
  • 83. 83 Checkout DEATHSTAR - GIT git checkout frequency-start
  • 85. Übung 4: Imperial Bath Greenhouse
  • 86. 86 Checkout DEATHSTAR - GIT git checkout greenhouse-start
  • 89. 89 Checkout DEATHSTAR - GIT git checkout status-start
  • 91.  Entwicklung einer MQTT Todesstern KontrollApp MQTT over Websockets
  • 92. 92 Features • Alarmierung wenn Eindringlinge dem Reaktor zu nahe kommen • Abfeuern des Superlasers • Fernsteuerung der Meldefrequenz • Temperaturanzeige des Imperialen Gewächshauses • Anzeigen des Status (Online / Offline) DASHBOARD - FEATURES
  • 94. 94 DASHBOARD - WEBSOCKETS MQTT Over Websockets
  • 95. Übung 1: Deathstar Reactor Alert
  • 96. 96 Checkout DASHBOARD - GIT git checkout db-start
  • 99. 99 Checkout DASHBOARD - GIT git checkout db-superlaser-start
  • 101. Übung 3: Imperial Greenhouse
  • 102. 102 Checkout DASHBOARD - GIT git checkout db-greenhouse-start
  • 104. Übung 4: Update Frequenz ändern
  • 105. 105 Checkout DASHBOARD - GIT git checkout db-frequency-start
  • 108. 108 Checkout DASHBOARD - GIT git checkout db-status-start
  • 110. HIVEMQ - PAY-AS-YOU-GO http://www.hivemq.com/iot-con-special-2014/ 110
  • 111. Q & A
  • 113. 113 OUR TEAM - HELLO YOU! Credits (all Images under Creative Commons) ‣ “The Stormtrooper” by leg0fenris: https://flic.kr/p/9beh6M ‣ “Stormtroopers Training: Theory” by Pedro Vezini: https://flic.kr/p/9iCMCB ‣ “Impending Doom (Explored)” by Pascal: https://flic.kr/p/8sjHyA ‣ “Is this Jabba the Hut's son?” by Kristina Alexanderson: https://flic.kr/p/9WDcSx ‣ “#135/366” by Robert McGoldrick: https://flic.kr/p/bXKkBG ‣ “Old droids” by stavos: https://flic.kr/p/jfYxPA ‣ “#23/366 The Plan” by Robert McGoldrick: https://flic.kr/p/bhgZbx ‣ “Day 112” by Pascal: https://flic.kr/p/7jbBvN ‣ “New Navcom” by Jason Ternus: https://flic.kr/p/5zkmHe ‣ “Got the Superman Cape... Let's do this!” by Brian Neudorff: https://flic.kr/p/jmowHw ‣ “"..And The Nominees Are…”" by Predro Vezini: https://flic.kr/p/8wFkyN
  • 114. 114 OUR TEAM - HELLO YOU! Credits II (all Images under Creative Commons) ‣ “Hardcore Stormies Hit The Gym” by W_Minshull: https://flic.kr/p/9pbzs7 ‣ “#145/366” by Robert McGoldrick: https://flic.kr/p/c4zqAJ ‣ “Rocking Hard” by W_Minshull: https://flic.kr/p/dB13LP ‣ “Weightlifting” by 713 Avenue: https://flic.kr/p/5cdK3z ‣ “Kaos - Chaos paiting (ii)” by Kristina Alexanderson: https://flic.kr/p/ajcZoo ‣ “Pole Vault” by 713 Avenue: https://flic.kr/p/5eAzQi ‣ “T as in teaching Tech” by Kristina Alexanderson: https://flic.kr/p/cyAA8d ‣ “Escaping the Death Star” by Paulo Valdivieso: https://flic.kr/p/eHQ9kr ‣ “Death Star Prototype”: http://starwars.wikia.com/wiki/File:DSprototype_egvv.jpg ‣ “Luke Skywalker flying his X-Wing, getting ready to blow up the Death Star” by Fredrik Perman: https://flic.kr/p/c3qivy
  • 115. 115 OUR TEAM - HELLO YOU! Credits III (all Images under Creative Commons) ‣ “move to the new deathstar” by Nerd herdr: https://flic.kr/p/oqxYue ‣ “I think it is time we demonstrated the full power of this station” by Fanboy30: https:// flic.kr/p/5YYbLK ‣ “Stromtrooper's clone robots” by Jay: https://flic.kr/p/b3mvcX ‣ “Hot Tub” by W_Minshull: https://flic.kr/p/9nMWxp ‣ “Searching for Droids” by Guy Streatfeild: https://flic.kr/p/bAvbWW ‣ “Stormpainter” by Pedro Vezini”: https://flic.kr/p/9SrKQU ‣ “Let The Wookie Hug” by Pedro Vezini: https://flic.kr/p/8ukTZe ‣ “Daisy Squad” by Stéfan: https://flic.kr/p/bD6ANy ‣ “Enjoying the sunset” by Kristina Alexanderson: https://flic.kr/p/avNV2Q