Workshop: MQTT Extension

View on Snap!Con

Presented By: Nizar Ayed


Abstract:

A SNAP! of MQTT

MQTT is a dedicated protocol for message queueing and is among the best to use with the IoT. Its light payload messaging makes an ideal feature to communicate with servers with less power and less bandwidth. It is also secure and error prone which make it enough robust for critical industrial applications and environments.

Why Snap!

So, bringing it to Snap! would help for many purposes. Professionally speaking, it helps develop new prototypes of connected objects, test and debug them. It can be used for simulations, allowing developers to focus on configuring, testing and debugging IoT clouds, hubs and servers. For hobbyists, it is a way to extending the existing facilities offered by DIY development boards. It can be used also for pedagogical purposes, even for technicians that are not acquainted with coding, since Snap! is a visual development environment that makes understanding very easy.
Furthermore, this protocol can be used to manage interactive applications between different sessions of Snap! Users of Snap! will be able to develop games and quickly simulate remote activities related to their real life developments and coding.

How this can be achieved ?

Here is a presentation of an extension library that brings the power of MQTT to Snap!. This library was developed using the Object Oriented Programming possibilities of Snap!. The use case is a "Smart Garden Gnome" that takes care of the plants and supervise the ambient temperature, humidity and soil hygrometry. This project was sponsored by a company that asked us to develop a "SmartGnome" prototype. With the help of the MQTT extension and that of 10 kids, this was achieved in only 15 hours!

Here is the link for the extension:
https://raw.githubusercontent.com/TopNiz/snap-mqtt-lib/master/mqtt-blocks-snap-v1.1.xml