In this article, you will learn how to bridge OT signal with IT using DXMR90-X1- Industrial Controller
Listen to this pageabout 3 min
In this video, I introduce you to the Banner Snap Signal concept, which allows factory data to be captured, converted, and distributed quickly to the Cloud. This allows IT and OT Integration quite flexibly. Learn more
Banner Snap Signal converts diverse factory sensor data into a standardized protocol, enabling seamless integration of operational technology (OT) with information technology (IT) for enhanced analytics and decision-making.
The DXM configuration software allows users to read sensor signals, store values in registers, and scale data for meaningful interpretation, with options to add offset values for simplified programming.
The DXM controller facilitates cloud data transmission using HTTP Cloud Push, configurable through the DXM software by specifying registers, cloud server details, and push intervals.
Banner Cloud dashboard provides an intuitive interface for displaying and analyzing sensor data, offering real-time updates and historical data views for various parameters like humidity, temperature, and acceleration.
I regularly test industrial automation and IIoT devices. If you’d like me to review your product or showcase it in my courses and YouTube channel:Email: rajvir@codeandcompile.com or drop me a message on LinkedIn
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Code and Compile Wiki","description":"Free wiki for industrial automation and IIoT: PLC course resources, hands-on product reviews and free calculators for PLC, drives and IIoT engineers.","colors":{"primary":"#F78F3F","light":"#FF9843","dark":"#D9702A"},"favicon":"https://mintcdn.com/code-and-compile/AVgt2ILUleJ-6Ioq/images/caclogo.png?fit=max\u0026auto=format\u0026n=AVgt2ILUleJ-6Ioq\u0026q=85\u0026s=ab79a7d81b53c57c05cbe93a32ee985b","navbar":{"primary":{"type":"button","label":"Get my courses – 20% OFF","href":"/who-am-i/get-my-courses-20-off"}},"footer":{"socials":{"youtube":"https://www.youtube.com/thegeterrdone","linkedin":"https://www.linkedin.com/in/singhrajvir","instagram":"https://www.instagram.com/rajvir.codeandcompile","website":"https://www.codeandcompile.com"},"links":[{"header":"Learn","items":[{"label":"All courses","href":"https://learn.codeandcompile.com/l/products"},{"label":"Get 20% off","href":"/who-am-i/get-my-courses-20-off"},{"label":"Course resources","href":"/resources/based-on-courses"}]},{"header":"Free tools","items":[{"label":"PID tuning simulator","href":"/tools/pid-simulator"},{"label":"Modbus RTU frame builder","href":"/tools/modbus-rtu-frame-builder"},{"label":"IP subnet checker","href":"/tools/ip-subnet-checker"},{"label":"All tools","href":"/tools"}]},{"header":"Reviews","items":[{"label":"Smart devices","href":"/product-reviews/smart-devices"},{"label":"Smart platforms","href":"/product-reviews/smart-platforms"}]},{"header":"Work with me","items":[{"label":"Content creation","href":"https://codeandcompile.com/content-creation"},{"label":"Contact","href":"https://codeandcompile.com/contact"},{"label":"Cookie settings","href":"/"}]}]},"seo":{"metatags":{"canonical":"https://wiki.codeandcompile.com"},"indexing":"all"},"banner":{"content":"**New course: OpenPLC Made Easy.** Get 20% off with code WIKI. [View course](https://learn.codeandcompile.com/l/pdp/openplc-made-easy)","dismissible":true,"color":{"light":"#B85A1C","dark":"#8A4313"}},"errors":{"404":{"redirect":false,"title":"This page moved or doesn't exist","description":"Try the search above, or start from [Course resources](/resources/based-on-courses), [Product reviews](/product-reviews/smart-devices) or the [homepage](/)."}},"thumbnails":{"preset":"headline","appearance":"dark","surface":"brand","fonts":{"family":"Inter"},"eyebrow":{"source":"tab","style":"pill"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"code-and-compile","hasAudioNarration":true,"actualSubdomain":"code-and-compile","customDomains":["wiki.codeandcompile.com"],"gitSource":{"type":"github","owner":"code-and-compile","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6af2fff81580bcb16605c19d"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af367cf0e8abdf152c2d9f0","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Product reviews","count":49},{"language":"default","tag":"Course resources","count":37},{"language":"default","tag":"Smart devices","count":28},{"language":"default","tag":"Factory automation","count":27},{"language":"default","tag":"Smart platforms","count":23},{"language":"default","tag":"PLC","count":16},{"language":"default","tag":"Controllers and HMIs","count":12},{"language":"default","tag":"IoT platforms and alerts","count":10},{"language":"default","tag":"ctrlX CORE","count":9},{"language":"default","tag":"Free tools","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#content-area:has(img[src*=\"wiki-banner\"])>#header{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cc-banner-mobile{display:none}@media (max-width: 640px){.cc-banner-desktop{display:none}.cc-banner-mobile{display:block}}#cc-consent{position:fixed;z-index:9999;left:16px;right:16px;bottom:16px;max-width:380px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:12px;font-size:14px;line-height:1.45;background:#ffffff;color:#12131a;border:1px solid rgba(0,0,0,.12);box-shadow:0 10px 30px rgba(0,0,0,.15)}.dark #cc-consent{background:#16171c;color:#f4f5f7;border-color:rgba(255,255,255,.12);box-shadow:0 10px 30px rgba(0,0,0,.5)}#cc-consent p{margin:0;flex:1 1 100%}#cc-consent .cc-actions{margin-left:auto}#cc-consent a{color:#F78F3F;text-decoration:underline}#cc-consent .cc-actions{display:flex;gap:8px}#cc-consent button{font:inherit;font-weight:600;padding:8px 16px;border-radius:8px;cursor:pointer}#cc-consent .cc-decline{background:transparent;color:inherit;border:1px solid rgba(127,127,127,.4)}#cc-consent .cc-accept{background:#F78F3F;color:#fff;border:1px solid #F78F3F}"}],"page":{"pagePath":"product-reviews/smart-devices/snap-signal-bridge-ot-with-it","slug":"/product-reviews/smart-devices/snap-signal-bridge-ot-with-it","pageMetadata":{"title":"Snap Signal- Bridge OT with IT","description":"In this article, you will learn how to bridge OT signal with IT using DXMR90-X1- Industrial Controller","icon":"chart-network","href":"/product-reviews/smart-devices/snap-signal-bridge-ot-with-it"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"In this article, you will learn how to bridge OT signal with IT using DXMR90-X1- Industrial Controller\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,annotation:`annotation`,li:`li`,math:`math`,mi:`mi`,mn:`mn`,mo:`mo`,mrow:`mrow`,p:`p`,semantics:`semantics`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,Heading,OptimizedFrame,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`In this video, I introduce you to the Banner Snap Signal concept, which allows factory data to be captured, converted, and distributed quickly to the Cloud. This allows IT and OT Integration quite flexibly. `,_jsx(_components.a,{href:`https://www.bannerengineering.com/be/en/products/connectivity-technology/snap-signal.html`,children:`Learn more`})]}),`\n`,_jsx(Heading,{level:`3`,id:`snapsignal-ot-and-it-integration`,children:`SnapSignal: OT and IT Integration`}),`\n`,_jsx(OptimizedFrame,{className:`mint-w-full mint-aspect-video mint-rounded-xl`,src:`https://www.youtube.com/embed/8ZbsFxjKTW0`,title:`YouTube video player`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:true}),`\n`,_jsx(Heading,{level:`3`,id:`data-integration-and-standardization`,children:`Data Integration and Standardization`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Banner Snap Signal `,_jsx(_components.strong,{children:`converts diverse factory sensor data`}),` into a `,_jsx(_components.strong,{children:`standardized protocol`}),`, enabling seamless integration of operational technology (OT) with information technology (IT) for enhanced analytics and decision-making.`]}),`\n`,_jsxs(_components.li,{children:[`The DXM configuration software allows users to `,_jsx(_components.strong,{children:`read sensor signals`}),`, `,_jsx(_components.strong,{children:`store values in registers`}),`, and `,_jsx(_components.strong,{children:`scale data`}),` for meaningful interpretation, with options to add offset values for simplified programming.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`cloud-connectivity-and-analytics`,children:`Cloud Connectivity and Analytics`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The DXM controller facilitates `,_jsx(_components.strong,{children:`cloud data transmission`}),` using HTTP Cloud Push, configurable through the DXM software by specifying registers, cloud server details, and push intervals.`]}),`\n`,_jsxs(_components.li,{children:[`Banner Cloud dashboard provides an `,_jsx(_components.strong,{children:`intuitive interface`}),` for displaying and analyzing sensor data, offering `,_jsx(_components.strong,{children:`real-time updates`}),` and `,_jsx(_components.strong,{children:`historical data views`}),` for various parameters like humidity, temperature, and acceleration.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`scaling-formula`,children:`Scaling Formula`}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mi,{children:`Y`}),_jsx(_components.mo,{children:`=`}),_jsx(_components.mo,{stretchy:`false`,children:`(`}),_jsx(_components.mo,{stretchy:`false`,children:`(`}),_jsx(_components.mi,{children:`Y`}),_jsx(_components.mn,{children:`2`}),_jsx(_components.mo,{children:`−`}),_jsx(_components.mi,{children:`Y`}),_jsx(_components.mn,{children:`1`}),_jsx(_components.mo,{stretchy:`false`,children:`)`}),_jsx(_components.mi,{mathvariant:`normal`,children:`/`}),_jsx(_components.mo,{stretchy:`false`,children:`(`}),_jsx(_components.mi,{children:`X`}),_jsx(_components.mn,{children:`2`}),_jsx(_components.mo,{children:`−`}),_jsx(_components.mi,{children:`X`}),_jsx(_components.mn,{children:`1`}),_jsx(_components.mo,{stretchy:`false`,children:`)`}),_jsx(_components.mo,{stretchy:`false`,children:`)`}),_jsx(_components.mo,{children:`∗`}),_jsx(_components.mo,{stretchy:`false`,children:`(`}),_jsx(_components.mi,{children:`R`}),_jsx(_components.mi,{children:`A`}),_jsx(_components.mi,{children:`W`}),_jsx(_components.mo,{children:`−`}),_jsx(_components.mi,{children:`X`}),_jsx(_components.mn,{children:`1`}),_jsx(_components.mo,{stretchy:`false`,children:`)`}),_jsx(_components.mo,{children:`+`}),_jsx(_components.mi,{children:`Y`}),_jsx(_components.mn,{children:`1`})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`Y = ((Y2 - Y1)/(X2 - X1)) * \n(RAW - X1) + Y1`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.6833em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.2222em`},children:`Y`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`=`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mopen`,children:`((`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.2222em`},children:`Y`}),_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`−`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.2222em`},children:`Y`}),_jsx(_components.span,{className:`mord`,children:`1`}),_jsx(_components.span,{className:`mclose`,children:`)`}),_jsx(_components.span,{className:`mord`,children:`/`}),_jsx(_components.span,{className:`mopen`,children:`(`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0785em`},children:`X`}),_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`−`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0785em`},children:`X`}),_jsx(_components.span,{className:`mord`,children:`1`}),_jsx(_components.span,{className:`mclose`,children:`))`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`∗`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mopen`,children:`(`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0077em`},children:`R`}),_jsx(_components.span,{className:`mord mathnormal`,children:`A`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.1389em`},children:`W`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`−`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0785em`},children:`X`}),_jsx(_components.span,{className:`mord`,children:`1`}),_jsx(_components.span,{className:`mclose`,children:`)`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`+`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.6833em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.2222em`},children:`Y`}),_jsx(_components.span,{className:`mord`,children:`1`})]})]})]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Y = Output`}),`, Y1 = Output min., Y2 = Output max., X1 = Input min., X2 = Input max.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`node-red-flow`,children:_jsx(_components.strong,{children:`Node-RED flow`})}),`\n`,_jsx(Card,{title:`flows.json`,icon:`download`,href:`https://raw.githubusercontent.com/Code-and-Compile/wiki-docs/main/wiki/.gitbook/assets/flows.json`}),`\n`,_jsx(Heading,{level:`2`,id:`bom`,children:_jsx(_components.strong,{children:`BOM`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`The following are the devices used in the Banner Snap Signal kit:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`DXMR90-X1- Industrial Controller:`,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.812240.html`,children:`https://www.bannerengineering.com/th/en/products/part.812240.html`})]}),`\n`,_jsxs(_components.li,{children:[`S15C-I-MQ 810628- 4-20mA Current to Modbus Converter:`,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/search.html?q=S15C-I-MQ`,children:`https://www.bannerengineering.com/th/en/search.html?q=S15C-I-MQ`})]}),`\n`,_jsxs(_components.li,{children:[`Q4XTILAF100-Q8 94885- Laser Sensor with 4-20ma Analog Output: Output:`,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.810628.html`,children:`https://www.bannerengineering.com/th/en/products/part.810628.html`})]}),`\n`,_jsxs(_components.li,{children:[`S15S-TH-MQ 812242- Temp/Humidity Sensor in S15 Housing: `,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.812242.html`,children:`https://www.bannerengineering.com/th/en/products/part.812242.html`})]}),`\n`,_jsxs(_components.li,{children:[`K50PTCD4SQ 812688- K50 Pro Touch with PICK-IQ:`,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.812688.html`,children:`https://www.bannerengineering.com/th/en/products/part.812688.html`})]}),`\n`,_jsxs(_components.li,{children:[`WLS15PXRGB0220DSSQP 809930 WLS15- Pro Strip Light with PICK-IQ:`,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.809930.html`,children:`https://www.bannerengineering.com/th/en/products/part.809930.html`})]}),`\n`,_jsxs(_components.li,{children:[`R70SR2MQ- Wireless Transmitter and Receiver: `,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.812526.html`,children:`https://www.bannerengineering.com/th/en/products/part.812526.html`})]}),`\n`,_jsxs(_components.li,{children:[`S15C-CT-MQ****-**** Current Transformer:`,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.810627.html`,children:`https://www.bannerengineering.com/th/en/products/part.810627.html`})]}),`\n`,_jsxs(_components.li,{children:[`QM30VT2-QP****-**** Temperature and Vibration sensor:`,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.807969.html`,children:`https://www.bannerengineering.com/th/en/products/part.807969.html`})]}),`\n`,_jsxs(_components.li,{children:[`PSW-24-1 803521- Power Supply: `,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.803521.html`,children:`https://www.bannerengineering.com/th/en/products/part.803521.html`})]}),`\n`,_jsxs(_components.li,{children:[`CSB-M1250M1250-T 807397- Parallel Wired M12 Tee: `,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.64206.html`,children:`https://www.bannerengineering.com/th/en/products/part.64206.html`})]}),`\n`,_jsxs(_components.li,{children:[`CSB-M1240M1240 64206- Parallel Wired M12 Splitter: `,_jsx(_components.a,{href:`https://www.bannerengineering.com/th/en/products/part.807397.html`,children:`https://www.bannerengineering.com/th/en/products/part.807397.html`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`work-with-me`,children:`Work With Me`}),`\n`,_jsxs(_components.p,{children:[`I regularly test `,_jsx(_components.strong,{children:`industrial automation and IIoT devices`}),`. If you’d like me to `,_jsx(_components.strong,{children:`review your product`}),` or showcase it in my courses and YouTube channel:`]}),`\n`,_jsxs(_components.p,{children:[`Email: `,_jsx(_components.a,{href:`mailto:rajvir@codeandcompile.com`,children:`rajvir@codeandcompile.com`}),` or drop me a message on `,_jsx(_components.a,{href:`https://www.linkedin.com/in/singhrajvir/`,children:`LinkedIn`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Snap Signal- Bridge OT with IT","description":"In this article, you will learn how to bridge OT signal with IT using DXMR90-X1- Industrial Controller","icon":"chart-network","href":"/product-reviews/smart-devices/snap-signal-bridge-ot-with-it"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"SnapSignal: OT and IT Integration","slug":"snapsignal-ot-and-it-integration","depth":3,"children":[]},{"title":"Data Integration and Standardization","slug":"data-integration-and-standardization","depth":3,"children":[]},{"title":"Cloud Connectivity and Analytics","slug":"cloud-connectivity-and-analytics","depth":3,"children":[]},{"title":"Scaling Formula","slug":"scaling-formula","depth":2,"children":[]},{"title":"Node-RED flow","slug":"node-red-flow","depth":2,"children":[]},{"title":"BOM","slug":"bom","depth":2,"children":[]},{"title":"Work With Me","slug":"work-with-me","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/code-and-compile/2ff53bdbfac34a49/consent.js"],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}","narration":{"path":"product-reviews/smart-devices/snap-signal-bridge-ot-with-it","locale":"en","estimatedDurationSec":165},"subdomain":"code-and-compile","siteName":"Code and Compile Wiki","title":"Snap Signal- Bridge OT with IT - Code and Compile Wiki","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T17:15:09.378Z","originalFileLocation":"product-reviews/smart-devices/snap-signal-bridge-ot-with-it.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"In this article, you will learn how to bridge OT signal with IT using DXMR90-X1- Industrial Controller\">\u003cmeta data-mint-head name=\"application-name\" content=\"Code and Compile Wiki\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Snap Signal- Bridge OT with IT - Code and Compile Wiki\">\u003cmeta data-mint-head property=\"og:description\" content=\"In this article, you will learn how to bridge OT signal with IT using DXMR90-X1- Industrial Controller\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Code and Compile Wiki\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://code-and-compile.mintlify.site/_mintlify/api/og/v2?division=Product+reviews\u0026amp;title=Snap+Signal-+Bridge+OT+with+IT\u0026amp;description=In+this+article%2C+you+will+learn+how+to+bridge+OT+signal+with+IT+using+DXMR90-X1-+Industrial+Controller\u0026amp;theme=09d63dc055ece8e10236b756\u0026amp;signature=7108f18dfe86ea851046543f0bfc9ddca60a46e099cea42cba45e4d0063688a2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Snap Signal- Bridge OT with IT - Code and Compile Wiki\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"In this article, you will learn how to bridge OT signal with IT using DXMR90-X1- Industrial Controller\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://code-and-compile.mintlify.site/_mintlify/api/og/v2?division=Product+reviews\u0026amp;title=Snap+Signal-+Bridge+OT+with+IT\u0026amp;description=In+this+article%2C+you+will+learn+how+to+bridge+OT+signal+with+IT+using+DXMR90-X1-+Industrial+Controller\u0026amp;theme=09d63dc055ece8e10236b756\u0026amp;signature=7108f18dfe86ea851046543f0bfc9ddca60a46e099cea42cba45e4d0063688a2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Code and Compile Wiki\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F78F3F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/product-reviews/smart-devices/snap-signal-bridge-ot-with-it.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://wiki.codeandcompile.com/#organization\",\"name\":\"Code and Compile Wiki\",\"url\":\"https://wiki.codeandcompile.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://wiki.codeandcompile.com#website\",\"name\":\"Code and Compile Wiki\",\"url\":\"https://wiki.codeandcompile.com\",\"publisher\":{\"@id\":\"https://wiki.codeandcompile.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it#webpage\",\"url\":\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it\",\"name\":\"Snap Signal- Bridge OT with IT\",\"description\":\"In this article, you will learn how to bridge OT signal with IT using DXMR90-X1- Industrial Controller\",\"dateModified\":\"2026-11-10T17:15:09.378Z\",\"isPartOf\":{\"@id\":\"https://wiki.codeandcompile.com#website\"},\"breadcrumb\":{\"@id\":\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Remote I/O and IO-Link\",\"item\":\"https://wiki.codeandcompile.com/product-reviews/smart-devices/advantech-adam-250pn-remote-io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Snap Signal- Bridge OT with IT\",\"item\":\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it#article\",\"headline\":\"Snap Signal- Bridge OT with IT\",\"name\":\"Snap Signal- Bridge OT with IT\",\"description\":\"In this article, you will learn how to bridge OT signal with IT using DXMR90-X1- Industrial Controller\",\"url\":\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it\",\"mainEntityOfPage\":{\"@id\":\"https://wiki.codeandcompile.com/product-reviews/smart-devices/snap-signal-bridge-ot-with-it#webpage\"},\"dateModified\":\"2026-11-10T17:15:09.378Z\",\"publisher\":{\"@id\":\"https://wiki.codeandcompile.com/#organization\"},\"isPartOf\":{\"@id\":\"https://wiki.codeandcompile.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Code and Compile Wiki\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Code and Compile Wiki\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/product-reviews/smart-devices/snap-signal-bridge-ot-with-it.md","siteName":"Code and Compile Wiki","nav":{"global":null,"tabs":[{"tab":"Course resources","icon":"graduation-cap","pages":[{"title":"Course resources","href":""}]},{"tab":"Product reviews","icon":"circle-play","menu":[{"item":"Smart devices","icon":"microchip","description":"Hands-on reviews of industrial hardware","groups":[{"group":"Smart devices","icon":"microchip","pages":[{"title":"Smart Devices","sidebarTitle":"Overview","icon":"grid-2","href":"/product-reviews/smart-devices"}]},{"group":"Controllers and HMIs","pages":[{"group":"ctrlX CORE","root":{"title":"ctrlX CORE","icon":"gear","href":"/product-reviews/smart-devices/ctrlx-core/index"},"pages":[{"title":"01- Using ctrlX CORE as PLC and Node-RED Server","icon":"video","href":"/product-reviews/smart-devices/ctrlx-core/01-using-ctrlx-core-as-plc-and-node-red-server"},{"title":"02- Using ctrlX CORE as MQTT Broker","icon":"video","href":"/product-reviews/smart-devices/ctrlx-core/02-using-ctrlx-core-as-mqtt-broker"},{"title":"03- Interfacing ctrlX CORE with ctrlX I/O via EtherCAT","icon":"video","href":"/product-reviews/smart-devices/ctrlx-core/03-interfacing-ctrlx-core-with-ctrlx-i-o-via-ethercat"},{"title":"04- Introducing ctrlX CORE IDE App","icon":"video","href":"/product-reviews/smart-devices/ctrlx-core/04-introducing-ctrlx-core-ide-app"},{"title":"05- Connecting OT with IT using Bosch DeviceBridge app","icon":"video","href":"/product-reviews/smart-devices/ctrlx-core/05-connecting-ot-with-it-using-bosch-devicebridge-app"},{"title":"06- Interfacing ctrlX CORE with IO-Link master using EtherCAT","icon":"video","href":"/product-reviews/smart-devices/ctrlx-core/06-interfacing-ctrlx-core-with-io-link-master-using-ethercat"},{"title":"07- ctrlX CORE as HMI- Part 1","icon":"video","href":"/product-reviews/smart-devices/ctrlx-core/07-ctrlx-core-as-hmi-part-1"},{"title":"08- ctrlX CORE as HMI- Part 2","icon":"video","href":"/product-reviews/smart-devices/ctrlx-core/08-ctrlx-core-as-hmi-part-2"},{"title":"Virtual ctrlX WORKS","icon":"laptop","href":"/product-reviews/smart-devices/ctrlx-core/virtual-ctrlx-works"}]},{"title":"WAGO Compact Controller 100","icon":"gear","href":"/product-reviews/smart-devices/wago-compact-controller-100"},{"title":"Turck TX707 HMI/PLC","icon":"gear","href":"/product-reviews/smart-devices/turck-tx707-hmi-plc"},{"title":"Pixsys TC620 Edge HMI","icon":"tablet","href":"/product-reviews/smart-devices/pixsys-tc620-edge-hmi"}]},{"group":"Remote I/O and IO-Link","pages":[{"title":"Advantech ADAM-250PN Remote I/O","icon":"grip-dots-vertical","href":"/product-reviews/smart-devices/advantech-adam-250pn-remote-io"},{"title":"Analog or Digital Signal to IO-Link","description":"In this article, you will learn how to convert analog and digital signals to IO-Link using Banner's IO-Link hubs and convertors.","icon":"gear","href":"/product-reviews/smart-devices/analog-or-digital-signal-to-io-link"},{"title":"Snap Signal- Bridge OT with IT","icon":"chart-network","href":"/product-reviews/smart-devices/snap-signal-bridge-ot-with-it"},{"title":"item Release Unit DIN/DOUT 24V","description":"Learn how to configure, wire, and scale item's Release Unit for real-world intralogistics applications","icon":"conveyor-belt","href":"/product-reviews/smart-devices/item-release-unit-din-dout-24v"}]},{"group":"Sensors and field devices","pages":[{"group":"Smart Weighing Indicator/Controller","root":{"title":"Smart Weighing Indicator/Controller","icon":"scale-balanced","href":"/product-reviews/smart-devices/smart-weighing-indicator-controller/index"},"pages":[{"title":"IND400 with MQTT","icon":"chart-network","href":"/product-reviews/smart-devices/smart-weighing-indicator-controller/ind400-with-mqtt"},{"title":"IND400 with API","icon":"chart-network","href":"/product-reviews/smart-devices/smart-weighing-indicator-controller/ind400-with-api"},{"title":"IND360 integration with PROFINET, OPC UA and API","icon":"scale-balanced","href":"/product-reviews/smart-devices/smart-weighing-indicator-controller/ind360-integration-with-profinet-opc-ua-and-api"},{"title":"IND360 integration with MQTT","icon":"scale-balanced","href":"/product-reviews/smart-devices/smart-weighing-indicator-controller/ind360-integration-with-mqtt"},{"title":"IND590 CODESYS Course","icon":"scale-balanced","hidden":true,"href":"/product-reviews/smart-devices/smart-weighing-indicator-controller/ind590-codesys-course"}]},{"title":"Smart Fill-Level solution from Banner Engineering","icon":"sensor","href":"/product-reviews/smart-devices/smart-fill-level-solution-from-banner-engineering"},{"title":"Condition monitoring using SICK SIG350","icon":"chart-fft","href":"/product-reviews/smart-devices/condition-monitoring-using-sick-sig350"},{"title":"Visual Factory elements","icon":"light-emergency-on","href":"/product-reviews/smart-devices/visual-factory-elements"}]},{"group":"Data and connectivity","pages":[{"title":"Data Visualization using Peakboard","icon":"chart-fft","href":"/product-reviews/smart-devices/data-visualization-using-peakboard"},{"title":"IT-OT Integration using SIA Connect","icon":"chart-network","href":"/product-reviews/smart-devices/it-ot-integration-using-sia-connect"}]}]},{"item":"Smart platforms","icon":"cloud","description":"Virtual PLCs, MQTT, IoT platforms and alerts","pages":[{"title":"Smart platforms","href":"/product-reviews/smart-platforms"}]}]},{"tab":"Free tools","icon":"calculator","pages":[{"title":"Free tools","href":"/tools"}]},{"tab":"About","icon":"user","pages":[{"title":"About","href":"/who-am-i/meet-the-creator"}]}]},"basePath":"","title":"Snap Signal- Bridge OT with IT - Code and Compile Wiki","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["10e4515597","2bfc744e19"],"chunks":["BannerMarkdown-6DXXLlfN.js","dist-CmKHfscc.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-C3kuh_dz.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","NarrationPlayer-B8rALa9K.js","types-CiTgMxws.js","shallow-BG4cT0fH.js"]}