MQTT for Sensor Networks – MQTT-SN

December 2nd, 2013 - andyp

The nomenclature of “MQTT-S” (sensors? security? sausages?) has been confusing to some people, so recently there was a discussion about renaming the protocol to MQTT-SN.

The new name would be MQTT-SN, standing for exactly the same long name, MQTT for Sensor Networks.  Some people had assumed that the S in MQTT-S stood for secure, so we hope this change will avoid that confusion.

As part of this change, the copy of the specification now available from the Documentation page now reflects that name change, and links to all previous versions of the specification have been permanently redirected. This is still version 1.2 of the specification, updated to reflect the changed name. MQTT for Sensor Networks is aimed at embedded devices on non-TCP/IP networks, whereas MQTT itself explicitly expects a TCP/IP stack.

So, how can you get started with MQTT-SN? Here’s the exciting part – Really Small Message Broker and Mosquitto are coming together in a new Eclipse project, called Eclipse Mosquitto (here’s the project proposal). The RSMB source code is now available at Eclipse, and it has built-in MQTT-SN support… Ian Craggs shares a very quick getting started guide on his blog. It turns out that Nicholas Humfrey’s tools for MQTT-SN work well with RSMB as well!


Do you know if IBM will open-source the initial historic implementation ? The one made when it was called MQTT-Z.


I have no information on that (and didn’t even know that it had been known as that acronym).

MQTT for Connected Car greatest hits compilation | Joe Speed: MobileBit

[…] MQTT + MQTT-SN bridging broker for embedded systems.  […]

The Technology Behind Adafruit IO « Adafruit Industries – Makers, hackers, artists, designers and engineers!

[…] Node.js is currently handling all of our real-time traffic from clients connected via MQTT or websocket. We use a modified version of Mosca as our MQTT broker, and will be switching to Aedes as soon as it is production ready. The node.js workers push data to the database by sending information to a Sidekiq queue, which is then picked up by a Ruby worker and inserted into the database using the same Active Record models that the website and REST API use.  The Ruby worker then notifies node.js of the successful database transaction via Redis, and data is emitted to the appropriate MQTT and websocket subscribers. The node.js workers are managed by pm2, and we use nginx in front of node.js to handle TLS/SSL connections for MQTT on port 8883. Node.js will also eventually handle connections from other IoT protocols like CoAP and MQTT-SN. […]

add a comment