Modbus to MQTT Gateway

Control Solutions’ Babel Buster BB3-6101-MQ Modbus to MQTT Gateway turns any Modbus device into a Thing on the Internet of Things. The BB3-6101-MQ will poll one or more Modbus RTU and/or Modbus TCP devices, collecting data from the list of registers you provide. Based on rules you create, the BB3-6101-MQ will decide if and when to publish that data to the MQTT broker (server). You can also configure the BB3-6101-MQ MQTT client to subscribe to data coming from the MQTT broker, which you can then write out to Modbus devices to manage setpoints and the like.

Mosquitto MQTT Support

The BB3-6101-MQ MQTT client works well with the widely used open source community supported Mosquitto MQTT broker available at https://mosquitto.org. Simply turn off features unique to ThingsBoard or AWS IoT when using Mosquitto MQTT.

ThingsBoard Support

The BB3-6101-MQ MQTT client includes support for ThingsBoard's unique MQTT API that allows you to connect your Modbus registers to dashboard widgets such as gauges, knobs, buttons, and charts. Learn more about ThingsBoard here.

ThingsBoard dashboard connected to MQ-61

AWS IoT Support

The BB3-6101-MQ includes everything necessary to connect to Amazon Web Services (AWS) IoT support using MQTT. Once the IoT connection is made, your Modbus data can make its way to an AWS database, AWS notification services (e.g. email alerts, text messages), and a variety of analytics tools including QuickSight which makes it quite easy to quickly graph your data. Learn more about AWS IoT here.

BB3-6101-MQ Modbus IoT Gateway data flow

Cloud Not Required!

The BB3-6101-MQ is also suitable for stand-alone remote monitoring use. The BB3-6101-MQ includes alarm monitoring with email notifications using its internal secure email client, local data logging with CSV files emailed to you instead of sending data to the cloud, and a real time scheduler for date and time scheduling.

Feature Highlights
• MQTT Client supports AWS IoT Core, Mosquitto MQTT, ThingsBoard
• Simple template based setup of MQTT Publish and Subscribe
• Modbus RTU Master or Slave
• Modbus TCP Client and Server
• Secure local email client
• Local data logging
• Real time scheduler
• Local user programming with Script Basic
• User HTML support for adding custom web pages
• Configure via secure web pages
• IPv4 and IPv6 support
• FCC, CE Mark, UL 916 Listed

Babel Buster BB3-6101-MQ Modbus to AWS IoT Gateway

Babel Buster BB3-6101-MQ Modbus to MQTT IoT Gateway

Order code: BB3-6101-MQ
Retail price: $739.00

 Buy BB3-6101-MQ Online Now!

 Save Even More
Sign Up for Wholesale

Hardened RS-485 Modbus port standard
RS-232 Modbus port optional

 

Allow Any Modbus Device to Play as a "Thing" on the Internet of Things!

The MQTT “publish” action in the Modbus to MQTT gateway, in controls terms, is most closely associated with sensors. Your hardware has collected sensor data, and you want to send that sensor data to a server or to other control devices. To send that data, you “publish” it to the MQTT broker.

The MQTT “subscribe” action, in controls terms, is most closely associated with actuators. The “subscribe” action would also be associated with control setpoints. You can never force data into a device via MQTT. The device, in our case the BB3-6101-MQ, must subscribe to the source of data effectively asking to be informed of changes. Once you have subscribed to an MQTT source of data, then when received, you can use that data to control actuators or update setpoints.

The BB3-6101-MQ Modbus to MQTT IoT Gateway is capable of more than just transferring data between Modbus devices and the MQTT broker. It includes Script Basic built in to provide easy-to-use local programming for data analysis and local decision making. This capability is referred to as Edge Computing in IoT terminology.

The data flow in the BB3-6101-MQ Modbus to MQTT gateway is illustrated below. Data is collected from Modbus devices by the Modbus engine which stores that data in local registers or data objects. The Modbus data is automatically updated on a continual basis. Meanwhile, the IoT engine is looking at its set of publish and subscribe rules to decide when to publish data from the local registers to the MQTT broker. These rules are also created by the user and data will be published according to the criteria set up by the user.

BB3-6101-MQ IoT Gateway internal data flow

