Asking for help with public MQTT brokers - which one?

I am still a bit away from committing, but I may be in need of a public MQTT broker.

Lowish traffic - once set up. But testing will be a bit laborious.

I've seen hive and emqx.

Just wanting to ask people's data on how good they are to use.

try to learn too ( so no expert info )
but i do use free account with a limit of 10GB
( and no credit card needed )
when hit the limit ? what happens then?

check there the #get-started info.
it works well between usa and asia for mqtt test node-red - Raspberry Pi ...

but first check there on /public-mqtt-broker/ page, so you might need no account,
just to get started.

for storing the data i try node-red sqlite3
( on a Raspberry Pi SD card / what not makes much sense )

BUT that is a broker only...
if you try adafruit it comes with a free 30 day data storage
and a online dashboard ( very different thinking )

I use Beebotte for most of my home-automation projects. Most of my IoT students use Beebotte as well.
Very easy to set-up to work with Wemos D1 Minis and Raspberry Pi(es) running Node-RED.
They have a free tier called XS (with a limit of 50,000 messages/day). (No credit card needed.)


Setup a Oracle acount, some where on here there is a post on how to do a free VM.

Load Node-Red and mosquito, off you go, your own broker in the cloud

Thanks all.

Setting up a VM and then doing Node-Red and mosquitto.... Over my skill set.

In the mean time I have been getting away with using hive to do preliminary testing and it works simply be subscribing to the topic here and getting my device to publish to the topic using hive and all is good.

That seems too easy to be true.

The next question is encryption. It isn't that I need it, but I would be leaving the door wide open for fake injections and cause havoc if misused.

I've NEVER used it before and so it begs the question: Is the encryption done only at the ends or does the broker need to be included in the equation?

Hi Andrew,
I've quickly written a step-by-step tutorial guide to show how to use BeeBotte with Node-RED.
Let me know how you get on with it and if you find any "typos" or errors.


Actually simpler than you think, the instructor are very good.

Yeah, but I really don't know how smart/dumb I am.

I don't get that some things I can walk through and others ..... Impossible.

I've only touched VM stuff lightly and it all fell over and died a bad death.

And (typically) I am now tripping over other things which are just as confusing - if not more - than this.

I have the NR side of things working, but now I am stuck how to do it from the other end.
Android mobile phone.

I'm using Tasker - if that is of any help.

Oh - I thought you wanted to use a Raspberry Pi running Node-RED and make use of a remote MQTT broker. I've not tried Tasker so will have to leave that for other members of the forum to comment upon.

Well, usually I do.
But that is for local stuff.

This is a whole other ball game.
I am trying to help with an app for a mobile phone and so a fixed broker so it is always there.
ISP's change user IP addresses when they feel like it. So it wouldn't work.

One end of the MQTT pipeline is a RasPi, but the other (sending) is a mobile phone.
I got everything working fine on HIVE broker.
But Beebotte seems to always want a key.
I've got that working this end, but stuck how to do it on the Phone's end.

BTW, what's the difference between public and private channels in Beebotte?

Exactly what it says Andrew, anyone can access the public channel. Not what you want, probably.

Thanks, but I'm confused at the get go.

Unless I put in the key (as given on their page) I can't connect.
So, I am missing how anyone can see my public channels if they don't have the key.

To (maybe) better explain:

Key in the config.

Screenshot from 2022-08-27 22-35-32


Screenshot from 2022-08-27 22-35-47

So I go in and delete the key and then deploy.

stuck at connecting.

So without the key......

And this also throws me into confusion:
Seems there is a test channel already. (topic)
It too has a key which is different to the one for the channel (topic) I made.

So, it seems difficult for me to have multiple topics working on the same machine.

I don't think Beebotte is the platform for someone used to their own local mosquito broker.

It's a bit confusing if you are already used to a mosquitto broker

I'd suggest signing up for your own free HiveMQ broker.

I do have a hivemq account but I don't currently use it.

Instead I am running Mosquitto on a Raspberry Pi at home and I use Zerotier to connect phone and laptop through the internet.

Mosquitto is a bit of a pain to set up so that you can connect to it but zerotier is really very simple.
It creates an encrypted connection so I don't have worries about my MQTT traffic being snooped on or hacked.

If you already have Mosquitto I think this is by far the easiest answer.

If I wanted to allow access from another device I have to install Zerotier, enter my virtual network ID and log in to the zerotier website to authorise the device.
So security wise it's protected by a long and cryptic network ID and login account and password.

Another advantage/disadvantage, depending on your point of view: The same Pi runs Node-Red, Mosquitto and PiHole. So if I have access to MQTT from my laptop at the coffee shop I can also open the Node-red editor, filter out adverts while browsing and do my online banking securely.


Just to clarify things:

I am keeping my local MQTT brokers.

I am needing an external one for a very specific task.

Remote devices talk to it and it will always work. My IP address can change at the drop of a hat and so if it changes the remote devices will fail to connect.

Beebott looks nice, but I am having problems with their keys. Not at the node-red end, but the remote device's end.

I have already done tests with Hive and they work. (I don't even have an account - should I admit that?) :person_shrugging:

The problem with Hive is that it is visible and accessible to outside people.
It isn't a real .... problem in I'm not sending bank details or anything like that, but it would be open to injection of incorrect messages.
But I guess further down the track that can be addressed.

When the message is received here it is completely separate from all/any other MQTT messages my machines run locally on my network.
So at that level I am not seeing any security issues.
The only one is that someone outside can inject/send a fake message.

You can create an account and get a private broker. For free.

Free to connect IoT devices

Use HiveMQ Cloud to connect up to 100 MQTT client devices at no cost to you. Enjoy the simplicity and flexibility of using a hosted MQTT cloud broker for free. No credit card required

You can have more than one MQTT node in your flow to connect to different topics (Beebotte channels).
Here's an example. Some are local brokers, some are remote. (I probably need to rationalise them!!)

You can also expand a topic name to include sub-topics.
For example, thinking about your "block signalling project" you could have a main topic as...


And then sub-topics like...


Here's another example of the information received from sensors around my house.
Look at the topic name (which I use to extract data from a specific node).



But there is also that problem with the tokens.
Every topic has its own token.
Fair enough. Machines won't be changing their topics while working, but I am/was/still stuck with how to get that on the mobile phone end of the MQTT.

Yes - I seem to remember I had a number of problems finding where to enter the Token when I used the App "Owntracks" (to track a mobile phone) with
Tracking a Mobile Device
I'm sure someone will jump-in and advise you.

1 Like