this post was submitted on 07 Jun 2024
23 points (100.0% liked)

Linux

5167 readers
501 users here now

A community for everything relating to the linux operating system

Also check out [email protected]

Original icon base courtesy of [email protected] and The GIMP

founded 1 year ago
MODERATORS
 

Sounds easy? Well, it should have been. I'm not talking about a "Hello, World!" (although it is more or less on the same level for me). The goal was to write a set of three MQTT clients that properly talk with each other and interact nicely.

So I had to learn Python and MQTT on the same day. Should not be an issue after 40 years of programming. But it quickly turned out that the Python library/package for MQTT on Ubuntu was heavily outdated (1.6), and did not supply all the functions the documentation and examples (2.0) asked for. Using pip3 didn't work, as it complained that the package structure was maintained by the OS. In the end, I had to virtualize the python3 system and pip3 the 2.0 package there and run it.

After about three hours, I had the clients working as they should. Yes, I think MQTT is a good base for the next project.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 5 months ago (1 children)
[–] Treczoks 3 points 5 months ago (1 children)

The next step will be to implement two of the clients on RPi Pico W boards. The documentation on MQTT on that platform has quite some potential for improvement, to put it mildly.

[–] [email protected] 3 points 5 months ago (1 children)

Having done some MQTT IoT work in the past, dropping a couple resources:

https://github.com/eclipse/mosquitto - CLI interface and C bindings. I've only used the CLI interface. Its a nice way to test communication with a remote broker.

RabbitMQ /w MQTT plugin - Message queue based on AMQP. We ran this as the server in a container. There maybe others options like 0MQ (been a few years so don't know every option). I had my clients post to a wild card topic so that I could consume a single device or all devices. Consumption is not with MQTT though. We'd use AMQP on that side.

[–] Treczoks 1 points 5 months ago

I'm running a mosquitto here as the broker, and use MQTT Explorer for debugging.