Pulga, a Tiny Open-Source MQTT Broker for Flexible and Secure IoT Deployments
1. 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
3. 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,…
4. 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
5. Motivation and Context
• Many innovative
‘out-of-the-factory’
CV applications
developed for
smartphones,
which are cheap,
easy-to-use …
6. 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
8. 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
10. 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!
12. • 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
13. • We selected the MQTT protocol
• Open lightweight publish/subscribe protocol
• Efficient 1-to-n communication mechanism
MQTT Broker: Pulga
14. MQTT Broker: Pulga
Typical MQTT scenario
Problems:
1. The broker is in the
cloud (security risk)
2. Sometimes it has to
be leased
15. 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
16. 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)
20. 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