SlideShare a Scribd company logo
1 of 39
Download to read offline
Using
Eclipse &
Lua for the
Internet
of Things
   EclipseDay Googleplex
       Dec. 12th, 2012




       Benjamin Cabé
  bcabe@sierrawireless.com
Who I am



•  Benjamin Cabé
•  Open Source M2M
   Evangelist at Sierra Wireless
•  Long-time Eclipse lover
M2M? IoT?


Technology that supports
wired or wireless
communication
between devices
Using Eclipse and Lua for the Internet of Things - EclipseDay Googleplex 2012
Using Eclipse and Lua for the Internet of Things - EclipseDay Googleplex 2012
Using Eclipse and Lua for the Internet of Things - EclipseDay Googleplex 2012
Using Eclipse and Lua for the Internet of Things - EclipseDay Googleplex 2012
Smart
   Pill
   Box
           Near field
                                                        Patient
    Heartbeat
    Sensor
                           Medical
                           Services
                           Gateway                Clinical Trial
Weight                                 Internet
Scale                                 of Things



                                                  Doctor
         Blood
         Pressure
                       Blood
                       Sugar
Using Eclipse and Lua for the Internet of Things - EclipseDay Googleplex 2012
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
•  Simple
•  Extensible
•  Portable
Extensible by design
•  Small
  –  Trivial syntax and reduced keyword set
•  Simple but not stupid
  –  Simple enough for new users, powerful
     enough for advanced users (first-class
     functions, garbage collection, closures, tail
     calls, coercion, coroutines, metatables)
•  Lua core is tiny
  –  Compiled size is ~150kB
  –  Lua uses libraries for its extensions
Lua vs. other high-level
            languages
•  Same core features as Python, Ruby,
   Javascript
•  Better concurrency management
  –  Built-in – doesn’t rely on the OS
•  Cutting-edge execution technology
   & performances
Lua vs. other high-level
           languages
•  Restricted set of libraries
  –  Stay simple, the developer brings his own
•  Outstanding Lua/C integration
  –  Performance
  –  Legacy
Lua for embedded and M2M?
•  High-level languages usually trade
   hardware resources for
   development & maintenance
   resources

  Lua allows to reconcile high-level
    languages accomplishments
     with embedded constraints
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       30,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 on Koneki wiki
  –  http://goo.gl/f6T80
•  Contact the team
  –  http://eclipse.org/forums/eclipse.koneki
http://www.sxc.hu/photo/1036004
•  Messaging protocol
•  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 M2M applications:
   –  Serial and I/O management,
   –  Networking (FTP, HTTP, e-mail, …),
   –  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
Overall architecture
101
•  http://www.eclipse.org/proposals/
   technology.mihini
•  http://eclipse.org/mihini
•  Code will be available (very) soon
  –  Initial contribution planned for Q1
Let me
show you!
A very common use case
•  Greenhouse business
  –  Connect gardening equipment
  –  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 to    –  Subscribes to MQTT
   communicate w/ Arduino       messages
–  Collects sensor data/     –  Displays sensor data
   controls actuators           with a fancy UI
–  Publishes MQTT messages   –  Publish command to
–  Subscribe to commands        switch on/off the light
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 will be available soon
Telco*

   M2M server
                      Billing*   etc…*




 Rugged wireless
                    Mobile phones
 gateways

Modbus              Web applications

                    IT applications
control sensors &
actuators
                    …
Wrapping up
•  Developing an M2M app with Mihini
   is simple
  –  Demo app written in a couple of hours
•  Mihini apps are portable
•  Mihini itself is easily portable
  –  make install !
•  Koneki provides support for editing,
   debugging and deploying M2M apps
Join the party!
Thank you!

More Related Content

What's hot

Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT GatewayLF Events
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT FrameworkPaul Evans
 
