+ All Categories
Transcript
Page 1: 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

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

Contents

• EOT/IOT. Motivation and Context

•Challenges

• The MQTT Broker: Pulga

•Conclusions

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

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,…

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

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

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

Motivation and Context

• Many innovative

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

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

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

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

Challenges

EOT => IOT + CV

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

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

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

Efficiency Size

Cost Flexibility

Challenges

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

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!

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

Challenges

However we do need to:

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

• 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

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

• We selected the MQTT protocol

• Open lightweight publish/subscribe protocol

• Efficient 1-to-n communication mechanism

MQTT Broker: Pulga

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

MQTT Broker: Pulga

Typical MQTT scenario

Problems: 1. The broker is in the

cloud (security risk) 2. Sometimes it has to

be leased

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

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

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

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)

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

MQTT Broker: Pulga

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

MQTT Broker: Pulga

Pulga has a specific configuration topic

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

EOT Prototype

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

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

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

Thanks for your attention


Top Related