Eclipse IOT over Intel Edison
Live Demonstration
Ankur Sharma
@ankur_sharma
blog.ankursharma.org
About the presenter
• Ankur Sharma is a Principal Software Engineer
with EMC
• Ex-committer to Eclipse PDE project
Eclipse Kura
• Kura is lightweight OSGI based container for
IOT gateways.
• Sensors as declarative services?
• http://wiki.eclipse.org/Kura/Getting_Started
• http://www.eclipse.org/kura/downloads.php
Stable vs No Net Stable
• Files with "(No Net)" will provide frameworks in which
Kura will not assist in configuring network interfaces or
firewall.
• nn version skips
▫ bind.init
▫ dos2unix.bin
▫ firewall.init
▫ iptables.init
▫ …
• https://github.com/eclipse/kura/tree/develop/kura/dis
trib/RELEASE_INFO/1.4.0/*.catalog
Installing Kura
• http://wiki.eclipse.org/Kura/Getting_Started
• Download installation script (kura_1.4.0_intel-edison-nn.sh)
• Re/Starting Kura
▫ /etc/init.d/kura start/stop/restart/status
• Install location
▫ $HOME/eclipse/kura
Kura Logs
• Kura framework logs
▫ $HOME/log/kura.log
• OSGI console log
▫ /var/log/kura-console.log
• Log settings
▫ /etc/logrotate.d/kura
Kura in Eclipse
• Connecting to framework
• Deploying on Kura
Apache Camel
• Routing and mediation engine
• Supports URIs, bean binding and direct API
• Small. Minimalistic dependencies
• Massive repository of pluggable components
• Easy to code new components
• http://stackoverflow.com/questions/8845186/
what-exactly-is-apache-camel
Apache Camel over Kura
• Integrated directly in Kura 2.0.0 onwards
• Core plugins
▫ camel-core
▫ camel-osgi
▫ camel-kura
• Configuration
▫ /eclipse/kura/kura/config.ini
org.osgi.framework.bootdelegation=sun.*,com.sun.*
My own Camel Component
• Component
• Endpoint
• Producer
• Consumer
Source
• https://github.com/ankur-sharma/EclipseSummit
Eclipse Paho
• The Eclipse Paho project provides open-source
client implementations of MQTT messaging
protocol aimed at new, existing, and emerging
applications for the Internet of Things (IoT).
Paho Clients
Get Paho
• https://www.eclipse.org/paho/downloads.php
• Java Client
▫ https://www.eclipse.org/paho/clients/java/
Deploying Paho
• Java Library
▫ org.eclipse.paho.client.mqttv3
• PDE Target Platform
▫ org.eclipse.paho.client.mqttv3
• Camel/Kura
▫ camel-paho
▫ org.eclipse.paho.client.mqttv3
Apache ActiveMQ
• Open source messaging
• Integration Patterns server
• Supports cross language clients
▫ .net, c++, java, go, python, perl, ruby,…
• Supports various protocols
▫ AMQP, MQTT, OpenWire, STOMP
ActiveMQ and Camel
• Camel supports direct integration
▫ activemq-camel
▫ JMS based
▫ Requires spring
▫ http://camel.apache.org/activemq.html
• ActiveMQ automatically converts MQTT
messages into JMS messages
• We are here using ActiveMQ as MQTT server

Eclipse IOT stack over Intel Edison

  • 1.
    Eclipse IOT overIntel Edison Live Demonstration Ankur Sharma @ankur_sharma blog.ankursharma.org
  • 2.
    About the presenter •Ankur Sharma is a Principal Software Engineer with EMC • Ex-committer to Eclipse PDE project
  • 3.
    Eclipse Kura • Kurais lightweight OSGI based container for IOT gateways. • Sensors as declarative services? • http://wiki.eclipse.org/Kura/Getting_Started • http://www.eclipse.org/kura/downloads.php
  • 5.
    Stable vs NoNet Stable • Files with "(No Net)" will provide frameworks in which Kura will not assist in configuring network interfaces or firewall. • nn version skips ▫ bind.init ▫ dos2unix.bin ▫ firewall.init ▫ iptables.init ▫ … • https://github.com/eclipse/kura/tree/develop/kura/dis trib/RELEASE_INFO/1.4.0/*.catalog
  • 6.
    Installing Kura • http://wiki.eclipse.org/Kura/Getting_Started •Download installation script (kura_1.4.0_intel-edison-nn.sh) • Re/Starting Kura ▫ /etc/init.d/kura start/stop/restart/status • Install location ▫ $HOME/eclipse/kura
  • 7.
    Kura Logs • Kuraframework logs ▫ $HOME/log/kura.log • OSGI console log ▫ /var/log/kura-console.log • Log settings ▫ /etc/logrotate.d/kura
  • 8.
    Kura in Eclipse •Connecting to framework • Deploying on Kura
  • 9.
    Apache Camel • Routingand mediation engine • Supports URIs, bean binding and direct API • Small. Minimalistic dependencies • Massive repository of pluggable components • Easy to code new components • http://stackoverflow.com/questions/8845186/ what-exactly-is-apache-camel
  • 10.
    Apache Camel overKura • Integrated directly in Kura 2.0.0 onwards • Core plugins ▫ camel-core ▫ camel-osgi ▫ camel-kura • Configuration ▫ /eclipse/kura/kura/config.ini org.osgi.framework.bootdelegation=sun.*,com.sun.*
  • 11.
    My own CamelComponent • Component • Endpoint • Producer • Consumer
  • 12.
  • 13.
    Eclipse Paho • TheEclipse Paho project provides open-source client implementations of MQTT messaging protocol aimed at new, existing, and emerging applications for the Internet of Things (IoT).
  • 14.
  • 15.
    Get Paho • https://www.eclipse.org/paho/downloads.php •Java Client ▫ https://www.eclipse.org/paho/clients/java/
  • 16.
    Deploying Paho • JavaLibrary ▫ org.eclipse.paho.client.mqttv3 • PDE Target Platform ▫ org.eclipse.paho.client.mqttv3 • Camel/Kura ▫ camel-paho ▫ org.eclipse.paho.client.mqttv3
  • 17.
    Apache ActiveMQ • Opensource messaging • Integration Patterns server • Supports cross language clients ▫ .net, c++, java, go, python, perl, ruby,… • Supports various protocols ▫ AMQP, MQTT, OpenWire, STOMP
  • 18.
    ActiveMQ and Camel •Camel supports direct integration ▫ activemq-camel ▫ JMS based ▫ Requires spring ▫ http://camel.apache.org/activemq.html • ActiveMQ automatically converts MQTT messages into JMS messages • We are here using ActiveMQ as MQTT server