Pulga, a tiny open-source MQTT broker for flexible and secure IoT deployments

The Eyes of Things (EoT) EU H2020 project envisages a computer vision platform that can be used both standalone and embedded into more complex artifacts, particularly for wearable applications, robotics, home products, surveillance etc. The core hardware will be based on a number of technologies and components that have been designed for maximum performance of the always-demanding vision applications while keeping the lowest energy consumption. An important functionality is to be able to communicate with other devices that we use everyday (say, configuring and controlling the EoT device from a tablet). Apart from low-power hardware components, an efficient protocol is necessary. Text-oriented protocols like HTTP are not appropriate in this context. Instead, the lightweight publish/subscribe MQTT protocol was selected. Still, the typical scenario is that of a device that sends/receives messages, the messages being forwarded by a cloud-based message broker. In this paper we propose a novel approach in which each EoT device acts as an MQTT broker instead of the typical cloud-based architecture. This eliminates the need for an external Internet server, which not only makes the whole deployment more affordable and simpler but also more secure by default.