MQTT Data Usage

I am looking for info on if using MQTT and a cellular connection on devices help lower data usage.
Anyone out there used MQTT with cellular and notice this?

I think this would benefit us a lot since we have 500+ cellular devices that run around 3 to 5 GB a month of usage with a lot of those tags being be polled 5 seconds or less.

If we could cut that down by half or even more (especially if tags don’t change for a whole month) it would be a no brainer to move to MQTT.

Any feedback on this is greatly appreciated.

The Sparkplug MQTT protocol is specifically designed to reduce data usage. Here’s a review done by the company that initially helped develop Sparkplug for Ignition:

1 Like

Is your current architecture something like:

[Ignition] -- (cell connection) --> [Field Device]

with an Ignition driver polling over the cell connection?

@Kevin.Herron , yes I think.
The Ignition system is in the cloud and all field devices use a cellular connection on a private network.

@justin.brzozoski Thank you very much for the review. I will read it over and make notes.

Do you have some kind of edge hardware next to each field device also? Or are those field devices natively MQTT capable?

There is no magic. An MQTT setup looks something like this:

[Ignition] <- MQTT consume - [MQTT Broker] <- MQTT publish - [Edge Device] - poll -> [Field Device]

With some variation for whether you actually need an Edge device or not, and whether you use the built-in broker from the MQTT modules or a separate one.

If the field devices don’t have built-in MQTT functionality then something has to be next to it polling the data and publishing to the MQTT broker.

We don’t have anything right now but we will start getting some Cisco industrial routers that have IoT enabled. We would use all Ignition modules for sure on the cloud side.

We have a very high cellular bill so if MQTT cut down that bill by 50% or more it is then feasible to get 500+ IoT routers then.

We would for sure use the MQTT Distributor and Engine Modules to achieve this.

1 Like

I dont know anything about cisco but you may want to look at using a cmt gateway from maple systems or something instead of replacing the modem

Well we are changing modems for other reasons as well and the main reason wasn’t even for IoT, it was just something extra we found that we could do and starting to look into it.

I would do my due diligence on the cisco stuff to make sure it will do what you want. Dont assume because it says IOT that it will do what you are expecting, that is just a buzzword. You may want to look at Red Lion cellular modems for mqtt.

Also be aware that because some device says it supports MQTT, that doesn’t mean it supports Sparkplug. MQTT is just a transport method, and doesn’t define the payloads. Sparkplug defines the payloads. Most implementations that support MQTT but not Sparkplug are just sending very large JSON strings over MQTT.

I have a few other suggestions for edge devices that I know support Sparkplug directly, either from using them personally or because of their involvement in the Sparkplug community:

  • Opto22 devices don’t have a cellular link option that I’m aware of yet, but are solid and can handle a truckload of devices and are very configurable. Hook one of these up to a cellular-enabled router and you can push a lot of data.
  • Next step down would be the MachFU IIoT Gateway which has the cellular link built in, but isn’t quite as flexible or expansive as the Opto22 gear. It still handles a huge variety of protocols and a lot of connections, but don’t expect to run an entire factory through it.
  • Lightest option is the SignalFire Ranger which handles the smallest number of devices connected to it, but is battery-powered and is even capable of powering attached devices in many cases while only needing battery replacement every couple years. It’s fantastic when you have a tank or pipeline or whatever by itself in the middle of nowhere without power and want to connect it to your SCADA system. (Cell modem is built into the Ranger, if that wasn’t clear.)

Disclosure: I actually work for SignalFire and was one of the developers on the Ranger project.

If you’re looking for more Sparkplug-capable devices, I can probably dig up some presentations from the Sparkplug working group. It’s part of the open-source Eclipse project set and actively growing and improving, IMHO.