SlideShare a Scribd company logo
Using
 Eclipse &
 Lua for the
 Internet
 of Things

 Benjamin Cabé – bcabe@sierrawireless.com
Gaétan Morice – gmorice@sierrawireless.com
IoT? M2M?


Technology that supports
wired or wireless
communication
between devices
50
billion
devices
by 2020
50
billion
devices
by 2020
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini and Paho
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini and Paho
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini and Paho
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini and Paho
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini and Paho
Smart
   Pill
   Box
           Near field
                                                              Patient
    Heartbeat
    Sensor
                           Medical
                           Services
                           Gateway                      Clinical Trial
Weight                                 Internet
Scale                                 of Things


                                      Communication
                                       Infrastructure   Doctor
         Blood
         Pressure
                       Blood
                       Sugar
Ready then?
…Not quite!!
M2M market
= fragmented
M2M development
   = complex
M2M vendors
 = lock-in
?
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini and Paho
3 projects


Framework

Protocols

Tools
M2M embedded
           programming

•  low-level C     •  read sensor values
•  memory          •  control actuators
   management
                   •  consolidate data
•  multithreaded
   programming     •  communicate
Example: Sending an SMS
int main()	
{	
     unsigned char char1[10];	
     unsigned char char_buf[8]="AT+CSQn";	
     // unsigned char sms_buf[20] = "AT+CMGS="xxxxxxxxx";	
     	
     int wc_fd;	
                                                             sms.send(

     /********* Init of serial port ************/	
     wc_fd = init_wc(wc_fd);	
                                                                '+33612345678’,

     sleep(3);	
     //writing to serial port	                                  'My SMS’,

                                                             )	
     write(wc_fd,char_buf,sizeof(char_buf));	
     usleep(40000);	
     //reading from serial port	
     read(wc_fd,char1,sizeof(char1));	
     	
     sleep(2);	
                                                             	
     close(wc_fd);	
     	
     return 0;	
} // end of main	
	
// initialization of serial port	
	
struct termios options;	
	
ttys5_fd = open("/dev/ttyS5", O_RDWR );	
if (ttys5_fd < 0)
Simplify M2M programming
What is Lua?
•  High-level programming language
•  Scripting
•  Extensible
•  Simple
•  Efficient
•  Portable
You need an IDE!
•  Project structure
•  Syntax coloring
•  Content assist
•  Code navigation
•  Code formatting      June 2012: first release (0.8)
                        Dec. 2012: 0.9 release
•  Documentation
                        June 2013: graduate w/ Kepler
•  Code templates       20,000+ installations already!

•  Debugger
•  Remote development
Using Koneki LDT for
remote Lua development

DEMO
101
•  http://www.eclipse.org/koneki/ldt
•  Download standalone IDE
•  Or install in existing Eclipse
  –  from Juno repository
  –  from nightly/milestones repositories
•  Execution environments:
  –  http://sierrawireless.github.com/lua-execution-
     environments/
•  Contact the team
  –  http://eclipse.org/forums/eclipse.koneki
http://www.sxc.hu/photo/1036004
•  Low-bandwidth
•  Low-power
•  Payload agnostic
•  Adjustable QoS
•  Large ecosystem
(optional) bridge

          broker                            broker
                                                       topic/#
                      topic/subtopic




                                               keepalive
publish
                                               last will & testament
          subscribe
                                               username/password
101
•  http://eclipse.org/paho/
•  Eclipse Paho delivers clients for MQTT in C and
   Java
  –  http://eclipse.org/paho/download.php
•  Lua client available soon
  –  https://github.com/geekscape/mqtt_lua
•  MQTT view in Eclipse
  –  http://git.eclipse.org/c/paho/org.eclipse.paho.esf.git/
•  Free broker hosted at Eclipse: m2m.eclipse.org
•  Contact the team
  –  paho-dev mailing-list
Lua VM + MQTT client to go?
Application framework for M2M
 •  Set of libraries providing building
    blocks to develop user M2M
    applications:
   –  Serial and I/O management,
   –  Networking (FTP, HTTP, E-mail clients),
   –  GPS,
   –  Cryptography,
   –  Modbus,
   –  Local storage
   –  etc.                     http://www.eclipse.org/mihini
Smart agent for M2M
•  M2M data queues
•  Network bearers
•  Device management
•  Application container
•  Application configuration

                           http://www.eclipse.org/mihini