Creating a Java Internet of Things Gateway
Creating a Java Internet of Things GatewayCreating a Java Internet of Things Gateway
Creating a Java Internet of Things GatewayEurotech
 
Hands on with lightweight m2m and Eclipse Leshan
Hands on with lightweight m2m and Eclipse LeshanHands on with lightweight m2m and Eclipse Leshan
Hands on with lightweight m2m and Eclipse LeshanJulien Vermillard
 
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)Open Mobile Alliance
 
Connecting Stuff to Azure (IoT)
Connecting Stuff to Azure (IoT)Connecting Stuff to Azure (IoT)
Connecting Stuff to Azure (IoT)Mark Simms
 
Eclipse Kura Shoot a-pi
Eclipse Kura Shoot a-piEclipse Kura Shoot a-pi
Eclipse Kura Shoot a-piEclipse Kura
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Benjamin Cabé
 
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
 
IoT Agents (Introduction)
IoT Agents (Introduction)IoT Agents (Introduction)
IoT Agents (Introduction)dmoranj
 
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT SpaceOMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT SpaceOpen Mobile Alliance
 
Lightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New Features
Lightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New FeaturesLightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New Features
Lightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New FeaturesAVSystem
 
Iot gateway dream team - Eclipse Kura and Apache Camel
Iot gateway dream team - Eclipse Kura and Apache CamelIot gateway dream team - Eclipse Kura and Apache Camel
Iot gateway dream team - Eclipse Kura and Apache CamelHenryk Konsek
 
Introduction to AllJoyn
Introduction to AllJoynIntroduction to AllJoyn
Introduction to AllJoynAlex Gonzalez
 
IBM Internet-of-Things architecture and capabilities
IBM Internet-of-Things architecture and capabilitiesIBM Internet-of-Things architecture and capabilities
IBM Internet-of-Things architecture and capabilitiesIBM_Info_Management
 
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...Open Mobile Alliance
 

What's hot (19)

Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT Gateway
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT Framework
 
Creating a Java Internet of Things Gateway
Creating a Java Internet of Things GatewayCreating a Java Internet of Things Gateway
Creating a Java Internet of Things Gateway
 
End to end IoT Solution using Mongoose OS.
End to end IoT Solution using Mongoose OS.End to end IoT Solution using Mongoose OS.
End to end IoT Solution using Mongoose OS.
 
Hands on with lightweight m2m and Eclipse Leshan
Hands on with lightweight m2m and Eclipse LeshanHands on with lightweight m2m and Eclipse Leshan
Hands on with lightweight m2m and Eclipse Leshan
 
The LightweightM2M Ecosystem
The LightweightM2M EcosystemThe LightweightM2M Ecosystem
The LightweightM2M Ecosystem
 
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
 
Connecting Stuff to Azure (IoT)
Connecting Stuff to Azure (IoT)Connecting Stuff to Azure (IoT)
Connecting Stuff to Azure (IoT)
 
Eclipse Kura Shoot a-pi
Eclipse Kura Shoot a-piEclipse Kura Shoot a-pi
Eclipse Kura Shoot a-pi
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014
 
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
 
IoT Agents (Introduction)
IoT Agents (Introduction)IoT Agents (Introduction)
IoT Agents (Introduction)
 
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT SpaceOMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
 
Lightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New Features
Lightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New FeaturesLightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New Features
Lightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New Features
 
Azure IoT Hub
Azure IoT HubAzure IoT Hub
Azure IoT Hub
 
Iot gateway dream team - Eclipse Kura and Apache Camel
Iot gateway dream team - Eclipse Kura and Apache CamelIot gateway dream team - Eclipse Kura and Apache Camel
Iot gateway dream team - Eclipse Kura and Apache Camel
 
Introduction to AllJoyn
Introduction to AllJoynIntroduction to AllJoyn
Introduction to AllJoyn
 
