MQTT - Cannot connect to server

Hi - I am attempting to test some MQTT functionality. I have the Transmitter setup, but it cannot connect to the Chariot Server. I have the MQTT Transmission module installed.

Do I need the MQTT Distributor module to be installed as well?

Here are the log messages:

If you aren't using an external broker, yes.

Thanks.
So MQTT Transmission doesn't automatically connect to the Ignition gateway / Tag Provider and grab the tags? The description of the Transmission module implied it didn't need anything else, hence my confusion. Sorry for the basic question, just want to make sure my understanding of the architecture is correct.

The MQTT / Edge architecture diagrams in the Ignition manual documents are also unclear on this point.

image

Well, it can connect to local tags, but to then do what? The point of MQTT is to transmit live values from one system to another.

See this architecture example:

https://docs.chariot.io/display/CLD80/Getting+Started:+Two+Ignition+Architecture

Fundamentally, MQTT doesn't work without a broker somewhere.

2 Likes

I think this is the key thing to understand.

Many companies already have an MQTT broker in their infrastructure, but if not, the Distributor module can provide a pared down broker.

2 Likes

If I'm reading here correctly, Chariot is meant to be an MQTT broker? I guess in that case something else is going on.

It's a broker-as-a-service run by CL.

But OP must be mistaken, because his logs show him trying to connect to a broker at localhost.

Ok, I think I know where I am going wrong. I am misunderstanding the Server configuration page (and the architecture in general). My use case is to use Transmission to pull data from my Edge installation to a remote MQTT broker (ultimately, to a remote database or historian).

Currently, I do not have a "primary" machine - this would be client supplied if they wished to get data (and we would configure MQTT appropriately). This could be Ignition or some other third party broker.

So where I have gone wrong is:

  • I thought the Server tab in the Transmission settings was to set the data source for the Transmitter. It seems like this is the destination(s) for the Transmitter data.
  • I thought I could set up a Transmitter without a destination server just to see if I could browse the data but (silly me) I do need a broker to subscribe, and (I presume) it needs to be explicitly set in the Servers tab

Is this accurate?

'

1 Like

Yes, but the OP's screenshot was trying to connect to a broker at localhost. And there wasn't one.

1 Like

That is correct, you'll need a "primary" machine that can be 1 or 2 servers. For Ignition, you can run with just MQTT Engine and use a separate server for the MQTT Broker (EMQx, Mosquitto, etc), or use the MQTT Distributor module to run one directly on the Ignition server.

1 Like