101
•  http://www.eclipse.org/proposals/
   technology.mihini
•  http://eclipse.org/mihini
•  Code will be available on Github soon
•  Initial contribution planned for Q1
Let me
show you!
Step 1 – Early prototyping
•  Greenhouse business
  –  Connect gardening equipments to each
     other
  –  Remote monitoring of sensors
  –  Remote control


•  M2M Gateway not selected yet,
   neither is the rest of the equipment
   (PLCs)
m2m.eclipse.org   MQTT broker




             Raspberry Pi              Mobile phone



Modbus RTU

                humidity
             temperature
              illuminance


             light ON/OFF
Two Lua applications
    Embedded                      Mobile

                             Corona SDK
–  Uses Modbus library      –  Subscribes to MQTT
   to talk to Arduino PLC      messages
–  Collects sensor data/    –  Displays sensor data
   controls actuators          with a fancy UI
–  Publishes MQTT           –  Publish command to
   messages                    switch on/off the
–  Subscribe to                light
   commands
M2M Developer Kit

•  Actual hardware early in the dev.
   process is key




  Affordable!            Simple!           Industrial!

•  http://wiki.eclipse.org/Mihini/Developer_Kit
•  Arduino code & schematics available after the conference
Step 2 – Use an industrial
             gateway
•  Need for rugged, industrial-grade
   M2M gateway
•  Take the Mihini codebase and
   compile it against the gateway’s
   toolchain
•  Mihini porting layer
  –  straightforward for Linux-based devices
     with AT modem
  –  porting layer for other solutions
m2m.eclipse.org   MQTT broker




             Rugged                    Mobile phone
             wireless gateway


Modbus RTU

                humidity
             temperature
              illuminance


             light ON/OFF
Step 3 – Industrial deployment

•  Use a real PLC
  –  Mihini dev. kit is replaced by a real PLC
  –  Only the configuration of the application
     (modbus registries #) will have to be
     updated

•  Use a reliable, multi-tenant, M2M
   server
Telco!

                   M2M server
                                 Billing!   etc…!




             Rugged             Mobile phone
             wireless gateway


Modbus RTU

                humidity
             temperature
              illuminance


             light ON/OFF
Conclusion
•  Developing an M2M app with Mihini
   is simple
  –  Demo app written in a couple hours
•  Mihini apps are portable
•  Mihini itself is easily portable
  –  make install
•  Koneki provides support for editing,
   debugging and deploying M2M apps
M2M AT ECLIPSE IS ALSO…
A developer portal
An all-in-one IDE


•  June 2013
•  Ready-to-use
•  Market Place
Join us!




•  BoF: tomorrow – 7 pm Schubartsaal
•  Industry Working Groups booth

More Related Content

What's hot (19)

PDF
Advanced MQTT and Kura - EclipseCON 2014
Eurotech
 
PDF
Creating a Java Internet of Things Gateway
Eurotech
 
PPTX
Creator IoT Framework
Paul Evans
 
PPTX
IoT Microservices at the Edge with Eclipse ioFog
Kilton Hopkins
 
PDF
Iot gateway dream team - Eclipse Kura and Apache Camel
Henryk Konsek
 
PDF
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)
Open Mobile Alliance
 
ODP
Using open source for IoT
Ian Skerrett
 
PDF
Effective IoT System on Openstack
Takashi Kajinami
 
PDF
Mainflux - Hyperscalable Unified IoT Platform
Sasa Klopanovic
 
PPTX
Connecting Stuff to Azure (IoT)
Mark Simms
 
PDF
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
Open Mobile Alliance
 
PPTX
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
Open Mobile Alliance
 
PDF
Introduction to AllJoyn
Alex Gonzalez
 
PPTX
DotNetToscana - Azure IoT Hub - Il Concentratore
Riccardo Cappello
 
PPTX
Azure IoT Hub
WinWire Technologies Inc
 
PPTX
IoT on Azure
Vinoth Rajagopalan
 
PPT
OMA Lightweight M2M Tutorial
zdshelby
 
PPTX
Exploring the Azure IoT Ecosystem
BizTalk360
 
PPTX
The LightweightM2M Ecosystem
Open Mobile Alliance
 
Advanced MQTT and Kura - EclipseCON 2014
Eurotech
 
Creating a Java Internet of Things Gateway
Eurotech
 
Creator IoT Framework
Paul Evans
 
IoT Microservices at the Edge with Eclipse ioFog
Kilton Hopkins
 