The BB3-6101-MQ can be Modbus RTU master or slave (user selectable), and Modbus TCP client and server (concurrently). Maps created via templates in the BB3-6101-MQ’s web UI will read and write other Modbus devices, copying their data to local registers when read, or sending data from local registers to those devices when written. Holding registers can be integer, unsigned integer, or IEEE 754 floating point, single or double precision. The BB3-6101-MQ also supports character strings as a series of registers having two ASCII characters per register.

Options for MQTT broker include Amazon AWS IoT, Mosquitto MQTT, and ThingsBoard. You can host Mosquitto MQTT or the community edition of ThingsBoard on your own server if you wish. Any commercial MQTT broker derived from or compatible with Mosquitto MQTT is also likely to work just fine.

BB3-6101-MQ Modbus to MQTT Gateway Easily Connects Your Modbus Device to Amazon Web Services

The MQTT publish and subscribe “rules” are created with an easy to use template in conjunction with setup on the AWS side. A diagnostic page is also provided where you may view the most recently published data, and publish arbitrary JSON formatted data for testing purposes.

Configuration screen shot from BB3-6101-MQ Modbus IoT Gateway

One of the many things you can do with data that has been published to the AWS MQTT broker by the Babel Buster BB3-6101-MQ is analyze and visualize the data. The screen shot below represents data published by an BB3-6101-MQ, and the steps taken to get this graph - without writing any program code - are outlined in the user guide.

AWS IoT analytics based on MQ-61 data

BB3-6101-MQ Works with ThingsBoard for Dashboards and More

The BB3-6101-MQ includes features specific to ThingsBoard that allow MQTT interaction with graphic widgets on the dashboard. Modbus data published by the BB3-6101-MQ can show up as real-time gauge indications or charts. Input from the dashboard such as knob adjustments or switch changes will be immediately reported to the BB3-6101-MQ and those changes are immediately accessible as Modbus data.

Create interactive dashboards for MQ-61 using ThingsBoard

ThingsBoard can display your data as charts or graphs. There are numerous options available for displaying data as charts or graphs, but the unique feature of ThingsBoard is the ability to implement interactive graphic dashboards without any coding. Just fill in the templates.

BB3-6101-MQ Works Equally Well as Stand-Alone Remote Monitoring Device

The BB3-6101-MQ includes a secure local email client that will directly email you notifications of alarm events. The event rule template has all of the same power and flexibility as the MQTT publish template. You can implement stand-alone remote alarm monitoring on multiple data points, and send different notifications to different people.

The email message template lets you fully customize the message that is sent. You can use any email account including Gmail to send emails from the BB3-6101-MQ. The template includes variables which insert real time data from the BB3-6101-MQ as the email is sent.

Email message template screen shot from BB3-6101-MQ Modbus IoT Gateway

The BB3-6101-MQ includes local data logging capability that can be used instead of sending data to the cloud. You select which data points are logged to a local CSV file. This file is then emailed to you periodically. You select logging rate and when files should be sent. You also have the option of logging at a slower rate most of the time, but then log faster when an event of interest is in progress.

Data logging screen shot from BB3-6101-MQ Modbus IoT Gateway

The Babel Buster IoT Gateway becomes more useful when control functions can be combined with monitoring. One element of control that is often useful is the ability to schedule things to happen at certain times on certain days. The scheduler makes that possible.

Scheduling is done in a very generic and simple way. A register you select will change value according to a schedule you provide. From there, you can use the client to write that register to some external Modbus device to cause action according to your schedule.

The weekly schedule allows you to specify that something should happen at a certain time of certain days of the week. It can be one day, multiple days, or every day. Sometimes you want a weekly schedule to not apply on a holiday, or maybe you want something to only happen on a holiday. The holiday processing in the scheduler allows exceptions to the weekly schedule.

The scheduler also provides the opportunity to schedule something to happen just one time on a given day or days. Instead of day of week, a date is provided here. Other than selection of day, the On Demand scheduler works the same as Weekly scheduler (except there are no holidays for On Demand).

Scheduler screen shot from BB3-6101-MQ Modbus IoT Gateway

Configuration of the gateway is done via the secure web pages served by the internal web server. You simply fill in templates. The entire configuration is saved in the internal Flash file system in XML format. This file may be exported to replicate additional copies of the configured device, or for backup.

