Pulga, a Tiny Open-Source MQTT Broker for Flexible and Secure IoT Deployments

Post on 08-Feb-2017

540 views 0 download

Transcript of Pulga, a Tiny Open-Source MQTT Broker for Flexible and Secure IoT Deployments

Pulga, a Tiny Open-Source MQTT Broker

for Flexible and Secure IoT Deployments

Jose Luis Espinosa-Aranda, Noelia Vallez, Carlos Sanchez-Bueno, Daniel Aguado-Araujo, Gloria Bueno, Oscar Deniz

University of Castilla-La Mancha, Spain

This project has received funding from

the European Union’s Horizon 2020

research and innovation programme under grant agreement No 643924

Contents

• EOT/IOT. Motivation and Context

•Challenges

• The MQTT Broker: Pulga

•Conclusions

Motivation and Context

Vision is our richest sensor

One of the most complex tasks for both humans and

machines

Proven success in ‘machine vision’ context, i.e. factory automation, inspection,…

Motivation and Context

CV is going out-of-factory … • Microsoft Kinect

• Google Project Tango

• Google Glass

Lots of new developments • Drones

• ADAS

• Multispectral, 3D, …

• Mobile imaging

• Deep learning

Motivation and Context

• Many innovative

‘out-of-the-factory’ CV applications developed for smartphones, which are cheap, easy-to-use …

Motivation and Context

• But smartphones are not appropriate for many applications

• Wearable for the IOT/EOT? No

• Low power consumption? No

• Optimized for CV? No

• No flexible open

platform for mobile

embedded vision is

currently available

• New-platform

needed

Challenges

EOT => IOT + CV

Challenges

Build a generic vision system that can be used standalone but also embedded in more

complex artifacts

BOM < $15

camera

3mm x 3mm x 3mm

EoT board

camera cable

0-200cm

Efficiency Size

Cost Flexibility

Challenges

Challenges

Alternative: IOT + Cloud?

• Image analysis requires massive computing power • Send the data to the Cloud • Send the data to local computers: Cloudlets

• In both cases raw sensor data would be streamed to an externally-managed device • Security problems!

• Too much data • High Wi-Fi power consumption!

Challenges

However we do need to:

• We should use Wi-Fi data transfer • For device configuration, application

metadata, etc

• Texas Instruments’ CC3100

• Common Internet protocols such as HTTP are not appropriate in IoT

MQTT Broker: Pulga

• We selected the MQTT protocol

• Open lightweight publish/subscribe protocol

• Efficient 1-to-n communication mechanism

MQTT Broker: Pulga

MQTT Broker: Pulga

Typical MQTT scenario

Problems: 1. The broker is in the

cloud (security risk) 2. Sometimes it has to

be leased

MQTT Broker: Pulga

Our proposal: MQTT broker in the embedded device

Pros:

• Don’t need leased broker

• Reduce security risks (information is in the LAN)

Cons:

• Broker is complex software

MQTT Broker: Pulga

The most popular (desktop) MQTT broker: Mosquitto

3MB RAM

Our implementation for EoT: Pulga (flea in Spanish)

512KB RAM (can be less)

MQTT Broker: Pulga

MQTT Broker: Pulga

Pulga has a specific configuration topic

EOT Prototype

Conclusions

• The EOT building elements have been all optimized for size and cost

• Software and protocols used have been also optimized

• A novel architecture is proposed in which each device can act as a broker itself

• Since no data is initially sent through the Internet is an advantage in terms of security

• The proposed embedded MQTT broker, Pulga, offers the opportunity to install and configure applications

Thanks for your attention