- 15-May-2015: Added support of Forwarder Encapsulation. Mqtt-SN packets are encapsulated according to MQTT-SN Protocol Specification v1.2, chapter 5.5 Forwarder Encapsulation.
- 01-Apr-2015: Pre-defined topic name is stripped of trailing white space characters
- 22-Mar-2015: Added support for Pre-defined topics and Dynamic pre-defined topic names.
- 22-Mar-2015: In MQTT-SN, PubAck send with "Rejected - Invalid topic ID" when topic name not found at message publish.
- 22-Mar-2015: Fixed Eclipse bug 424704 - MQTT-SN broker forgets published topics.
For full list of changes see CHANGELOG file.
When I was looking for a messaging platform which I could use in home automation project I discovered MQTT-SN (MQTT for Sensor Networks), even lighter then its already lightweight sibling MQTT (MQ Telemetry Transport), protocol.
While there are few available MQTT brokers, it seems there is only one MQTT-SN broker called Really Small Message Broker, or RSMB, so my choice was easy.
After I experienced with RSMB I discovered couple of missing features (e.g: incomplete support of sleeping clients, pre-defined topic IDs) of MQTT-SN protocol. While MQTT features of RSMB are already incorporated into its successor Mosquitto there is not much buzz around MQTT-SN and my personal opinion is that it is considered secondary.
Fortunately RSMB has been open sourced and its code is available on Eclipse.org so I decided help myself, fix some bugs, add few features and do it Open.
Hopefully couple of you will find it useful and will benefit from it.
My expectations from the project
Fix few bugs, add some features so the MQTT-SN support in RSMB will be good enough small applications.
More on MQTT, MQTT-SN and RSMB
MQTT-SN specification, version 1.2. This is a document I mostly work with when figuring out how particular feature should work.
Since beginning of 2015 HiveMq is running series of informative blogs MQTT Essentials.
Most of credits belong to Ian Craggs and Nicholas O'Leary from IBM UK - original makers of RSMB.
And of course other small contributors who gave hand to the project.