MQTT Support in RIOT

Hello Team,

My query is regarding the MQTT (paho-mqtt-embedded) support in RIOT OS. This package is not been updated from last 3 years and also does not support MQTT5. I am wondering what is the reason for choosing this package instead of any other package whose support is still provided by developers.

Please suggest.

If you have a suggestion for an alternative implementation that supports MQTT5, we can package that as well.

The answer to the question Why has X not been done yet? is usually Because nobody has done it yet :wink:

@fixp should know more about this particular package.

Hello, as @benpicco said it’s basically that. I used it for a project at work so I had some background using it and I decided to publish it from my account and giving support for native build. Which package were you thinking to use?

Have a nice one!

btw.: paho.mqtt.embedded-c has a develop branch which has some MQTTv5 commits in it, but it’s of similar vintage and I don’t know how complete it is.

1 Like

A nice package to have is wolfMQTT: it has support for MQTT 3.1, 5.0 and TLS. And it seems to also be MQTT-SN compliant. It is compatible with a nice list of brokers and is quite active. Someone should definitely try to port it to RIOT. That would allow communication with the main cloud providers (AWS IoT, Azure IoT, etc).

1 Like

If no one is going to work on this I can give a look and try to port it on some spare times I might have. Was actually working in a VL53l0X driver but it’s giving me a headache so might need to leave it for some time to come back later.

1 Like

Would that be compatible with #10363?

@aabadie I started working on wolfMQTT porting… This package uses autoconf to build, should I replace it with a simple Makefile or we can ask the user to install autoconf package on his machine… or maybe adding it to docker? or even build the makefile myself and set them in riot pkg system… I guess that one is the best to do

Wouldn’t autoconf generate a config for the host system, not the (RIOT) target? Given that we control the RIOT target, autoconf should not be necessary.

1 Like

@benpicco You mean to use directly the src, and make my own Makefile with them, right?

Yes that would be the way to go. Not sure if it expects any auto-generated source files though.

1 Like