Getting started with MQTT

Dear MQTT enthusiast,

Nice to see you found your way to the HiveMQ Community Forum.
In case you are new to MQTT protocol itself, don’t worry. We got you covered!
The perfect starting point to gain a solid basic knowledge of the de-facto IoT standard protocol and its properties and features is our very own MQTT Essentials Blog post series.

Here’s a list of all the topics we covered in this popular and highly praised series.

MQTT Basics

MQTT Features

MQTT Specials

Feel free to add any feedback on the series to this topic.

Best regards,
Florian from The HiveMQ Team.

2 Likes

I tried to do a first test of MQTT using “MQTT Dashboard” and “MQTT Websocket client”. What must I configure in “ClientID”, “Username” and “Password” of MQTT Websocket client? I need to do some prior registration to use the MQTT Dashboard?
Thanks!

Hi @fbianc,

Welcome to the forum.
Awesome to see you are interested in and getting started with MQTT and HiveMQ!
You can leave the Username and Password field empty and can choose any ClientID you like.
No registration is necessary. Just connect, subscribe and publish as you like :slight_smile:
Let us know, if we can help you with anything.

Kind regards,
Florian

Hi I have been given a project by my college to improve scalability in MQTT. I have no idea about the steps. How can I increase Scalability.
I’m new to this sorry if its a dumb question.

Hi @manoj,
Welcome to MQTT and the HiveMQ Community Forum.
I like your question and I think the community has something to say about that huge topic.
I’d suggest you open a dedicated thread to increase visibility.
You posted a response to the the general “about / welcome” post of the MQTT forum.
Looking forward to fruitful discussions.
Kind regards,
Florian

Hi there,

Sorry for what might be a silly question and I did have the answer but I cannot see it anywhere now.
I am trying to test the mqtt hivemq cloud and logging in with a username and password on 8884 but where can I get the client ID, some weeks back I thought I picked it out of a string or longer figure.

Its for the websocket that you can run on a browser.

Thanks.

Hello @Fearrchair ,

Thank you for the outreach!

The client ID is specified by the connecting client when initiating a connection request with the broker. This client ID is then used to uniquely identify the session for this particular device.

With the WebSocket client, when loading the page, a generated string (typically of the format clientId-********** where * is any number or letter, upper or lowercase) is provided for this client ID. This is unique with each refresh of the websocket client page. It can be customized based on user input, as well.

To clarify, are you looking to find the client ID of a previously connected client, or create a new client with a unique ID? Specific restrictions and requirements regarding the length and format of a client id are also available here.

Let us know your thoughts!

Best,
Aaron from HiveMQ Team

Hi Aaron,

Thanks, one of the issues I discovered as that I hadnt ticked the SSL option.

What I trying to do was retrieve data from a solar invertor using MQTT and upload to the HiveMQ cloud.

I has a custom PCB which was able to read the invertor readings charging / discharging etc correctly but couldnt communicate to the mqtt server.

When you power up the PCB the options are mqtt server port username and password.
It has a local IP Address on my network.

I can connect to the HiveMQ cloud accound on my pc on the same network, and have also since tried using rasperry pi4 running home assistant.

On the desktop PC subscribing doesnt retrieve any topics but messages are received.
looking online the webpage shows the cluster showing 1.55mb/10mb and 2 MQTT connections so it looks like it sees something.

I’ve learned since maybe I should point the PCB thats connected to the solar invertor to the IP address on the rasperry and then that may communicate to the cloud, or if its the cloud address I should be using.

Another comment I read suggested that if the time was not correct on a device that an SSL connection may not work…

I have an RS484 to USB that i have since directly connected to the rasperry Pi4 running HA to the solar invertor rather than the PCBA module, just to see if that works.

Hello, @Fearrchair

Thank you for the follow up!

For the client, in most cases, a direct connection to the broker host is the best route to take. It sounds like the Solar Inverter here supports MQTT communication, so once connected to the network, and provided proper network access to the broker host, it should be able to establish a connection. It may be worthwhile to see if, during the connection request, a client-ID can be specified, as this can prevent lingering connections. This would be prevented if the same client-ID is used for this device each time it connects.

A solid test case may be to use the websocket client, and configure it with the configuration to be provided to the Solar Inverter. This can help isolate the issue between a broker connection issue, and potentially a client connection packet issue.

Best,
Aaron from HiveMQ Team