M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
Upcoming SlideShare
Loading in...5
×
 

M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013

on

  • 832 views

Talk from the EclipseCon 2013. ...

Talk from the EclipseCon 2013.

Mobile devices like smartphones and tablet computers became an integral part of our modern world and single-board computers like Raspberry Pi are cheaper today than at any time before. Simple and open Machine-to-Machine (M2M) protocols like MQTT enable these devices to communicate in an efficient manner, even in scenarios with unreliable und instable networks. This talk shows how Eclipse Paho - an Eclipse umbrella project for M2M protocols - can be utilized for professional and personal projects to build efficient and scalable solutions for (mobile) devices.

Statistics

Views

Total Views
832
Views on SlideShare
826
Embed Views
6

Actions

Likes
0
Downloads
11
Comments
0

1 Embed 6

https://twitter.com 6

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013 M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013 Presentation Transcript

  • M2M for Java Developers MQTT with Eclipse Paho
  • Dominik Obermaier @dobermai excited about M2M passionate Architect & Maker loves OSS Co-Founder and CTO at dc-square likes Open Source Hardware
  • Dominik Obermaier @dobermai excited about M2M loves OSS passionate Architect & Maker Co-Founder and CTO at dc-square likes Open Source Hardware K Who not?!?
  • M2M?
  • TECHNOLOGY THA T SUPPORTS WIRED OR WIRELESS COMMUNICA TION BETWEEN DEVICES
  • Why should we care?
  • “Things” in the Internet 2010 2015 2020 ~6.909.000.000 ~7.302.000.000 ~7.675.000.000 [1] [2] ~12.500.000.000 ~25.000.000.000 ~50.000.000.000 [1]Source: http://www.un.org/esa/population/publications/wpp2008/wpp2008_highlights.pdf [2]Source: http://share.cisco.com/internet-of-things.html
  • “Things” in the Internet People Things 50,000,000,000 37,500,000,000 25,000,000,000 12,500,000,000 0 2010 2015 2020
  • “Things” in the Internet People Things 50,000,000,000 37,500,000,000 25,000,000,000 1.8x 12,500,000,000 0 2010 2015 2020
  • “Things” in the Internet People Things 50,000,000,000 37,500,000,000 25,000,000,000 1.8x 3.4x 12,500,000,000 0 2010 2015 2020
  • “Things” in the Internet People Things 50,000,000,000 6.5x 37,500,000,000 25,000,000,000 1.8x 3.4x 12,500,000,000 0 2010 2015 2020
  • Things?
  • Another revolution?
  • Screenshot Taken from Oracle JavaOne Strategic Keynote 2013
  • IoT
  • Which protocol ?
  • HTTP? Request / Response Verbose Polling instead of Push No quality of service How to get notified if clients die? Stateless
  • Why MQTT? ✓ Simple ✓ Efficient ✓ Publish / Subscribe ✓ Quality of Service Levels ✓ Last Will and Testament ✓ Designed for unreliable networks
  • Why MQTT? ✓ Simple ✓ Efficient ✓ Publish / Subscribe ✓ Quality of Service Levels ✓ Last Will and Testament ✓ Designed for unreliable networks K Wireless? Yep, then it probably is unreliable
  • Publish / Subscribe
  • Broker Implementations
  • Broker Implementations
  • Broker Implementations
  • Broker Implementations
  • Broker Implementations
  • Broker Implementations
  • Broker Implementations + others
  • Broker Implementations + others Extensive list of brokers available at http://mqtt.org/wiki/doku.php/brokers
  • Noooo! Sounds like programming in C!
  • Java!
  • What is Paho? ✓ Scalable Open Source Implementations of M2M standard protocols ✓ Focus on MQTT ✓ Implementations in Java, Javascript, Lua, C, C++ and Python ✓ Eclipse Incubator
  • What is Paho? K Read: What is Paho at the moment ✓ Scalable Open Source Implementations of M2M standard protocols ✓ Focus on MQTT ✓ Implementations in Java, Javascript, Lua, C, C++ and Python ✓ Eclipse Incubator
  • Code! public void start() throws Exception { final String clientId = "eclipsecon_sub"; final MqttClient mqttClient = new MqttClient(BROKER_URL, clientId, new MemoryPersistence()); mqttClient.setCallback(new SubscribeCallback(mqttClient)); mqttClient.connect(); mqttClient.subscribe(TOPIC_SUBSCRIPTION, QUALITY_OF_SERVICE_LEVEL); }
  • Moar Code! public class SubscribeCallback implements MqttCallback { @Override public void connectionLost(Throwable cause) {} @Override public void deliveryComplete(MqttDeliveryToken token) {} @Override public void messageArrived(MqttTopic topic, MqttMessage message) throws Exception { System.out.println( "Message arrived. Topic: " topic.getName() + ", QoS: " + message.getQos() + ", message: " + new String(message.getPayload(),Charset.forName("UTF-8"))); }
  • DEMO!
  • Other Eclipse M2M Projects
  • Other Eclipse M2M Projects + others
  • THANK YOU!
  • Credits ✓ Scared Cat Picture by http://www.flickr.com/photos/ dat-pics/ ✓ Thanks Vincent Le Moign for the awesome Icon Set ✓ Rest of pictures licensed from different people from 500px.com ✓ MQTT Logo by http://www.mqtt.org ✓ Paho Logo from http://wiki.eclipse.org/Paho/Branding