Iot gateway dream team - Eclipse Kura and Apache Camel
Henryk Konsek
 
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)
Open Mobile Alliance
 
Using open source for IoT
Ian Skerrett
 
Effective IoT System on Openstack
Takashi Kajinami
 
Mainflux - Hyperscalable Unified IoT Platform
Sasa Klopanovic
 
Connecting Stuff to Azure (IoT)
Mark Simms
 
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
Open Mobile Alliance
 
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
Open Mobile Alliance
 
Introduction to AllJoyn
Alex Gonzalez
 
DotNetToscana - Azure IoT Hub - Il Concentratore
Riccardo Cappello
 
IoT on Azure
Vinoth Rajagopalan
 
OMA Lightweight M2M Tutorial
zdshelby
 
Exploring the Azure IoT Ecosystem
BizTalk360
 
The LightweightM2M Ecosystem
Open Mobile Alliance
 

Similar to Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini and Paho (20)

PDF
Open source building blocks for the Internet of Things - Jfokus 2013
Benjamin Cabé
 
PDF
Building an Open M2M community one step at a time
Benjamin Cabé
 
PDF
OWF12/Java Building an Open M2M community
Paris Open Source Summit
 
PDF
Open source Tools and Frameworks for M2M - Sierra Wireless Developer Days
Benjamin Cabé
 
PDF
Eclipse Paho - MQTT and the Internet of Things
Andy Piper
 
PDF
Using Eclipse and Lua for the Internet of Things - JAX2013
Benjamin Cabé
 
PPTX
Modeling technologies and Machine-to-Machine
Benjamin Cabé
 
PDF
Introducing MQTT
Andy Piper
 
PDF
Open World Forum 2012 - Introduction to the Eclipse M2M Industry Working Group
Benjamin Cabé
 
PDF
Messaging for the Internet of Awesome Things
Andy Piper
 
PDF
M2M webinar - Developing M2M applications with Lua
Benjamin Cabé
 
PPTX
IoT development (APIcon 2014 presentation)
Mike Milinkovich
 
PPTX
Null mumbai-iot-workshop
Nitesh Malviya
 
PPTX
Eclipse IoT slide deck [MASTER DECK].pptx
NguynHongDanh5
 
PDF
Apache Etch Introduction @ FOSDEM 2011
grandyho
 
PDF
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Benjamin Cabé
 
PDF
MQTT – protocol for yours IoT
Miroslav Resetar
 
PDF
IoT4Devs (1)
Henri Cavalcante
 
PDF
An In-Depth Look Into Microcontrollers
ICS
 
PDF
Kura M2M IoT Gateway
Eurotech
 
Open source building blocks for the Internet of Things - Jfokus 2013
Benjamin Cabé
 
Building an Open M2M community one step at a time
Benjamin Cabé
 
OWF12/Java Building an Open M2M community
Paris Open Source Summit
 
Open source Tools and Frameworks for M2M - Sierra Wireless Developer Days
Benjamin Cabé
 
Eclipse Paho - MQTT and the Internet of Things
Andy Piper
 
Using Eclipse and Lua for the Internet of Things - JAX2013
Benjamin Cabé
 
Modeling technologies and Machine-to-Machine
Benjamin Cabé
 
Introducing MQTT
Andy Piper
 
Open World Forum 2012 - Introduction to the Eclipse M2M Industry Working Group
Benjamin Cabé
 
Messaging for the Internet of Awesome Things
Andy Piper
 
M2M webinar - Developing M2M applications with Lua
Benjamin Cabé
 
IoT development (APIcon 2014 presentation)
Mike Milinkovich
 
Null mumbai-iot-workshop
Nitesh Malviya
 
Eclipse IoT slide deck [MASTER DECK].pptx
NguynHongDanh5
 
Apache Etch Introduction @ FOSDEM 2011
grandyho
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Benjamin Cabé
 
MQTT – protocol for yours IoT
Miroslav Resetar
 
IoT4Devs (1)
Henri Cavalcante
 
An In-Depth Look Into Microcontrollers
ICS
 
Kura M2M IoT Gateway
Eurotech
 
Ad

More from Benjamin Cabé (20)

PDF
IoT Developer Survey 2018
Benjamin Cabé
 
PDF
Open Source for Industry 4.0 – Open IoT Summit NA 2018
Benjamin Cabé
 
PDF
JVM-Con 2017 – Java and IoT, will it blend?
Benjamin Cabé
 
