Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
vernemq
A distributed MQTT message broker based on Erlang/OTP. Built for high quality & Industrial use cases. The VerneMQ mission is active & the project maintained. Thank you for your support!
-
questitto
Mosquitto + Telegraf + QuestDB Easy-to-Deploy Stack for quick IoT Prototype Scenarios using Docker
-
Tasmota
Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at (by ndbroadbent)
-
Tasmota
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
That sounds really nice, I love interesting projects in areas outside of my experience. If you're using Mosquitto I'd love to hear more about it - my contact details are at the bottom of https://github.com/eclipse/mosquitto/ :)
I've never used Mosquitto, but I have done a fair amount with Verne.mq [1], and I have to say that MQTT is downright pleasant to use in a lot of cases. I've not done a ton with it in "real world" situations, but I have used it for multiple hackathons, and I'm always impressed how little of a headache it is to build a decent "live" application with almost no effort.
If your frontend web project calls for any kind of messaging, I definitely recommend looking into trying MQTT before you jump straight into WebSockets. There's a good chance MQTT does what you need, scales better, can communicate over WebSockets, and will make your life easier .
[1] https://vernemq.com/
I really like Mosquitto, I'd recommend it for quickly getting started hacking together IoT projects on the hobby / side project scale. One of our community (QuestDB) contributors put together a docker compose example that I thought was pretty nice for quick prototyping, could be convenient for someone here:
https://github.com/shantanoo-desai/questitto
I've learned a lot about MQTT while setting up Home Assistant. Mosquitto is a pretty important part of my Home Assistant installation. I use it to control all of my Zigbee devices via "zigbee2mqtt" (buttons, switch modules, etc.), and also a smart kettle running Tasmota [1]. I also added a little patch to Tasmota so that my kettle responds with `418 I'm a teapot` [2]
[1] https://tasmota.github.io/docs
[2] https://github.com/ndbroadbent/Tasmota/commit/bbcf57faffbf5b...
I've learned a lot about MQTT while setting up Home Assistant. Mosquitto is a pretty important part of my Home Assistant installation. I use it to control all of my Zigbee devices via "zigbee2mqtt" (buttons, switch modules, etc.), and also a smart kettle running Tasmota [1]. I also added a little patch to Tasmota so that my kettle responds with `418 I'm a teapot` [2]
[1] https://tasmota.github.io/docs
[2] https://github.com/ndbroadbent/Tasmota/commit/bbcf57faffbf5b...
The lowest spec device I've come across Mosquitto being used is a 180MHz MIPS processor on 32MB RAM, running Linux.
Someone has recently taken the RSMB broker (from IBM originally) and ported it to the ESP32: https://github.com/DynamicDevices/picobroker I can't comment on what the limitations of that are though.
The node-red [0] project is a great complement to MQTT use-cases. [1]
"Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click."
[0]: https://nodered.org/
[1]: https://cookbook.nodered.org/mqtt/connect-to-broker
Now if you implemented your mqtt with an i++, this where you can start to have dataloss, because now that you sent 65k messages you finished you start to need actually free packet id.
And it cause a lot more issues that what I said there, that I hope I covered every case in my implementation: https://github.com/signature-opensource/CK-MQTT/blob/develop...
Then, this is just the PacketID Logic.
If you need a highly available broker you can consider https://github.com/streamnative/mop which adds a MQTT protocol handler to Apache Pulsar.
I recently contributed auth support and TLS support also just landed.
Unfortunately, Rabbit's implementation of MQTT has some pretty serious deficiencies which you may find ends up being a deal-braker (e.g. https://github.com/rabbitmq/rabbitmq-server/issues/2556).
Related posts
-
easy-mqtt-handler alternatives - system_sensors and lnxlink
3 projects | 3 Feb 2024
- Philips Hue will soon force users to create an account
- Ask HN: I’m an FCC Commissioner proposing regulation of IoT security updates
- ESP32 as a hub for IoT monitoring
- Finally picked up some Shelly’s! I know nothing as far as things like MQTT. What rabbit holes should I go down in this world?