MQTT-SN RSMB Broker Overview,Install and Configuration

The RSMB MQTT-SN broker written by Ian Craggs of IBM isn’t currently being actively developed, but it is still invaluable for anyone wanting to get experience using MQTT-SN.


The RSMB broker functions both as a broker allowing messages between MQTT-SN clients, MQTT clients, and as a Gateway allowing MQTT-SN clients to exchange messages with MQTT clients as shown in the diagram below:


Installing the Broker

You can download the RSMB ( Really small message broker here . Unzip it.

When you unzip it you should see a directory structure like the one below:


Open the RSMB folder and go to the src folder:


In the src folder you will find the source files (.c and .h files), it also contains a Makefile that contains instructions to build the broker.

Navigate to this directory and run make to compile the broker.

Note: On Linux the compiler will already be installed and so this will work. However on Windows you will need the necessary software installed. I have only done this on Linux.

You get two brokers called broker and broker_mqtts.

The broker program only support MQTT over TCP.

The broker_mqtts is the one you need to run MQTT-SN.

I copied the broker files into a directory of their own and created a configuration file called text.txt.

In the configuration file I turned on detailed logging and set the broker port for 1884 just to test it. here is the file.


To run it at a command prompt type.

./broker_mqtts test.txt


If you want the broker to advertise the Gateway address then use this config file.

trace_output protocol

# normal MQTT listener
listener 1883 INADDR_ANY
# MQTT-S listener
listener 1885 INADDR_ANY mqtts
# optional multicast groups to listen on
#This will advertise the Gateway address to clients
# optional advertise packets parameters: address, interval, gateway_id
advertise 30 33

Notice that in the config file above MQTT uses the standard port 1883:

listener 1883 INADDR_ANY

and mqtt-sn uses port 1885.

listener 1885 INADDR_ANY mqtts

You will need to configure the client to listen on port 1885 and Multicast IP of to receive the messages.

This is what the output of the Python client shows when gateway is found


64 bit Processors

If you want to run it on a 64 bit processor it may fail with a strange warning that it can’t find the file.

On Ubuntu you need to do the following:


Screen shot above taken from this forum post.

RSMB Alternatives

There aren’t any as far as I am aware there is a Gateway available and released by the Eclipse foundation.

Video – RSMB and Python MQTT-SN Client Demo


There is a very useful getttingstarted.htm file in the doc folder.

Related Tutorials :

Please rate? And use Comments to let me know more

Leave a Reply

Your email address will not be published. Required fields are marked *