[{"data":1,"prerenderedAt":1586},["ShallowReactive",2],{"blog-\u002Fblog\u002Funs":3,"blog-all-for-related":4,"blog-all-uns":5},null,[],[6,168,362],{"id":7,"title":8,"authors":9,"body":11,"cta":140,"date":144,"description":145,"extension":146,"image":147,"lastUpdated":148,"meta":149,"navigation":157,"path":158,"seo":159,"sitemap":160,"stem":161,"subtitle":162,"tags":163,"tldr":3,"video":3,"__hash__":167},"blog\u002Fblog\u002F2025\u002F01\u002Fmqtt-frontrunner-for-uns-part-2.md","MQTT: The Frontrunner for Your UNS Broker - Part 2",[10],"sumit-shinde",{"type":12,"value":13,"toc":132},"minimark",[14,24,29,32,35,38,41,53,57,60,63,66,70,73,93,96,99,103,106,114,120,123,126,129],[15,16,17,18,23],"p",{},"In ",[19,20,22],"a",{"href":21},"\u002Fblog\u002F2025\u002F01\u002Fmqtt-frontrunner-for-uns\u002F","Part 1",", we discussed the  reasons behind MQTT's popularity as a choice for Unified Namespace (UNS) implementations; focusing on its lightweight design, low latency, and reliable message delivery. In this second part, we’ll explore additional factors that further establish MQTT as the leading protocol for UNS brokers, diving into its connectivity, scalability, structured topic management.",[25,26,28],"h2",{"id":27},"wide-connectivity","Wide Connectivity",[15,30,31],{},"For your UNS to be truly effective, it must be able to connect seamlessly with every part of your IIoT environment, whether it’s a device or the cloud. MQTT is an excellent protocol for this because it’s widely adopted in both cloud-based systems and industrial environments.",[15,33,34],{},"In a typical industrial data architecture, you typically have a mix of physical devices (like sensors and machines) and cloud systems. To make real-time decisions, data needs to flow seamlessly from the shop floor to the cloud. MQTT excels at connecting modern devices with the cloud. However, one challenge is that it doesn’t natively support older systems that typically use protocols like OPC UA or MODBUS.",[15,36,37],{},"This isn’t a major issue, though. You can bridge the gap using tools like FlowFuse and Node-RED, which allow MQTT to communicate with older systems.",[15,39,40],{},"Overall, MQTT has better compatibility than many other protocols. Some other protocols may offer better compatibility, but they can hardly surpass MQTT in meeting the core requirements of a UNS.",[15,42,43,49,50],{},[44,45],"img",{"alt":46,"dataZoomable":47,"src":48},"MQTT's Compatibility","","\u002Fblog\u002F2025\u002F01\u002Fimages\u002Fmqtt-compatiblity.png","{width=\"550px\"}\n",[51,52,46],"em",{},[25,54,56],{"id":55},"easily-scalable","Easily Scalable",[15,58,59],{},"A UNS broker needs to be able to grow as your factory or system expands. What starts with just a few sensors or devices might quickly scale up to hundreds or thousands over time. Can MQTT handle this growth? Absolutely.",[15,61,62],{},"MQTT's lightweight architecture, based on a simple publish-subscribe model, makes it easy to scale. Adding new devices doesn’t disrupt existing operations. The system can handle thousands of devices and connections without performance issues. As your network grows, new devices can easily connect to the broker and start exchanging data without major changes to the infrastructure.",[15,64,65],{},"MQTT brokers handle large volumes of data and can distribute messages to many clients at once. This ensures that as more devices are added, the system remains stable. The broker can also scale horizontally, meaning you can add more brokers or resources to handle the increased load, without affecting the performance or reliability of the system.",[25,67,69],{"id":68},"semantic-hierarchy-with-topics","Semantic Hierarchy with Topics",[15,71,72],{},"When setting up a UNS, it’s not just about collecting all your data in one place, it’s about organizing it so that it’s easy to navigate. A semantic hierarchy helps do this by arranging data from broad categories down to more specific details. For example, in a factory, you might have levels like factory, area, line, and machine, with data points like temperature or humidity at the bottom. This is similar to how files are organized in folders, making it simple to find what you need.",[15,74,75,76,80,81,84,85,88,89,92],{},"MQTT works well for this kind of organization because its topics are already structured in a hierarchical way. Topics in MQTT are like paths that break down data into different levels, such as ",[77,78,79],"code",{},"factory\u002Farea-2\u002Fline-1\u002Fmachine-5\u002Ftemperature",". You can easily follow these paths to find the exact data you need. Furthermore, MQTT supports wildcard characters, which offer flexibility for subscriptions. The # wildcard matches all levels beneath a given level, so a subscription to ",[77,82,83],{},"factory\u002F#"," will match any topic under the \"factory\" level, regardless of how deep the path goes. Similarly, the ",[77,86,87],{},"+"," wildcard matches only a single level, so ",[77,90,91],{},"factory\u002F+\u002Fline-1\u002Fmachine-5\u002Ftemperature"," will match any topic that follows the same structure but with different areas.",[15,94,95],{},"While  AMQP and Kafka also support topics and wildcards, they handle them differently. AMQP uses routing keys for message routing rather than a direct hierarchical topic structure like MQTT. Though AMQP has a topic exchange for routing based on patterns (similar to topics), it doesn’t provide the same natural hierarchical organization. Kafka, on the other hand, uses a flat topic model without a hierarchy, which can make it more difficult to maintain clarity and structure as the system grows in complexity. While both AMQP and Kafka can still be used in a UNS, their lack of a natural topic hierarchy makes them more challenging manage compared to MQTT, which provides a simpler, more intuitive way to organize and access data.",[15,97,98],{},"In conclusion, MQTT is an excellent choice for your UNS broker because it offers simplicity, scalability, and efficient data organization. Its lightweight design ensures smooth performance as your system grows, while the publish-subscribe  model decouples producers and consumers, allowing them to operate independently. This reduces direct dependencies between devices and systems, making the overall architecture more flexible and easier to scale. MQTT’s hierarchical topic structure further simplifies data management and access. Compared to other options like AMQP and Kafka, MQTT provides a more intuitive, reliable, and scalable and most importantly simple solution for building a Unified Namespace that can adapt to future needs.",[25,100,102],{"id":101},"build-your-uns-with-flowfuse-now","Build Your UNS with FlowFuse Now",[15,104,105],{},"Now that you understand why MQTT is the best choice for your UNS, it’s time to build it. FlowFuse is the ideal platform for implementing your UNS with MQTT.",[15,107,108,109,113],{},"Please read our article: ",[19,110,112],{"href":111},"\u002Fblog\u002F2024\u002F11\u002Fbuilding-uns-with-flowfuse\u002F","Building Your UNS with FlowFuse"," where I show you how to build it quickly, just in 15 minutes!",[15,115,116],{},[117,118,119],"strong",{},"Why choose FlowFuse?",[15,121,122],{},"FlowFuse is an industrial data platform that leverages the power of Node-RED, a popular open-source low-code platform for industrial automation. With over 5000 community-contributed nodes, it simplifies the process of collecting, transforming, and integrating data from a wide variety of industrial hardware and services, supporting nearly all industrial protocols. This means you have nearly everything you need to implement a UNS, all you need is the MQTT broker service.",[15,124,125],{},"Good news! Recently, FlowFuse has added a built-in MQTT broker service within the platform, making it even easier to manage your MQTT connections. This includes an interface for securely managing MQTT clients and, most importantly, a comprehensive topic hierarchy monitoring tool that’s ideal for managing your UNS.",[15,127,128],{},"FlowFuse not only allows you to build and manage your UNS, but also provides a collaborative environment where teams can work in real time. It offers scalability, security, and ease of use, making it simple to grow your system as your needs evolve.",[15,130,131],{},"With FlowFuse, you get everything you need to handle data pipelines, implement a UNS, and scale efficiently, all within a single platform.",{"title":47,"searchDepth":133,"depth":133,"links":134},4,[135,137,138,139],{"id":27,"depth":136,"text":28},2,{"id":55,"depth":136,"text":56},{"id":68,"depth":136,"text":69},{"id":101,"depth":136,"text":102},{"type":141,"title":142,"description":143},"demo","Build Your Unified Namespace With FlowFuse","FlowFuse gives you a built-in MQTT broker, topic hierarchy monitoring, and Node-RED integration, everything you need to implement a scalable, well-organized UNS in one platform.","2025-01-13","Learn why MQTT is the top choice for Unified Namespace (UNS) brokers and explore the ideal platform that simplifies the connection of devices and services while providing a reliable MQTT broker service.","md","\u002Fblog\u002F2025\u002F01\u002Fimages\u002Fmqtt-for-uns-2.png","2025-07-23",{"keywords":150,"excerpt":151},"mqtt unified namespace, why use mqtt in uns, mqtt in a unified namespace, mqtt data modeling UNS, Best protocols for UNS IoT, Implementing UNS with MQTT, Unified Namespace protocols",{"type":12,"value":152},[153],[15,154,17,155,23],{},[19,156,22],{"href":21},true,"\u002Fblog\u002F2025\u002F01\u002Fmqtt-frontrunner-for-uns-part-2",{"title":8,"description":145},{"loc":158},"blog\u002F2025\u002F01\u002Fmqtt-frontrunner-for-uns-part-2","Why MQTT is the Best Choice for Your UNS Broker",[164,165,166],"mqtt","uns","unified-namespace","ff9g-ynZ1Nih24pEMKHVq9khW0Y321h4usm7NHDgKuM",{"id":169,"title":170,"authors":171,"body":172,"cta":3,"date":348,"description":145,"extension":146,"image":349,"lastUpdated":148,"meta":350,"navigation":157,"path":356,"seo":357,"sitemap":358,"stem":359,"subtitle":162,"tags":360,"tldr":3,"video":3,"__hash__":361},"blog\u002Fblog\u002F2025\u002F01\u002Fmqtt-frontrunner-for-uns.md","MQTT: The Frontrunner for Your UNS Broker - Part 1",[10],{"type":12,"value":173,"toc":340},[174,177,180,193,210,213,217,224,230,237,240,244,247,250,253,256,263,268,278,281,284,293,297,300,303,306,319,322,325,328],[15,175,176],{},"Choosing the right broker for your UNS is crucial. It must support real-time data, scale easily, and integrate seamlessly with devices and services. MQTT often comes out as the best choice for these needs.",[15,178,179],{},"In this first part of our series, we’ll explain why MQTT is the standout choice for UNS implementations. With its focus on lightweight, real-time messaging and robust reliability, MQTT delivers the performance IIoT environments demand, making it the perfect fit for a future-proof, scalable UNS.",[15,181,182,183,187,188,192],{},"The ",[19,184,186],{"href":185},"\u002Fsolutions\u002Funs\u002F","Unified Namespace (UNS)"," is a data architecture (not just a tool or new technology) that centralizes and organizes data from various sources into a single, unified structure. It eliminates data silos by providing a standardized way to represent, access, and share information across different devices, systems, and services. For more information on what is UNS, read our article: ",[19,189,191],{"href":190},"\u002Fblog\u002F2023\u002F12\u002Fintroduction-to-unified-namespace\u002F","Introduction to the Unified Namespace",".",[15,194,195,196,200,201,205,206],{},"When choosing a broker for your UNS, it's crucial to consider how well the selected broker fits the specific requirements of your IIoT environment, including the types of devices and systems involved, as well as factors like scalability, reliability, and ease of integration. Several options are available alongside MQTT, including ",[19,197,199],{"href":198},"\u002Fnode-red\u002Fprotocol\u002Famqp\u002F","AMQP",", ",[19,202,204],{"href":203},"\u002Fblog\u002F2024\u002F03\u002Fusing-kafka-with-node-red\u002F","Kafka",", and cloud message brokers like AWS Kinesis and GCP Pub\u002FSub. While these alternatives offer unique features, MQTT stands out, and we’ll explain why later in this article. But If you’re interested in a brief overview of why these alternatives are not the best fit for UNS, check out our article: ",[19,207,209],{"href":208},"\u002Fblog\u002F2024\u002F01\u002Funified-namespace-what-broker\u002F","Unified Namespace: What Broker to Use?",[15,211,212],{},"There is also an ongoing debate regarding the use of OPC-UA and other protocols for implementing UNS. While I won’t dive into this in detail here as i havent explored it much yet, I encourage you to start with the approach we call reverse engineering. First, understand why MQTT is the preferred choice for implementing UNS, and then explore how its features align with UNS needs. From there, you can evaluate whether other protocols offer similar capabilities. By following this process, you will find the right answer of your questions.",[25,214,216],{"id":215},"background-of-mqtt","Background of MQTT",[15,218,219,220,223],{},"Before diving into its specific advantages for UNS, let’s take a brief look at the history of ",[117,221,222],{},"MQTT"," and how it became the backbone of modern IoT communication.",[15,225,226,229],{},[19,227,222],{"href":228},"\u002Fnode-red\u002Fprotocol\u002Fmqtt\u002F"," was developed in the late 1990s by Andy Stanford-Clark at IBM and Arlen Nipper at Eurotech to address communication challenges in low-bandwidth, unreliable networks. This early focus on lightweight messaging paved the way for MQTT to become a pioneering solution for the rapidly expanding IoT space.",[15,231,232,233,236],{},"Since then, MQTT has evolved significantly. The protocol has gone through several iterations, from MQTT 3.1.1 to the more feature-rich MQTT 5.0, each version enhancing the protocol's capabilities to meet the demands of an increasingly connected world. Today, more than 25 years later, MQTT remains the ",[117,234,235],{},"de facto protocol"," for IoT applications, and its simplicity, scalability, and reliability continue to make it an ideal choice for industrial systems.",[15,238,239],{},"But, what exactly makes MQTT the frontrunner for UNS implementations? Let's take a deeper look at some of its key features?",[25,241,243],{"id":242},"publish-subscribe-model-and-event-driven-architecture","Publish-Subscribe Model and Event-Driven Architecture",[15,245,246],{},"One of the standout features of MQTT is its publish-subscribe (Pub\u002FSub) model, which is the primary need of an UNS. In this model, data producers (such as sensors or devices) don’t need to know who is receiving the data or how many consumers are out there. Instead, they publish their data to a central broker, and any consumer (like a monitoring system, data warehouse, or analytics engine) that is interested simply subscribes to the relevant data stream.",[15,248,249],{},"This approach decouples producers and consumers, removing the need for direct, point-to-point connections between them. In traditional systems, every device would need to know about every other device it communicates with, leading to a messy, tightly coupled network. As your IIoT ecosystem grows, managing these connections becomes increasingly difficult and prone to error. But with MQTT’s Pub\u002FSub model, adding new devices or services is seamless and doesn’t disrupt existing data flows.",[15,251,252],{},"Beyond this, MQTT’s event-driven architecture takes the system to a whole new level of efficiency and responsiveness. Imagine a scenario where a machine detects an issue, rather than waiting for a periodic check-in, the event is immediately sent to the right consumer, triggering an alert in real time. This push mechanism is far more efficient than traditional polling, where systems continuously ask, “Is there new data yet?” and waste precious resources in the process.",[15,254,255],{},"With MQTT, data is pushed as soon as it’s available, enabling faster decision-making and real-time responses. This means events like machine faults or environmental changes are addressed immediately, making the Our UNS more agile, responsive, and capable of scaling as needed which is one of priamary need of IIoT environemnt.",[15,257,258,259,192],{},"If you’d like to understand the importance of Publish-Subscribe (Pub\u002FSub) architecture in detail for UNS, I highly recommend reading our article: ",[19,260,262],{"href":261},"\u002Fblog\u002F2024\u002F11\u002Fwhy-pub-sub-in-uns\u002F","Why UNS Needs Pub\u002FSub",[264,265,267],"h3",{"id":266},"low-latency-and-lightweight-messaging","Low Latency and Lightweight Messaging",[15,269,270,271,277],{},"Downtime in industrial operations can be very costly, ranging from $15,000 to $20,000 per minute or more. For engineers and operators watching over machines, waiting for data can mean the difference between smooth operations and expensive disruptions,  If you're interested in learning more about downtime, read this research by Siemens from 2022: ",[19,272,276],{"href":273,"rel":274},"https:\u002F\u002Fassets.new.siemens.com\u002Fsiemens\u002Fassets\u002Fapi\u002Fuuid:3d606495-dbe0-43e4-80b1-d04e27ada920\u002Fdics-b10153-00-7600truecostofdowntime2022-144.pdf",[275],"nofollow","True Cost of Downtime 2022",". Low-latency messaging is key in these situations, which is why data architectures like UNS are being explored to make sure systems and devices in your IIoT setup communicate without delays. MQTT is the protocol that makes this possible.",[15,279,280],{},"As we explored, MQTT uses a publish-subscribe model, which is built for real-time communication with minimal delay. Unlike traditional request-response systems that can cause delays due to constant querying, MQTT keeps a persistent connection open. Once a device connects, it can immediately send data or receive updates on important topics, cutting out the need for repeated requests and making sure data flows instantly. This helps engineers make decisions and take action faster.",[15,282,283],{},"In addition to being fast, MQTT is very efficient. Its messages are small and use little bandwidth, important when working with low-bandwidth networks or many connected devices. Even with limited resources, MQTT allows devices to send data without overwhelming the system. The result? As soon as a sensor detects a change, like a temperature spike or a production issue, it can send the information right away to the right system, triggering immediate actions to avoid costly downtime.",[15,285,286,290,291],{},[44,287],{"alt":288,"src":289},"MQTT Packet Structer","\u002Fblog\u002F2025\u002F01\u002Fimages\u002Fmqtt-packate-size.png","  ",[51,292,288],{},[264,294,296],{"id":295},"reliability","Reliability",[15,298,299],{},"When it comes to building a UNS, reliability is absolutely crucial. Missing or duplicate data can lead to poor decision-making, system malfunctions, or even costly downtime, things no one wants in their IIoT environment.",[15,301,302],{},"This is where MQTT truly shines. It’s built with a Quality of Service (QoS) mechanism that allows you to control how reliably your messages are delivered. Depending on the level you choose, you can ensure that data is delivered exactly as you need it, without compromising on system performance.",[15,304,305],{},"MQTT offers three levels of QoS to suit different use cases:",[307,308,309,313,316],"ul",{},[310,311,312],"li",{},"QoS 0 - \"At most once\": The message is delivered once and isn’t acknowledged. This is fine for non-critical data where the occasional loss of a message is acceptable.",[310,314,315],{},"QoS 1 - \"At least once\": The message is delivered at least once, with an acknowledgment to ensure it was received. This is ideal for most IIoT applications, where you need reliable delivery, but duplicate messages are not a major concern.",[310,317,318],{},"QoS 2 - \"Exactly once\": This guarantees the message is delivered exactly once, no duplicates, no omissions. It's the best choice for mission-critical applications where data integrity is paramount.",[15,320,321],{},"Now, some other protocols like AMQP or Kafka also provide reliability guarantees, but they tend to be more complex and come with heavier infrastructure requirements. MQTT, on the other hand, offers a simple and lightweight design while still giving you just the right level of reliability for most IIoT scenarios. You can scale your network with ease, all while maintaining a high standard of reliability in your data flows.",[15,323,324],{},"MQTT is the ideal broker for a UNS in IIoT environments, offering real-time, low-latency communication through its Publish-Subscribe model. With Quality of Service (QoS) options for reliable data delivery, it balances performance, scalability, and simplicity. MQTT’s lightweight design makes it perfect for handling large-scale, mission-critical data flows without the complexity of heavier protocols.",[15,326,327],{},"In Part 2, we will explore MQTT's scalability, topic organization, and wide connectivity providing even more compelling reasons why it is the ultimate choice for UNS brokers.",[15,329,330,331,334,335,339],{},"If you're looking to build your own UNS with MQTT, check out our step-by-step ",[19,332,333],{"href":111},"Article on Building UNS with FlowFuse",". Plus, we've made it even easier by offering a built-in MQTT broker service within the FlowFuse Platform, allowing you to manage all your MQTT clients, devices, services, and data from a single, centralized interface. Check it out ",[19,336,338],{"href":337},"\u002Fblog\u002F2024\u002F10\u002Fannouncement-mqtt-broker\u002F?utm_campaign=60718323-BCTA&utm_source=blog&utm_medium=cta%20mqtt%20announcement&utm_term=high_intent&utm_content=MQTT%3A%20The%20Frontrunner%20for%20Your%20UNS%20Broker%20-%20Part%201","here","!",{"title":47,"searchDepth":133,"depth":133,"links":341},[342,343],{"id":215,"depth":136,"text":216},{"id":242,"depth":136,"text":243,"children":344},[345,347],{"id":266,"depth":346,"text":267},3,{"id":295,"depth":346,"text":296},"2025-01-07","\u002Fblog\u002F2025\u002F01\u002Fimages\u002Fmqtt-for-uns-1.png",{"keywords":351,"excerpt":352},"mqtt unified namespace, why use mqtt in uns, mqtt in a unified namespace, mqtt data modeling UNS, best protocols for UNS IoT, implementing UNS with MQTT, unified namespace protocols",{"type":12,"value":353},[354],[15,355,176],{},"\u002Fblog\u002F2025\u002F01\u002Fmqtt-frontrunner-for-uns",{"title":170,"description":145},{"loc":356},"blog\u002F2025\u002F01\u002Fmqtt-frontrunner-for-uns",[164,165,166],"Y1cWGaxxPTIcSK1TGhANrUwVCH49YigYQlWUDfCWniQ",{"id":363,"title":364,"authors":365,"body":366,"cta":3,"date":1566,"description":1567,"extension":146,"image":1568,"lastUpdated":1569,"meta":1570,"navigation":157,"path":1576,"seo":1577,"sitemap":1578,"stem":1579,"subtitle":1580,"tags":1581,"tldr":1584,"video":3,"__hash__":1585},"blog\u002Fblog\u002F2024\u002F12\u002Fpublishing-modbus-data-to-uns.md","How to Bridge Modbus to MQTT: Step-by-Step Guide",[10],{"type":12,"value":367,"toc":1557},[368,371,374,377,381,384,387,390,401,404,407,411,414,422,426,429,464,468,471,476,483,488,491,524,529,540,653,661,669,682,687,690,719,722,729,738,745,749,752,755,760,763,771,778,810,813,816,843,852,858,916,924,939,944,990,998,1010,1015,1059,1067,1079,1084,1128,1136,1148,1154,1158,1161,1166,1169,1174,1220,1227,1232,1235,1284,1292,1345,1353,1362,1377,1382,1390,1395,1401,1428,1431,1442,1447,1500,1508,1511,1547,1550],[15,369,370],{},"Converting Modbus to MQTT unlocks the value trapped in legacy industrial equipment. Industrial facilities worldwide face a persistent challenge: their Modbus-based sensors, PLCs, and controllers generate valuable operational data, but that data remains isolated in local control networks, unable to feed modern cloud analytics, remote dashboards, or predictive maintenance systems.",[15,372,373],{},"We've built Modbus to MQTT bridges for manufacturing plants ranging from small production lines to enterprise-scale facilities, and the root problem is always the same protocol mismatch. Modbus requires a master-slave architecture with polling, one device requests data, another responds. MQTT enables publish-subscribe messaging, devices push data to a central broker where any authorized application can subscribe. These are fundamentally incompatible communication patterns.",[15,375,376],{},"The proven solution is protocol bridging with Node-RED. This guide shows you how to build a reliable Modbus to MQTT gateway that reads holding registers from your devices, transforms raw sensor readings into human-readable formats, and publishes structured data to a Unified Namespace using FlowFuse's integrated MQTT broker. You'll bridge the OT\u002FIT gap and enable cloud integration, real-time monitoring, and data-driven decision-making across your operations.",[25,378,380],{"id":379},"why-bridge-modbus-to-mqtt","Why Bridge Modbus to MQTT?",[15,382,383],{},"Modbus handles local device communication effectively. A PLC polls sensors, reads holding registers, writes control signals, standard automation workflows that have proven reliable for decades. The limitation appears when you need that same data elsewhere: in a cloud database, on a remote dashboard, or feeding a predictive maintenance algorithm.",[15,385,386],{},"The constraint is architectural. Modbus requires a master-slave relationship. One device initiates requests, others respond. You can't have multiple systems independently accessing the same Modbus device without coordination, and you can't push data, only pull it through polling. This creates the operational technology (OT) and information technology (IT) integration gap.",[15,388,389],{},"MQTT removes these constraints through its broker-based architecture. Devices publish data once to the broker. Any authorized system, whether on-premises or cloud-based, subscribes to relevant topics and receives updates. No polling loops, no master-slave coordination, no point-to-point connections to manage.",[15,391,392,393,396,397,400],{},"This is where the ",[19,394,395],{"href":111},"Unified Namespace"," concept becomes practical. Instead of data scattered across disconnected Modbus networks, PLCs, and SCADA systems, you establish a single MQTT broker as the central data hub. All operational data flows through standardized topics organized by facility hierarchy: ",[77,398,399],{},"enterprise\u002Fsite\u002Farea\u002Fline\u002Fequipment",". Applications consume what they need through subscriptions.",[15,402,403],{},"Consider a production line running legacy Modbus equipment, VFDs controlling motor speeds, pressure transmitters monitoring hydraulic systems, temperature sensors on critical bearings. Historically, this data stays within the local control network. Bridge it to MQTT, and suddenly the maintenance team accesses real-time vibration data on their tablets, the operations dashboard displays line efficiency metrics, and the cloud analytics platform builds predictive models from historical trends, all from the same data stream.",[15,405,406],{},"FlowFuse provides both the Node-RED runtime for building these bridges and the MQTT broker infrastructure for the Unified Namespace. The integration is straightforward: Node-RED flows poll Modbus devices and publish to FlowFuse's MQTT broker, where any authorized application can subscribe.",[25,408,410],{"id":409},"how-to-bridge-modbus-to-mqtt","How to Bridge Modbus to MQTT",[15,412,413],{},"Let's look at the steps to bridge Modbus data to MQTT using FlowFuse, leveraging Node-RED's capabilities. The process involves retrieving data from a Modbus device (For Practical example, we are using OpenSim to simulate Modbus data), transforming and processing the data (e.g., scaling raw sensor data into human-readable formats), and sending it to your Unified Namespace.",[15,415,416,420],{},[44,417],{"alt":418,"dataZoomable":47,"src":419},"Bridging Modbus Data to MQTT using Node-RED","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fbridging-modbus-data-to-mqtt.png",[51,421,418],{},[25,423,425],{"id":424},"prerequisites","Prerequisites",[15,427,428],{},"Before you start, make sure you have:",[307,430,431,437,454],{},[310,432,433,436],{},[117,434,435],{},"Modbus data source",": An actual Modbus device or a simulator like ModSim.",[310,438,439,442,443,448,449,453],{},[117,440,441],{},"Node-RED Instance",": The easiest and production-ready option is FlowFuse, run Node-RED on edge devices, manage and build flows remotely with your team. Deploy, scale, and secure hundreds or thousands of instances with built-in team collaboration, version control, and production-grade features. ",[19,444,447],{"href":445,"rel":446},"https:\u002F\u002Fapp.flowfuse.com\u002F",[275],"Sign up here"," and follow ",[19,450,452],{"href":451},"\u002Fblog\u002F2025\u002F09\u002Finstalling-node-red\u002F","this guide to run Node-RED with FlowFuse on your edge device",". Alternatively, install Node-RED locally on hardware with access to your Modbus network.",[310,455,456,459,460,463],{},[117,457,458],{},"MQTT Broker",": You need broker connection details (host, port, credentials). If you're using FlowFuse Pro or Enterprise, there's an integrated broker at ",[77,461,462],{},"broker.flowfuse.cloud",", just create a client in the platform and you're done.",[264,465,467],{"id":466},"step-1-collect-data-from-modbus-devices","Step 1: Collect Data from Modbus Devices",[15,469,470],{},"The first step is to collect data from your Modbus devices. To do this, you'll need to run Node-RED on your Device. If your Modbus device communicates via a serial port, Node-RED will need access to that port, which you can manage with the appropriate configuration. If you're using Modbus TCP and both Node-RED and your Modbus device are on the same network, the connection is straightforward.",[15,472,473],{},[117,474,475],{},"Step 1.1: Running the FlowFuse device agent on your edge device",[15,477,478,479,482],{},"To run Node-RED on your edge device with just a few simple steps, you can use the ",[19,480,481],{"href":451},"FlowFuse Device Agent",". This allows you to run Node-RED locally and also connect it to FlowFuse Cloud for remote monitoring and management, making it easier to keep track of your devices and workflows from anywhere.",[15,484,485],{},[117,486,487],{},"Step 1.2: Install Modbus Nodes",[15,489,490],{},"While Node-RED doesn't include Modbus nodes by default, adding them to your palette is simple. Installing the necessary Modbus nodes from the Node-RED library will enable communication with your Modbus devices, whether they’re connected via serial or TCP. This step ensures you can start reading data from your Modbus devices and processing it for further integration.",[492,493,494,503,510,517],"ol",{},[310,495,496,497,500,501,192],{},"Open the ",[117,498,499],{},"Palette Manager"," by clicking the menu icon in the top-right corner of Node-RED and selecting ",[117,502,499],{},[310,504,505,506,509],{},"In the Palette Manager, search for ",[77,507,508],{},"node-red-contrib-modbus"," in the search bar.",[310,511,512,513,516],{},"Click ",[117,514,515],{},"Install"," to add the Modbus nodes to your Node-RED environment.",[310,518,519,520,523],{},"Once installed, the nodes appear in the left-side palette under the ",[117,521,522],{},"Modbus"," category. These nodes will allow you to interact with Modbus devices in your flow.",[15,525,526],{},[117,527,528],{},"Step 1.3: Configure the Modbus Connection",[15,530,531,532,535,536,539],{},"Next, you'll need to configure the Modbus connection based on your device type. Modbus devices can communicate using two primary protocols: ",[117,533,534],{},"Modbus RTU"," (over serial) or ",[117,537,538],{},"Modbus TCP"," (over Ethernet\u002FWi-Fi). The specific choice depends on the type of Device you are working with.",[492,541,542,549,555,605],{},[310,543,544,545,548],{},"Drag a ",[117,546,547],{},"Modbus Read"," node onto your Node-RED Canvas.",[310,550,551,552,554],{},"Double-click on the ",[117,553,547],{}," node to open its configuration.",[310,556,557,558],{},"In the configuration window:\n",[307,559,560,571,585,592,599],{},[310,561,562,563,566,567,570],{},"Enter the ",[117,564,565],{},"Unit ID"," (this is the device address, typically ",[117,568,569],{},"1",", but it may vary depending on your device).",[310,572,573,574,577,578,200,581,584],{},"Choose the ",[117,575,576],{},"Function"," you need, such as ",[117,579,580],{},"Read Holding Registers",[117,582,583],{},"Read Input Registers",", etc. (this depends on the type of data you want to read).",[310,586,587,588,591],{},"Specify the ",[117,589,590],{},"Start Address"," (the address of the first register you want to start reading).",[310,593,594,595,598],{},"Set the ",[117,596,597],{},"Quantity"," (the number of registers to read).",[310,600,587,601,604],{},[117,602,603],{},"Poll Rate"," (e.g., how often you want to collect data, such as every 1 second).",[310,606,607,608,611,612,614,615],{},"In the ",[117,609,610],{},"Server"," field, click the ",[117,613,87],{}," button to add a new Modbus server, and select the type.\n",[307,616,617,635,648],{},[310,618,619,620,622,623,626,627,630,631,634],{},"For ",[117,621,538],{},": Enter the ",[117,624,625],{},"IP address"," and ",[117,628,629],{},"Port"," (the default Modbus TCP port is ",[117,632,633],{},"502",").",[310,636,619,637,639,640,643,644,647],{},[117,638,534],{},": If you're using a serial connection, you'll need to specify the serial port (such as ",[77,641,642],{},"\u002Fdev\u002FttyUSB0"," on Linux or ",[77,645,646],{},"COM1"," on Windows), as well as the baud rate and other serial settings.",[310,649,594,650,652],{},[117,651,565],{}," (again, this should match the Unit ID you entered earlier).",[15,654,655,659],{},[44,656],{"alt":657,"dataZoomable":47,"src":658},"Image showing Modbus node configuration for reading holding registers","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fmodbus-connection-configuration.png",[51,660,657],{},[15,662,663,667],{},[44,664],{"alt":665,"dataZoomable":47,"src":666},"Image showing Modbus client node configuration","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fmodbus-connection-config.png",[51,668,665],{},[492,670,672],{"start":671},5,[310,673,674,675,678,679,192],{},"Once the connection details are filled in, click ",[117,676,677],{},"Add"," to save the configuration, then click ",[117,680,681],{},"Done",[15,683,684],{},[117,685,686],{},"Step 1.4: Test the Modbus Connection",[15,688,689],{},"After configuring the connection, it's time to test the data collection.",[492,691,692,698,707,713],{},[310,693,544,694,697],{},[117,695,696],{},"Debug"," node onto the canvas.",[310,699,700,701,703,704,706],{},"Connect the ",[117,702,547],{}," node's output to to the input of ",[117,705,696],{}," node.",[310,708,512,709,712],{},[117,710,711],{},"Deploy"," in the top-right corner of Node-RED to deploy your flow.",[310,714,496,715,718],{},[117,716,717],{},"Debug Panel"," on the right side of the Node-RED interface. If the connection is successful, you should see the raw data from your Modbus device in the Debug Panel.",[15,720,721],{},"If no data appears, check the connection settings (IP address, Unit ID, port, etc.) and ensure your Modbus device is correctly configured and accessible. If you use a simulator like ModSim, ensure it’s running and properly configured to send data.",[15,723,724,725,192],{},"For more information on using Modbus with Node-RED, please read our tutorial on ",[19,726,728],{"href":727},"\u002Fnode-red\u002Fprotocol\u002Fmodbus\u002F","Using Modbus with Node-RED",[15,730,731,732,737],{},"If you prefer a video explanation, ",[19,733,736],{"href":734,"rel":735},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fwago-kurt-braun\u002F",[275],"Kurt Braun"," from WAGO demonstrates how to collect Modbus data using Node-RED in FlowFuse:",[739,740],"lite-youtube",{"videoid":741,"params":742,"style":743,"title":744},"PdVdGg__zUM","rel=0","margin-top: 20px; margin-bottom: 20px; width: 100%; height: 480px;","Bridging Modbus to MQTT with Node-RED",[264,746,748],{"id":747},"step-2-transforming-modbus-data-for-uns","Step 2: Transforming Modbus Data for UNS",[15,750,751],{},"After collecting data from your Modbus device, the next step is transforming it into a usable format for cloud-based IoT applications. Modbus data typically comes in raw register values, and you may need to convert these values into human-readable formats like temperature, pressure, or other measurements.",[15,753,754],{},"Let's walk through the transformation process step by step.",[15,756,757],{},[117,758,759],{},"Step 2.1: Parsing and Converting Raw Modbus Data",[15,761,762],{},"Modbus devices often return data in registers that need to be interpreted. For example, a temperature sensor might return a register value like 350, which represents 35.0°C if the sensor stores values in tenths of degrees.",[15,764,765,769],{},[44,766],{"alt":767,"dataZoomable":47,"src":768},"The ModSim interface, generating simulated Modbus data","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fmodsim.png",[51,770,767],{},[15,772,773,774,777],{},"Here’s an example of the raw Modbus data I am receiving from ModSim: ",[77,775,776],{},"[225, 1013, 29, 50, 603]",". These values represent the following:",[307,779,780,786,792,798,804],{},[310,781,782,785],{},[77,783,784],{},"225",": Temperature (in tenths of degrees, which would be 22.5°C)",[310,787,788,791],{},[77,789,790],{},"1013",": Part 1 of the pressure value (higher register)",[310,793,794,797],{},[77,795,796],{},"29",": Part 2 of the pressure value (lower register)",[310,799,800,803],{},[77,801,802],{},"50",": Vibration (in tenths of degrees, which would be 5g)",[310,805,806,809],{},[77,807,808],{},"603",": Humidity (in tenths of degrees, which would be 60.3%)",[15,811,812],{},"We must convert these raw register values into human-readable formats for cloud integration. For instance, we divide the temperature and vibration by 10 to get the actual values in degrees Celsius and g, respectively, and similarly for other parameters like humidity. For pressure, the higher and lower register values are combined to compute the complete value accurately.",[15,814,815],{},"To determine how to process raw Modbus data, such as dividing by a specific value, concatenating, or applying other transformation formulas, refer to the manual of the sensor you use for specific instructions.",[15,817,818,819,823,824,828,829,833,834,837,838,842],{},"In Node-RED, you can use various nodes for transformation. You can choose the ",[19,820,822],{"href":821},"\u002Fnode-red\u002Fcore-nodes\u002Ffunction\u002F","Function node"," for advanced processing, the ",[19,825,827],{"href":826},"\u002Fnode-red\u002Fcore-nodes\u002Fchange\u002F","Change node"," for simpler operations, or the ",[19,830,832],{"href":831},"\u002Fnode-red\u002Fcore-nodes\u002Ftemplate\u002F","Template node"," for defining schemas. For more complex data parsing scenarios, such as handling multiple data types (floats, 32-bit integers, strings), dealing with big-endian\u002Flittle-endian conversions, or performing byte swapping, consider using the ",[77,835,836],{},"node-red-contrib-buffer-parser"," node. This specialized node simplifies parsing Modbus buffers into various data formats without writing custom code. Learn more in our guide on ",[19,839,841],{"href":840},"\u002Fblog\u002F2025\u002F12\u002Fnode-red-buffer-parser-industrial-data\u002F","using Buffer Parser for industrial data",". In this article, I will demonstrate a low-code approach using the Change node to process the data cleanly.",[15,844,845,846,626,849,192],{},"Additionally, for better organization and accessibility, I will send each metric separately and include additional metadata such as the ",[77,847,848],{},"timestamp",[77,850,851],{},"unit",[15,853,854,857],{},[117,855,856],{},"For Temperature",":",[492,859,860,865,868],{},[310,861,544,862,697],{},[117,863,864],{},"Change",[310,866,867],{},"Double-click the node to open its configuration panel.",[310,869,870,871,874,875],{},"Set the following in the ",[117,872,873],{},"Set"," rules:\n",[307,876,877,887,894,900,908],{},[310,878,879,880,883,884,192],{},"Set ",[77,881,882],{},"msg.data"," to ",[77,885,886],{},"msg.payload",[310,888,879,889,883,891,192],{},[77,890,886],{},[77,892,893],{},"{}",[310,895,879,896,899],{},[77,897,898],{},"msg.payload.timestamp"," to the timestamp function of the Change node.",[310,901,879,902,883,905,192],{},[77,903,904],{},"msg.payload.value",[77,906,907],{},"data[0] \u002F 10",[310,909,879,910,883,913,192],{},[77,911,912],{},"msg.payload.unit",[77,914,915],{},"'c'",[15,917,918,922],{},[44,919],{"alt":920,"dataZoomable":47,"src":921},"Image showing the Change node rules transforming temperature data","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Ftemperature-data-tranformation.png",[51,923,920],{},[492,925,926,931],{"start":133},[310,927,512,928,930],{},[117,929,681],{}," to save the configuration.",[310,932,933,934,936,937,706],{},"Connect the first output of the ",[117,935,547],{}," node to the input of this ",[117,938,864],{},[15,940,941,857],{},[117,942,943],{},"For Pressure",[492,945,946,951,953],{},[310,947,948,949,697],{},"Drag another ",[117,950,864],{},[310,952,867],{},[310,954,870,955,874,957],{},[117,956,873],{},[307,958,959,965,971,975,983],{},[310,960,879,961,883,963,192],{},[77,962,882],{},[77,964,886],{},[310,966,879,967,883,969,192],{},[77,968,886],{},[77,970,893],{},[310,972,879,973,899],{},[77,974,898],{},[310,976,879,977,883,979,982],{},[77,978,904],{},[77,980,981],{},"$number($string(data[1]) & $string(data[2]))"," as a JSONata expression.",[310,984,879,985,883,987,192],{},[77,986,912],{},[77,988,989],{},"'ppm'",[15,991,992,996],{},[44,993],{"alt":994,"dataZoomable":47,"src":995},"Image showing the Change node rules transforming pressure data","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fpressure-data-transformation.png",[51,997,994],{},[492,999,1000,1004],{"start":133},[310,1001,512,1002,930],{},[117,1003,681],{},[310,1005,933,1006,936,1008,706],{},[117,1007,547],{},[117,1009,864],{},[15,1011,1012],{},[117,1013,1014],{},"For Vibration",[492,1016,1017,1021,1023],{},[310,1018,948,1019,697],{},[117,1020,864],{},[310,1022,867],{},[310,1024,870,1025,874,1027],{},[117,1026,873],{},[307,1028,1029,1035,1041,1045,1052],{},[310,1030,879,1031,883,1033,192],{},[77,1032,882],{},[77,1034,886],{},[310,1036,879,1037,883,1039,192],{},[77,1038,886],{},[77,1040,893],{},[310,1042,879,1043,899],{},[77,1044,898],{},[310,1046,879,1047,883,1049,982],{},[77,1048,904],{},[77,1050,1051],{},"data[3] \u002F 10",[310,1053,879,1054,883,1056,192],{},[77,1055,912],{},[77,1057,1058],{},"'g'",[15,1060,1061,1065],{},[44,1062],{"alt":1063,"dataZoomable":47,"src":1064},"Image showing the Change node rules transforming vibration data","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fvibration-data-transformation.png",[51,1066,1063],{},[492,1068,1069,1073],{"start":133},[310,1070,512,1071,930],{},[117,1072,681],{},[310,1074,933,1075,936,1077,706],{},[117,1076,547],{},[117,1078,864],{},[15,1080,1081],{},[117,1082,1083],{},"For Humidity",[492,1085,1086,1090,1092],{},[310,1087,948,1088,697],{},[117,1089,864],{},[310,1091,867],{},[310,1093,870,1094,874,1096],{},[117,1095,873],{},[307,1097,1098,1104,1110,1114,1121],{},[310,1099,879,1100,883,1102,192],{},[77,1101,882],{},[77,1103,886],{},[310,1105,879,1106,883,1108,192],{},[77,1107,886],{},[77,1109,893],{},[310,1111,879,1112,899],{},[77,1113,898],{},[310,1115,879,1116,883,1118,982],{},[77,1117,904],{},[77,1119,1120],{},"data[4] \u002F 10",[310,1122,879,1123,883,1125,192],{},[77,1124,912],{},[77,1126,1127],{},"'%'",[15,1129,1130,1134],{},[44,1131],{"alt":1132,"dataZoomable":47,"src":1133},"Image showing the Change node rules transforming humidity data","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fhumidity-data-transformation.png",[51,1135,1132],{},[492,1137,1138,1142],{"start":133},[310,1139,512,1140,930],{},[117,1141,681],{},[310,1143,933,1144,936,1146,706],{},[117,1145,547],{},[117,1147,864],{},[15,1149,1150,1151,1153],{},"Once you have configured and connected all the Change nodes, add a ",[117,1152,696],{}," node to each Change node's output to verify that the transformed data appears as expected. Deploy the flow, then check the output in the Debug Panel to ensure that each metric is correctly formatted with the appropriate timestamp, value, and unit.",[264,1155,1157],{"id":1156},"step-3-publishing-modbus-data-to-mqtt","Step 3: Publishing Modbus Data to MQTT",[15,1159,1160],{},"After transforming the Modbus data into a human-readable format, the next step is to publish it via MQTT to build your Unified Namespace (UNS). The UNS is created by organizing your MQTT topics into a standardized hierarchy, when you publish data to these structured topics, you're establishing the namespace that other systems can subscribe to.",[15,1162,1163],{},[117,1164,1165],{},"Step 3.1: Preparing Your MQTT Broker",[15,1167,1168],{},"As mentioned in the prerequisites, FlowFuse provides an integrated MQTT broker service for Team and Enterprise users. The broker uses username and password authentication, you create clients on the platform with credentials that control topic access.",[15,1170,1171],{},[117,1172,1173],{},"To create MQTT clients:",[492,1175,1176,1183,1190,1200,1207,1213],{},[310,1177,1178,1179,1182],{},"Navigate to the FlowFuse platform and click ",[117,1180,1181],{},"Broker"," in the left sidebar.",[310,1184,1185,1186,1189],{},"Click the ",[117,1187,1188],{},"Create Client"," button.",[310,1191,1192,1193,626,1196,1199],{},"Enter a ",[117,1194,1195],{},"username",[117,1197,1198],{},"password"," for the client.",[310,1201,1202,1203,1206],{},"Configure ",[117,1204,1205],{},"topic access control patterns"," if needed, specifying which topics the client can publish to or subscribe from.",[310,1208,512,1209,1212],{},[117,1210,1211],{},"Save"," to create the client.",[310,1214,1215,1216,1219],{},"Once saved, copy the ",[117,1217,1218],{},"Client ID"," from the client list and save it for the next step.",[15,1221,1222,1223,192],{},"For more details about the FlowFuse MQTT broker service, refer to the ",[19,1224,1226],{"href":1225},"\u002Fblog\u002F2024\u002F10\u002Fannouncement-mqtt-broker\u002F","MQTT Broker Service Announcement",[15,1228,1229],{},[117,1230,1231],{},"Step 3.2: Configure MQTT Nodes",[15,1233,1234],{},"Now you'll configure Node-RED to publish your transformed Modbus data to the MQTT broker.",[492,1236,1237,1243],{},[310,1238,1239,1240,697],{},"In the Node-RED editor, drag an ",[117,1241,1242],{},"mqtt out",[310,1244,1245,1246,1248,1249,1251,1252],{},"Double-click the node, then click the ",[117,1247,87],{}," icon next to the ",[117,1250,610],{}," field to add a new broker connection:\n",[307,1253,1254,1262,1267,1272,1278],{},[310,1255,1256,1258,1259,1261],{},[117,1257,610],{},": Enter ",[77,1260,462],{}," (for FlowFuse MQTT).",[310,1263,1264,1266],{},[117,1265,629],{},": Use the default MQTT port (1883 for non-TLS, 8883 for TLS).",[310,1268,1269,1271],{},[117,1270,1218],{},": Paste the Client ID you copied earlier.",[310,1273,1274,1277],{},[117,1275,1276],{},"Username",": Enter the username you created.",[310,1279,1280,1283],{},[117,1281,1282],{},"Password",": Enter the password you created.",[15,1285,1286,1290],{},[44,1287],{"alt":1288,"dataZoomable":47,"src":1289},"MQTT broker node configuration","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fmqtt-broker-config-node.png",[51,1291,1288],{},[492,1293,1294,1299],{"start":346},[310,1295,512,1296,1298],{},[117,1297,677],{}," to save the broker configuration.",[310,1300,1301,1302],{},"Back in the mqtt out node configuration:\n",[307,1303,1304,1314,1339],{},[310,1305,1306,1309,1310,1313],{},[117,1307,1308],{},"Topic",": Enter a topic following the ISA-95 equipment hierarchy, such as ",[77,1311,1312],{},"plant2\u002FArea4\u002FCell2\u002FDeviceA\u002Ftemperature",". This naming convention organizes data by enterprise, site, area, line, and equipment, making it easier to filter, manage, and scale your system as it grows.",[310,1315,1316,1319,1320],{},[117,1317,1318],{},"QoS",": Select the appropriate Quality of Service level:\n",[307,1321,1322,1328,1333],{},[310,1323,1324,1327],{},[117,1325,1326],{},"0"," (At most once) - Fastest, but no delivery guarantee",[310,1329,1330,1332],{},[117,1331,569],{}," (At least once) - Ensures delivery, possible duplicates",[310,1334,1335,1338],{},[117,1336,1337],{},"2"," (Exactly once) - Slowest, but guarantees single delivery",[310,1340,1341,1344],{},[117,1342,1343],{},"Retain",": Enable this if you want the broker to store the last message for new subscribers.",[15,1346,1347,1351],{},[44,1348],{"alt":1349,"dataZoomable":47,"src":1350},"MQTT Out node configuration for temperature data","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fmqtt-client-config-temperature.png",[51,1352,1349],{},[15,1354,1355],{},[51,1356,1357,1358,192],{},"Note: This example uses environment variables for sensitive configuration data to prevent accidental exposure when sharing flows. For more information, refer to ",[19,1359,1361],{"href":1360},"\u002Fblog\u002F2023\u002F01\u002Fenvironment-variables-in-node-red\u002F","Using Environment Variables with Node-RED",[492,1363,1364,1369],{"start":671},[310,1365,512,1366,1368],{},[117,1367,681],{}," to save the node configuration.",[310,1370,1371,1372,1374,1375,706],{},"Connect the output of the ",[117,1373,864],{}," node (which transforms your temperature data) to the input of this ",[117,1376,1242],{},[15,1378,1379],{},[117,1380,1381],{},"Using FlowFuse MQTT Nodes",[15,1383,1384,1385,192],{},"If you're using the FlowFuse MQTT broker, FlowFuse provides specialized MQTT nodes that simplify configuration. These nodes automatically configure the broker connection details when you drop them onto the canvas, no manual setup of server address, Client ID, username, or password required. You also won't need to manually create clients in the broker; they're automatically created when you use these nodes. This streamlines the development process and reduces configuration errors. Learn more about ",[19,1386,1389],{"href":1387,"rel":1388},"https:\u002F\u002Fflowfuse.com\u002Fnode-red\u002Fflowfuse\u002Fmqtt\u002F",[275],"FlowFuse MQTT nodes",[15,1391,1392],{},[117,1393,1394],{},"Step 3.3: Configure MQTT Nodes for Remaining Metrics",[15,1396,1397,1398,1400],{},"Repeat the configuration process for each metric (pressure, vibration, humidity), creating separate ",[117,1399,1242],{}," nodes with unique topics:",[307,1402,1403,1412,1420],{},[310,1404,1405,1408,1409],{},[117,1406,1407],{},"Pressure",": ",[77,1410,1411],{},"plant2\u002FArea4\u002FCell2\u002FDeviceA\u002Fpressure",[310,1413,1414,1408,1417],{},[117,1415,1416],{},"Vibration",[77,1418,1419],{},"plant2\u002FArea4\u002FCell2\u002FDeviceA\u002Fvibration",[310,1421,1422,1408,1425],{},[117,1423,1424],{},"Humidity",[77,1426,1427],{},"plant2\u002FArea4\u002FCell2\u002FDeviceA\u002Fhumidity",[15,1429,1430],{},"Each mqtt out node should:",[307,1432,1433,1436,1439],{},[310,1434,1435],{},"Use the same broker configuration (click the pencil icon next to Server and select your existing broker)",[310,1437,1438],{},"Have its own unique topic",[310,1440,1441],{},"Be connected to the corresponding Change node output",[15,1443,1444],{},[117,1445,1446],{},"Step 3.4: Deploy and Verify the Connection",[492,1448,1449,1454,1480],{},[310,1450,512,1451,1453],{},[117,1452,711],{}," in the top-right corner of Node-RED to activate your flow.",[310,1455,1456,1457,1459,1460],{},"Check the status indicator beneath each ",[117,1458,1242],{}," node:",[307,1461,1462,1468,1474],{},[310,1463,1464,1467],{},[117,1465,1466],{},"Green dot with \"connected\"",": Successfully connected and publishing data",[310,1469,1470,1473],{},[117,1471,1472],{},"Red dot with \"disconnected\"",": Connection failed, check your broker credentials and network connectivity",[310,1475,1476,1479],{},[117,1477,1478],{},"Yellow dot",": Connecting or waiting for data",[310,1481,1482,1483],{},"To verify data is flowing to your UNS:",[307,1484,1485,1491,1497],{},[310,1486,1487,1488,1490],{},"Navigate to the ",[117,1489,1181],{}," section in the FlowFuse platform",[310,1492,1185,1493,1496],{},[117,1494,1495],{},"Hierarchy"," tab to view your topic structure",[310,1498,1499],{},"You should see your topics organized by the ISA-95 hierarchy you defined",[15,1501,1502,1506],{},[44,1503],{"alt":1504,"dataZoomable":47,"src":1505},"FlowFuse topic hierarchy interface showing UNS structure","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fflowfuse-mqtt-topic-hierarchy-monitoring.png",[51,1507,1504],{},[15,1509,1510],{},"Once your flow is successfully publishing data, you've established your Unified Namespace. Other systems can now subscribe to these MQTT topics to consume the data for:",[307,1512,1513,1519,1529,1535,1541],{},[310,1514,1515,1518],{},[117,1516,1517],{},"Cloud analytics platforms"," for historical analysis and reporting",[310,1520,1521,1528],{},[117,1522,1523],{},[19,1524,1527],{"href":1525,"rel":1526},"https:\u002F\u002Fdashboard.flowfuse.com\u002F",[275],"FlowFuse Dashboard"," for real-time monitoring and visualization",[310,1530,1531,1534],{},[117,1532,1533],{},"Predictive maintenance systems"," for equipment health monitoring",[310,1536,1537,1540],{},[117,1538,1539],{},"Business intelligence tools"," for operational insights",[310,1542,1543,1546],{},[117,1544,1545],{},"Alert and notification systems"," for automated responses to threshold breaches",[15,1548,1549],{},"This setup effectively bridges legacy Modbus devices with modern IoT infrastructure, enabling data-driven decision-making and unlocking the full potential of your industrial operations.",[15,1551,1552,1553,192],{},"For more information on using MQTT with Node-RED, please read ",[19,1554,1556],{"href":1555},"\u002Fblog\u002F2024\u002F06\u002Fhow-to-use-mqtt-in-node-red\u002F","Using MQTT with Node-RED",{"title":47,"searchDepth":133,"depth":133,"links":1558},[1559,1560,1561],{"id":379,"depth":136,"text":380},{"id":409,"depth":136,"text":410},{"id":424,"depth":136,"text":425,"children":1562},[1563,1564,1565],{"id":466,"depth":346,"text":467},{"id":747,"depth":346,"text":748},{"id":1156,"depth":346,"text":1157},"2024-12-04","Learn how to bridge Modbus data to MQTT in 2026 and publish it to a Unified Namespace (UNS) using FlowFuse for real-time monitoring and cloud integration.","\u002Fblog\u002F2024\u002F12\u002Fimages\u002Fhow-to-bridge-modbus-to-mqtt.png","2025-12-19",{"keywords":1571,"excerpt":1572},"modbus to mqtt, mqtt to modbus, node-red as gateway, bridging modbus to mqtt, modbus to uns, modbus data to unified namespace",{"type":12,"value":1573},[1574],[15,1575,370],{},"\u002Fblog\u002F2024\u002F12\u002Fpublishing-modbus-data-to-uns",{"title":364,"description":1567},{"loc":1576},"blog\u002F2024\u002F12\u002Fpublishing-modbus-data-to-uns","Build a Production-Ready Modbus to MQTT Bridge with Node-RED",[1582,165,1583],"flowfuse","modbus","Bridging Modbus to MQTT with Node-RED solves the OT\u002FIT integration gap by translating the Modbus master-slave polling model into an MQTT publish-subscribe architecture. The guide walks through reading Modbus holding registers, transforming raw register values into human-readable metrics, and publishing them to a Unified Namespace via FlowFuse's integrated MQTT broker.","Krz806jlNth1sruNRYpFvTv-NoIlMUW8kdoJRoRV46k",1785528670761]