Convert Proprietary Serial Protocols

The BB3-6101-MQ allows the serial port to be used for a proprietary serial protocol instead of Modbus RTU. This effectively makes it a proprietary protocol to MQTT converter. When used for interpreting a proprietary protocol, a Script Basic program would be written to send and receive via the serial port as applicable, and interact with the local Modbus registers under user program control.

The ability to be programmed to interpret proprietary serial protocols means you can also give your proprietary device access to scheduling, alarm monitoring, and email notifications. Once your Script Basic program interprets your serial data stream and writes data values to local registers, all of the features available to Modbus are available to your serial device.

Click the link below to view a demo copy of the entire Web UI in the MQ-61.

 BB3-6101-MQ Demo Web


We can help you turn the IoT Gateway into a wireless remote monitoring system with the addition of a cellular router. It is secure, self-managed, and low-cost.


 

BB3-6101-MQ Modbus to MQTT Gateway Features

• MQTT Client supports AWS IoT Core, Mosquitto MQTT, ThingsBoard
• Simple template based setup of MQTT Publish and Subscribe
• Secure local email client for stand-alone notifications
• Local data logging for stand-alone remote monitoring
• Real time scheduler
• Modbus RTU RS-485 Master or Slave
• Modbus TCP Client and Server
• Supported RTU baud rates: 1200, 2400, 4800, 9600, 19200, 38400, 57600, and 115200.
• Modbus TCP over Ethernet 10/100BaseT
• Up to 2000 local registers
• 16, 32, 64-bit integer, 32 or 64-bit IEEE 754 floating point, Mod10
• ASCII character string support (UTF-8)
• Supports Modbus “coils”, input registers, holding registers
• Modbus register mapping configured via web interface
• Modbus (master) polling interval configurable per point
• Local user programming with Script Basic
• Configure via web pages, HTTP and/or secure HTTPS
• Flash file system for XML configuration files, SSL certificates
• Online help, Quick Help section at bottom of every web page
• Password protection for web log-on and ftp
• Field upgradeable firmware upload via ftp
• DHCP or static IP address, IPv4 and IPv6 support
• Hardened EIA-485 transceiver for Modbus RTU
• Optional RS-232 transceiver for Modbus RTU
• Powered by 10-30VDC or 24VAC 50/60 Hz
• Power Consumption: 0.1A @ 24VDC
• DIN rail mounting, 100mm H x 70mm W x 60mm D
• Pluggable screw terminal block for power & RTU network
• Operating temperature -40°C to +85°C; Humidity 5% to 90%
• FCC Class A, CE Mark
• Listed to UL 916 and (Canadian) C22.2 No. 205-M1983

Maximum Object Counts and System Capacities for BB3-6101-MQ

BB3-6101-MQ allows user allocation of memory resources. Memory capacity will not support maximum counts of everything possible, but maximum count limits are set high so that you can allocate resources where you need them.

• Maximum Modbus registers 2000
• Maximum IoT Thing Attributes 100

• Maximum Modbus RTU device count 240
• Modbus RTU read map count 1000
• Modbus RTU write map count 1000

• Maximum Modbus TCP device count 200
• Modbus TCP Client read mapcount 1000
• Modbus TCP Client write map count 1000

• Maximum event rules 1000
• Maximum weekly scheduler events 1000
• Maximum on-demand scheduler events 1000

BB3-6101-MQ Modbus to MQTT Gateway Video Library

Watch these videos for an introduction to configuring the gateway. It's easier than reading!

General Introduction to Babel Buster IoT Gateways

IoT Modbus Device Introduction

IoT Modbus Client-Server Overview

IoT Local Data Logging

IoT Local Event Notifications

IoT Local Scheduler

IoT AWS Publish to Cloud

IoT AWS Subscribe to Cloud

IoT AWS Notifications

IoT AWS Analytics

Our most extensive technical support is provided by the same engineering staff that developed the products. Your personal attention from this staff is available via the support ticket system.

No user/password is required to open a new ticket. Once you open a ticket, you will immediately receive an email with your ticket number. Your ticket number becomes your login to review your ticket(s) later. Click the Support Ticket icon anywhere you see it. (If you do not get an email with your ticket number, within minutes, check your junk folder, spam settings, etc, and try again if necessary.)

 Open a Ticket