[{"data":1,"prerenderedAt":154},["ShallowReactive",2],{"agmd-flowfuse-iiot-architectures":3,"application-guide-nav":46},{"id":4,"title":5,"blurb":6,"body":7,"description":33,"extension":36,"guide":37,"meta":38,"navOrder":39,"navTitle":5,"navigation":40,"parent":41,"path":42,"seo":43,"slug":13,"stem":44,"__hash__":45},"applicationGuideDoc\u002Fapplication-guide\u002Fflowfuse\u002Fiiot-architectures.md","IIoT architectures",null,{"type":8,"value":9,"toc":32},"minimark",[10,14,21,25],[11,12,5],"h1",{"id":13},"iiot-architectures",[15,16],"arch-diagram",{":edges":17,":groups":18,":legend":19,":nodes":20},"[{\"from\":\"sa\",\"to\":\"ria\"},{\"from\":\"sb\",\"to\":\"rib\",\"label\":\"reads\"},{\"from\":\"sc\",\"to\":\"ric\"},{\"from\":\"ria\",\"to\":\"broker\",\"dashed\":true,\"accent\":\"teal\"},{\"from\":\"rib\",\"to\":\"broker\",\"label\":\"publish\",\"dashed\":true,\"accent\":\"teal\"},{\"from\":\"ric\",\"to\":\"broker\",\"dashed\":true,\"accent\":\"teal\"},{\"from\":\"broker\",\"to\":\"central\",\"label\":\"subscribe\",\"dashed\":true,\"accent\":\"teal\"}]","[{\"id\":\"central_z\",\"label\":\"Central system · one live view of every node\",\"accent\":\"indigo\",\"nodes\":[\"central\",\"broker\"]},{\"id\":\"sites_z\",\"label\":\"Distributed sites · a Remote Instance + a few sensors, each a small job\",\"accent\":\"red\",\"nodes\":[\"ria\",\"rib\",\"ric\",\"sa\",\"sb\",\"sc\"]}]","[{\"swatch\":\"indigo\",\"label\":\"Central\"},{\"swatch\":\"red\",\"label\":\"Edge sites\"},{\"line\":\"teal\",\"dashed\":true,\"label\":\"MQTT \u002F UNS\"},{\"line\":\"neutral\",\"label\":\"sensor wire\"}]","[{\"id\":\"central\",\"label\":\"Central app\",\"sub\":\"one live view of every node\",\"accent\":\"indigo\",\"col\":2,\"row\":1},{\"id\":\"broker\",\"label\":\"Team Broker\",\"sub\":\"MQTT · UNS\",\"accent\":\"teal\",\"col\":2,\"row\":2},{\"id\":\"ria\",\"label\":\"Remote Instance\",\"sub\":\"Site A\",\"accent\":\"slate\",\"col\":1,\"row\":3},{\"id\":\"rib\",\"label\":\"Remote Instance\",\"sub\":\"Site B\",\"accent\":\"slate\",\"col\":2,\"row\":3},{\"id\":\"ric\",\"label\":\"Remote Instance\",\"sub\":\"Site C\",\"accent\":\"slate\",\"col\":3,\"row\":3},{\"id\":\"sa\",\"label\":\"Sensors\",\"sub\":\"pH · flow · level\",\"accent\":\"neutral\",\"col\":1,\"row\":4},{\"id\":\"sb\",\"label\":\"Sensors\",\"sub\":\"pH · flow · level\",\"accent\":\"neutral\",\"col\":2,\"row\":4},{\"id\":\"sc\",\"label\":\"Sensors\",\"sub\":\"pH · flow · level\",\"accent\":\"neutral\",\"col\":3,\"row\":4}]",[22,23,24],"p",{},"The IIoT shape: many distributed Remote Instances, each reading just a few sensors and doing one small job, publish to a central Team Broker. One central app subscribes and sees every node at once. Each node is small — the value is the large-scale live picture they add up to. Think water-quality monitoring across dozens of pump stations.",[22,26,27,31],{},[28,29,30],"strong",{},"Use it when"," — Lots of small, spread-out measurement points that only pay off when aggregated into one live view.",{"title":33,"searchDepth":34,"depth":34,"links":35},"",4,[],"md","flowfuse",{},5.3,true,"architectures","\u002Fapplication-guide\u002Fflowfuse\u002Fiiot-architectures",{"title":5,"description":33},"application-guide\u002Fflowfuse\u002Fiiot-architectures","UeM-cTNcaH6JzKzuFzk-b0NalRMZidx0z_NX3jXBBqw",[47,53,57,63,66,72,77,83,88,94,99,105,110,115,121,127,132,137,142,144,148],{"guide":37,"slug":48,"title":49,"navOrder":50,"parent":6,"blurb":51,"path":52},"overview","Overview",1,"The map of the FlowFuse guide — apps, architectures, and a worked example.","\u002Fapplication-guide\u002Fflowfuse\u002Foverview\u002F",{"guide":54,"slug":48,"title":49,"navOrder":50,"parent":6,"blurb":55,"path":56},"node-red","The map of the Node-RED guide — the pattern families that turn an app into a clean flow.","\u002Fapplication-guide\u002Fnode-red\u002Foverview\u002F",{"guide":37,"slug":58,"title":59,"navOrder":60,"parent":6,"blurb":61,"path":62},"foundations","Foundations",2,"The foundation to build on: what FlowFuse is, its core pieces, and how code is shared across teams.","\u002Fapplication-guide\u002Fflowfuse\u002Ffoundations\u002F",{"guide":54,"slug":58,"title":59,"navOrder":60,"parent":6,"blurb":64,"path":65},"The handful of concepts you need to build with Node-RED, and how they fit together.","\u002Fapplication-guide\u002Fnode-red\u002Ffoundations\u002F",{"guide":37,"slug":67,"title":68,"navOrder":69,"parent":6,"blurb":70,"path":71},"app-delivery-methods","App delivery methods",3,"Two different units of code, delivered two ways. Ship the whole app — a complete, versioned project promoted through environments — or publish one reusable piece — a package the whole team installs and upgrades in one place. Pick by what you're shipping: the app, or a part of it.","\u002Fapplication-guide\u002Fflowfuse\u002Fapp-delivery-methods\u002F",{"guide":54,"slug":73,"title":74,"navOrder":69,"parent":6,"blurb":75,"path":76},"patterns","Patterns","The moves that turn an architecture into a clean, reusable flow — find the seams and reuse well, then handle data on the right paths.","\u002Fapplication-guide\u002Fnode-red\u002Fpatterns\u002F",{"guide":37,"slug":78,"title":79,"navOrder":80,"parent":67,"blurb":81,"path":82},"hardware-apps","Hardware apps",3.1,"The three shapes a FlowFuse app takes when it runs on a device. Pick by how much varies per site: nothing (Packaged App), a few settings (Configurable App), or you assemble it yourself (Edge Building Block).","\u002Fapplication-guide\u002Fflowfuse\u002Fhardware-apps\u002F",{"guide":54,"slug":84,"title":85,"navOrder":80,"parent":73,"blurb":86,"path":87},"design-patterns","Design patterns","The structural choices you select for a flow: find the seams it breaks into, then reuse each piece at the lightest level that solves it — link in\u002Fout, link call, subflow, or packaged node.","\u002Fapplication-guide\u002Fnode-red\u002Fdesign-patterns\u002F",{"guide":37,"slug":89,"title":90,"navOrder":91,"parent":67,"blurb":92,"path":93},"software-apps","Software apps",3.2,"The three shapes a FlowFuse app takes when it runs on the platform. Pick by what it needs: a headless job (Packaged App), a user-facing app driven by data (Data-Driven App), or a reusable piece other apps embed (Shared Building Block).","\u002Fapplication-guide\u002Fflowfuse\u002Fsoftware-apps\u002F",{"guide":54,"slug":95,"title":96,"navOrder":91,"parent":73,"blurb":97,"path":98},"handling-data","Handling data","Classify each signal by shape, purpose and direction, then pick the methods it needs — separate the paths, pace the flow, hold state in context, and manage config. The methods you select to move a flow's data.","\u002Fapplication-guide\u002Fnode-red\u002Fhandling-data\u002F",{"guide":54,"slug":100,"title":101,"navOrder":102,"parent":73,"blurb":103,"path":104},"good-form","Good form",3.3,"A clean flow isn't luck — it's a handful of habits. Wire for reading, lay it out on a grid, decouple UI from logic, catch errors where you can see them, and keep data on a stable contract. Follow these and a flow stays readable, reusable, and out of spaghetti.","\u002Fapplication-guide\u002Fnode-red\u002Fgood-form\u002F",{"guide":37,"slug":106,"title":107,"navOrder":34,"parent":6,"blurb":108,"path":109},"data-plane","Data plane","Before you pick where things run, decide how data is handled. Two stores come built into every FlowFuse server install — the Team Broker and relational Tables — exposed to every instance with nothing extra to stand up. Everything else you bring your own: run it (a time-series DB, an existing database, a model) and expose it to the fleet over Project Link, no inbound ports. This is the data plane the architectures on the next pages all sit on.","\u002Fapplication-guide\u002Fflowfuse\u002Fdata-plane\u002F",{"guide":54,"slug":111,"title":112,"navOrder":34,"parent":6,"blurb":113,"path":114},"worked-examples","Worked examples","Turn an app concept into a Node-RED flow — or a few — leaning on the design patterns and data handling. The method, then the OEE apps end to end.","\u002Fapplication-guide\u002Fnode-red\u002Fworked-examples\u002F",{"guide":54,"slug":116,"title":117,"navOrder":118,"parent":111,"blurb":119,"path":120},"oee-edge-aggregator","OEE - Edge Aggregator",4.1,"The edge app from the OEE use case as a Node-RED flow — a straight-line flow packaged as a subflow and configured per line (its PLC tags, via a config UI and a get-config node), with the data treated as a stream and its counts held in context.","\u002Fapplication-guide\u002Fnode-red\u002Foee-edge-aggregator\u002F",{"guide":54,"slug":122,"title":123,"navOrder":124,"parent":111,"blurb":125,"path":126},"oee-central-dashboard","OEE - Central Dashboard",4.2,"The cloud app from the OEE use case as a Node-RED flow — one link out fanning to two link ins on separate tabs (dashboard and batched history), so the live and history paths stay separate and easy to read.","\u002Fapplication-guide\u002Fnode-red\u002Foee-central-dashboard\u002F",{"guide":37,"slug":41,"title":128,"navOrder":129,"parent":6,"blurb":130,"path":131},"Architectures",5,"Every FlowFuse deployment is the same building blocks arranged for where it runs — pick the world you're designing for.","\u002Fapplication-guide\u002Fflowfuse\u002Farchitectures\u002F",{"guide":37,"slug":133,"title":134,"navOrder":135,"parent":41,"blurb":6,"path":136},"it-architectures","IT architectures",5.1,"\u002Fapplication-guide\u002Fflowfuse\u002Fit-architectures\u002F",{"guide":37,"slug":138,"title":139,"navOrder":140,"parent":41,"blurb":6,"path":141},"ot-architectures","OT architectures",5.2,"\u002Fapplication-guide\u002Fflowfuse\u002Fot-architectures\u002F",{"guide":37,"slug":13,"title":5,"navOrder":39,"parent":41,"blurb":6,"path":143},"\u002Fapplication-guide\u002Fflowfuse\u002Fiiot-architectures\u002F",{"guide":37,"slug":111,"title":112,"navOrder":145,"parent":6,"blurb":146,"path":147},6,"Start from a use case, break it into apps, and draw the architecture that ties them together — the same method a FlowFuse Proof of Value runs.","\u002Fapplication-guide\u002Fflowfuse\u002Fworked-examples\u002F",{"guide":37,"slug":149,"title":150,"navOrder":151,"parent":111,"blurb":152,"path":153},"worked-example","OEE, end to end",6.1,"One use case — OEE across three lines — broken into two apps and two shared services, then drawn out end to end.","\u002Fapplication-guide\u002Fflowfuse\u002Fworked-example\u002F",1787843652053]