I am very new to mqtt and am clearly missing something basic , which I have not been able to find by searching in the forum or by Google search.
Background
I have created a simple microPython script on a Raspberery Pi Pico W microcontroller, to read from a BME280 sensor and deliver values to broker.hiveMQ.com. This appears to work and it claims to be connected. I can print the topic name and values locally.
I have also created a node-red flow on my Windows 10 computer, to connect to HiveMQ Cloud and view the values in a debug node. The topic name is the same as in my Publish client script. The node claims to be connected correctly, but no values are delivered to the debug node. If I replace the input node with a timestamp generator I can see the outputs without problem.
As a check I also connect through the HiveMQ Cloud web app, but this reports that it has not received any messages from the specified topic.
Questions
-
What am I doing wrong? Presumably you will need more information. Please let me know what you need.
-
At a (much) more basic level, I understand (correctly?) that a publishing client is free to define topic names and that these can be quite simple. How does the broker distinguish between duplicate topic names from different clients and ensure that the subscriber only receives from the correct publishing client?
Any help would be much appreciated.