IBM Internet-of-Things architecture and capabilities
IBM Internet-of-Things architecture and capabilitiesIBM Internet-of-Things architecture and capabilities
IBM Internet-of-Things architecture and capabilities
 
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
 

Similar to Using Eclipse and Lua for the Internet of Things - EclipseDay Googleplex 2012

Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Benjamin Cabé
 
Building an Open M2M community one step at a time
Building an Open M2M community one step at a timeBuilding an Open M2M community one step at a time
Building an Open M2M community one step at a timeBenjamin Cabé
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshopNitesh Malviya
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBenjamin Cabé
 
Securing IoT Applications
Securing IoT Applications Securing IoT Applications
Securing IoT Applications WSO2
 
M2M webinar - Developing M2M applications with Lua
M2M webinar - Developing M2M applications with LuaM2M webinar - Developing M2M applications with Lua
M2M webinar - Developing M2M applications with LuaBenjamin Cabé
 
Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQICS
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in EnglishEric Xiao
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialBenjamin Cabé
 
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQMachine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQHiveMQ
 
Supercharge your IOT toolbox with MQTT and Node-RED
Supercharge your IOT toolbox with MQTT and Node-REDSupercharge your IOT toolbox with MQTT and Node-RED
Supercharge your IOT toolbox with MQTT and Node-REDSimen Sommerfeldt
 
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...mCloud
 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Adam Dunkels
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTHenrik Sjöstrand
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformSasa Klopanovic
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformSasa Klopanovic
 
Pushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to CloudPushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to CloudDMC, Inc.
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Adam Dunkels
 
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...Cynthia Thomas
 

Similar to Using Eclipse and Lua for the Internet of Things - EclipseDay Googleplex 2012 (20)

Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013
 
Building an Open M2M community one step at a time
Building an Open M2M community one step at a timeBuilding an Open M2M community one step at a time
Building an Open M2M community one step at a time
 
OWF12/Java Building an Open M2M community
OWF12/Java Building an Open M2M communityOWF12/Java Building an Open M2M community
OWF12/Java Building an Open M2M community
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetup
 
Securing IoT Applications
Securing IoT Applications Securing IoT Applications
Securing IoT Applications
 
M2M webinar - Developing M2M applications with Lua
M2M webinar - Developing M2M applications with LuaM2M webinar - Developing M2M applications with Lua
M2M webinar - Developing M2M applications with Lua
 
Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQ
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
 
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQMachine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
 
Supercharge your IOT toolbox with MQTT and Node-RED
Supercharge your IOT toolbox with MQTT and Node-REDSupercharge your IOT toolbox with MQTT and Node-RED
Supercharge your IOT toolbox with MQTT and Node-RED
 
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTT
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT Platform
 
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT PlatformMainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT Platform
 
Pushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to CloudPushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to Cloud
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
 
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
 

More from Benjamin Cabé

IoT Developer Survey 2018
IoT Developer Survey 2018IoT Developer Survey 2018
IoT Developer Survey 2018Benjamin Cabé
 
Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Benjamin Cabé
 
JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?Benjamin Cabé
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Benjamin Cabé
 
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
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
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016Benjamin Cabé
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handBenjamin Cabé
 
Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Benjamin Cabé
 
Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Benjamin Cabé
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTBenjamin Cabé
 
Manage all the things, small and big, with open source LwM2M implementations ...
Manage all the things, small and big, with open source LwM2M implementations ...Manage all the things, small and big, with open source LwM2M implementations ...
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
End-to-end IoT solutions with Java and the Eclipse IoT stackEnd-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stackBenjamin Cabé
 
Open-source IoT cookbook
Open-source IoT cookbookOpen-source IoT cookbook
Open-source IoT cookbookBenjamin Cabé
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014Benjamin Cabé
 
Overview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleOverview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleBenjamin Cabé
 
Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Benjamin Cabé
 