PDF
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Benjamin Cabé
 
PDF
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Benjamin Cabé
 
PPTX
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
Benjamin Cabé
 
PDF
On making standards organizations & open source communities work hand in hand
Benjamin Cabé
 
PDF
Open Source Internet of Things 101 – EclipseCon 2016
Benjamin Cabé
 
PDF
Building the IoT - Coding Serbia 2015
Benjamin Cabé
 
PDF
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Benjamin Cabé
 
PDF
Manage all the things, small and big, with open source LwM2M implementations ...
Benjamin Cabé
 
PDF
End-to-end IoT solutions with Java and the Eclipse IoT stack
Benjamin Cabé
 
PDF
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Benjamin Cabé
 
PDF
Open-source IoT cookbook
Benjamin Cabé
 
PDF
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Benjamin Cabé
 
PDF
What's new at Eclipse IoT - EclipseCon 2014
Benjamin Cabé
 
PDF
Overview of Eclipse IoT projects - IoT Day Grenoble
Benjamin Cabé
 
PDF
Open (source) API for the Internet of Things - APIdays 2013
Benjamin Cabé
 
PDF
A guided tour of Eclipse M2M - EclipseCon Europe 2013
Benjamin Cabé
 
PDF
Leveraging Android for the Internet of Things with Eclipse M2M
Benjamin Cabé
 
IoT Developer Survey 2018
Benjamin Cabé
 
Open Source for Industry 4.0 – Open IoT Summit NA 2018
Benjamin Cabé
 
JVM-Con 2017 – Java and IoT, will it blend?
Benjamin Cabé
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Benjamin Cabé
 
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Benjamin Cabé
 
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
Benjamin Cabé
 
On making standards organizations & open source communities work hand in hand
Benjamin Cabé
 
Open Source Internet of Things 101 – EclipseCon 2016
Benjamin Cabé
 
Building the IoT - Coding Serbia 2015
Benjamin Cabé
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Benjamin Cabé
 
Manage all the things, small and big, with open source LwM2M implementations ...
Benjamin Cabé
 
End-to-end IoT solutions with Java and the Eclipse IoT stack
Benjamin Cabé
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Benjamin Cabé
 
Open-source IoT cookbook
Benjamin Cabé
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Benjamin Cabé
 
What's new at Eclipse IoT - EclipseCon 2014
Benjamin Cabé
 
Overview of Eclipse IoT projects - IoT Day Grenoble
Benjamin Cabé
 
Open (source) API for the Internet of Things - APIdays 2013
Benjamin Cabé
 
A guided tour of Eclipse M2M - EclipseCon Europe 2013
Benjamin Cabé
 
Leveraging Android for the Internet of Things with Eclipse M2M
Benjamin Cabé
 
Ad

Recently uploaded (20)

PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Digital Circuits, important subject in CS
contactparinay1
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 

Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini and Paho

  • 1. Using Eclipse & Lua for the Internet of Things Benjamin Cabé – [email protected] Gaétan Morice – [email protected]
  • 2. IoT? M2M? Technology that supports wired or wireless communication between devices
  • 10. Smart Pill Box Near field Patient Heartbeat Sensor Medical Services Gateway Clinical Trial Weight Internet Scale of Things Communication Infrastructure Doctor Blood Pressure Blood Sugar
  • 14. M2M development = complex
  • 15. M2M vendors = lock-in
  • 16. ?
  • 19. M2M embedded programming •  low-level C •  read sensor values •  memory •  control actuators management •  consolidate data •  multithreaded programming •  communicate
  • 20. Example: Sending an SMS int main() { unsigned char char1[10]; unsigned char char_buf[8]="AT+CSQn"; // unsigned char sms_buf[20] = "AT+CMGS="xxxxxxxxx"; int wc_fd; sms.send(
 /********* Init of serial port ************/ wc_fd = init_wc(wc_fd); '+33612345678’,
 sleep(3); //writing to serial port 'My SMS’,
 ) write(wc_fd,char_buf,sizeof(char_buf)); usleep(40000); //reading from serial port read(wc_fd,char1,sizeof(char1)); sleep(2); close(wc_fd); return 0; } // end of main // initialization of serial port struct termios options; ttys5_fd = open("/dev/ttyS5", O_RDWR ); if (ttys5_fd < 0)
  • 22. What is Lua? •  High-level programming language •  Scripting •  Extensible •  Simple •  Efficient •  Portable
  • 23. You need an IDE! •  Project structure •  Syntax coloring •  Content assist •  Code navigation •  Code formatting June 2012: first release (0.8) Dec. 2012: 0.9 release •  Documentation June 2013: graduate w/ Kepler •  Code templates 20,000+ installations already! •  Debugger •  Remote development
  • 24. Using Koneki LDT for remote Lua development DEMO
  • 25. 101 •  http://www.eclipse.org/koneki/ldt •  Download standalone IDE •  Or install in existing Eclipse –  from Juno repository –  from nightly/milestones repositories •  Execution environments: –  http://sierrawireless.github.com/lua-execution- environments/ •  Contact the team –  http://eclipse.org/forums/eclipse.koneki
  • 27. •  Low-bandwidth •  Low-power •  Payload agnostic •  Adjustable QoS •  Large ecosystem
  • 28. (optional) bridge broker broker topic/# topic/subtopic keepalive publish last will & testament subscribe username/password
  • 29. 101 •  http://eclipse.org/paho/ •  Eclipse Paho delivers clients for MQTT in C and Java –  http://eclipse.org/paho/download.php •  Lua client available soon –  https://github.com/geekscape/mqtt_lua •  MQTT view in Eclipse –  http://git.eclipse.org/c/paho/org.eclipse.paho.esf.git/ •  Free broker hosted at Eclipse: m2m.eclipse.org •  Contact the team –  paho-dev mailing-list
  • 30. Lua VM + MQTT client to go?
  • 31. Application framework for M2M •  Set of libraries providing building blocks to develop user M2M applications: –  Serial and I/O management, –  Networking (FTP, HTTP, E-mail clients), –  GPS, –  Cryptography, –  Modbus, –  Local storage –  etc. http://www.eclipse.org/mihini
  • 32. Smart agent for M2M •  M2M data queues •  Network bearers •  Device management •  Application container •  Application configuration http://www.eclipse.org/mihini
  • 33. 101 •  http://www.eclipse.org/proposals/ technology.mihini •  http://eclipse.org/mihini •  Code will be available on Github soon •  Initial contribution planned for Q1
  • 35. Step 1 – Early prototyping •  Greenhouse business –  Connect gardening equipments to each other –  Remote monitoring of sensors –  Remote control •  M2M Gateway not selected yet, neither is the rest of the equipment (PLCs)
  • 36. m2m.eclipse.org MQTT broker Raspberry Pi Mobile phone Modbus RTU humidity temperature illuminance light ON/OFF
  • 37. Two Lua applications Embedded Mobile Corona SDK –  Uses Modbus library –  Subscribes to MQTT to talk to Arduino PLC messages –  Collects sensor data/ –  Displays sensor data controls actuators with a fancy UI –  Publishes MQTT –  Publish command to messages switch on/off the –  Subscribe to light commands
  • 38. M2M Developer Kit •  Actual hardware early in the dev. process is key Affordable! Simple! Industrial! •  http://wiki.eclipse.org/Mihini/Developer_Kit •  Arduino code & schematics available after the conference
  • 39. Step 2 – Use an industrial gateway •  Need for rugged, industrial-grade M2M gateway •  Take the Mihini codebase and compile it against the gateway’s toolchain •  Mihini porting layer –  straightforward for Linux-based devices with AT modem –  porting layer for other solutions
  • 40. m2m.eclipse.org MQTT broker Rugged Mobile phone wireless gateway Modbus RTU humidity temperature illuminance light ON/OFF
  • 41. Step 3 – Industrial deployment •  Use a real PLC –  Mihini dev. kit is replaced by a real PLC –  Only the configuration of the application (modbus registries #) will have to be updated •  Use a reliable, multi-tenant, M2M server
  • 42. Telco! M2M server Billing! etc…! Rugged Mobile phone wireless gateway Modbus RTU humidity temperature illuminance light ON/OFF
  • 43. Conclusion •  Developing an M2M app with Mihini is simple –  Demo app written in a couple hours •  Mihini apps are portable •  Mihini itself is easily portable –  make install •  Koneki provides support for editing, debugging and deploying M2M apps
  • 44. M2M AT ECLIPSE IS ALSO…
  • 46. An all-in-one IDE •  June 2013 •  Ready-to-use •  Market Place
  • 47. Join us! •  BoF: tomorrow – 7 pm Schubartsaal •  Industry Working Groups booth