A guided tour of Eclipse M2M - EclipseCon Europe 2013
A guided tour of Eclipse M2M - EclipseCon Europe 2013A guided tour of Eclipse M2M - EclipseCon Europe 2013
A guided tour of Eclipse M2M - EclipseCon Europe 2013Benjamin Cabé
 
Leveraging Android for the Internet of Things with Eclipse M2M
Leveraging Android for the Internet of Things with Eclipse M2MLeveraging Android for the Internet of Things with Eclipse M2M
Leveraging Android for the Internet of Things with Eclipse M2MBenjamin Cabé
 
Open Source building blocks for the IoT/M2M market - M2M Innovation World Con...
Open Source building blocks for the IoT/M2M market - M2M Innovation World Con...Open Source building blocks for the IoT/M2M market - M2M Innovation World Con...
Open Source building blocks for the IoT/M2M market - M2M Innovation World Con...Benjamin Cabé
 
Open source Tools and Frameworks for M2M - Sierra Wireless Developer Days
Open source Tools and Frameworks for M2M - Sierra Wireless Developer DaysOpen source Tools and Frameworks for M2M - Sierra Wireless Developer Days
Open source Tools and Frameworks for M2M - Sierra Wireless Developer DaysBenjamin Cabé
 

More from Benjamin Cabé (20)

IoT Developer Survey 2018
IoT Developer Survey 2018IoT Developer Survey 2018
IoT Developer Survey 2018
 
Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018
 
JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
 
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
 
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in hand
 
Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016
 
Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
 
Manage all the things, small and big, with open source LwM2M implementations ...
Manage all the things, small and big, with open source LwM2M implementations ...Manage all the things, small and big, with open source LwM2M implementations ...
Manage all the things, small and big, with open source LwM2M implementations ...
 
End-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stackEnd-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stack
 
Open-source IoT cookbook
Open-source IoT cookbookOpen-source IoT cookbook
Open-source IoT cookbook
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014
 
Overview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleOverview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day Grenoble
 
Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013
 
A guided tour of Eclipse M2M - EclipseCon Europe 2013
A guided tour of Eclipse M2M - EclipseCon Europe 2013A guided tour of Eclipse M2M - EclipseCon Europe 2013
A guided tour of Eclipse M2M - EclipseCon Europe 2013
 
Leveraging Android for the Internet of Things with Eclipse M2M
Leveraging Android for the Internet of Things with Eclipse M2MLeveraging Android for the Internet of Things with Eclipse M2M
Leveraging Android for the Internet of Things with Eclipse M2M
 
Open Source building blocks for the IoT/M2M market - M2M Innovation World Con...
Open Source building blocks for the IoT/M2M market - M2M Innovation World Con...Open Source building blocks for the IoT/M2M market - M2M Innovation World Con...
Open Source building blocks for the IoT/M2M market - M2M Innovation World Con...
 
Open source Tools and Frameworks for M2M - Sierra Wireless Developer Days
Open source Tools and Frameworks for M2M - Sierra Wireless Developer DaysOpen source Tools and Frameworks for M2M - Sierra Wireless Developer Days
Open source Tools and Frameworks for M2M - Sierra Wireless Developer Days
 

Recently uploaded

UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2DianaGray10
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024Brian Pichman
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfTejal81
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch TuesdayIvanti
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveIES VE
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4DianaGray10
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...DianaGray10
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024Brian Pichman
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 

Recently uploaded (20)

UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch Tuesday
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 

Using Eclipse and Lua for the Internet of Things - EclipseDay Googleplex 2012

  • 1. Using Eclipse & Lua for the Internet of Things EclipseDay Googleplex Dec. 12th, 2012 Benjamin Cabé bcabe@sierrawireless.com
  • 2. Who I am •  Benjamin Cabé •  Open Source M2M Evangelist at Sierra Wireless •  Long-time Eclipse lover
  • 3. M2M? IoT? Technology that supports wired or wireless communication between devices
  • 8. Smart Pill Box Near field Patient Heartbeat Sensor Medical Services Gateway Clinical Trial Weight Internet Scale of Things Doctor Blood Pressure Blood Sugar
  • 11. M2M embedded programming •  low-level C •  read sensor values •  memory •  control actuators management •  consolidate data •  multithreaded programming •  communicate
  • 12. 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)
  • 14. What is Lua? •  High-level programming language •  Scripting •  Simple •  Extensible •  Portable
  • 15. Extensible by design •  Small –  Trivial syntax and reduced keyword set •  Simple but not stupid –  Simple enough for new users, powerful enough for advanced users (first-class functions, garbage collection, closures, tail calls, coercion, coroutines, metatables) •  Lua core is tiny –  Compiled size is ~150kB –  Lua uses libraries for its extensions
  • 16. Lua vs. other high-level languages •  Same core features as Python, Ruby, Javascript •  Better concurrency management –  Built-in – doesn’t rely on the OS •  Cutting-edge execution technology & performances
  • 17. Lua vs. other high-level languages •  Restricted set of libraries –  Stay simple, the developer brings his own •  Outstanding Lua/C integration –  Performance –  Legacy
  • 18. Lua for embedded and M2M? •  High-level languages usually trade hardware resources for development & maintenance resources Lua allows to reconcile high-level languages accomplishments with embedded constraints
  • 19. 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 30,000+ installations already! •  Debugger •  Remote development
  • 20. Using Koneki LDT for remote Lua development DEMO
  • 21. 101 •  http://www.eclipse.org/koneki/ldt •  Download standalone IDE •  Or install in existing Eclipse –  from Juno repository –  from nightly/milestones repositories •  Execution environments on Koneki wiki –  http://goo.gl/f6T80 •  Contact the team –  http://eclipse.org/forums/eclipse.koneki
  • 23. •  Messaging protocol •  Low-bandwidth / Low-power •  Payload agnostic •  Adjustable QoS •  Large ecosystem
  • 24. (optional) bridge broker broker topic/# topic/subtopic keepalive publish last will & testament subscribe username/password
  • 25. 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
  • 26. Lua VM + MQTT client to go?
  • 27. Application framework for M2M •  Set of libraries providing building blocks to develop M2M applications: –  Serial and I/O management, –  Networking (FTP, HTTP, e-mail, …), –  GPS, –  Cryptography, –  Modbus, –  Local storage –  etc. http://www.eclipse.org/mihini
  • 28. Smart agent for M2M •  M2M data queues •  Network bearers •  Device management •  Application container •  Application configuration http://www.eclipse.org/mihini
  • 30. 101 •  http://www.eclipse.org/proposals/ technology.mihini •  http://eclipse.org/mihini •  Code will be available (very) soon –  Initial contribution planned for Q1
  • 32. A very common use case •  Greenhouse business –  Connect gardening equipment –  Remote monitoring of sensors –  Remote control •  M2M Gateway not selected yet, neither is the rest of the equipment (PLCs)
  • 33. m2m.eclipse.org MQTT broker Raspberry Pi Mobile phone Modbus RTU humidity temperature illuminance light ON/OFF
  • 34. Two Lua applications Embedded Mobile Corona SDK –  Uses Modbus library to –  Subscribes to MQTT communicate w/ Arduino messages –  Collects sensor data/ –  Displays sensor data controls actuators with a fancy UI –  Publishes MQTT messages –  Publish command to –  Subscribe to commands switch on/off the light
  • 35. 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 will be available soon
  • 36. Telco* M2M server Billing* etc…* Rugged wireless Mobile phones gateways Modbus Web applications IT applications control sensors & actuators …
  • 37. Wrapping up •  Developing an M2M app with Mihini is simple –  Demo app written in a couple of hours •  Mihini apps are portable •  Mihini itself is easily portable –  make install ! •  Koneki provides support for editing, debugging and deploying M2M apps