Wat is Node-RED?
Node-RED is een open-source, flow-based ontwikkelplatform op basis van Node.js waarmee u apparaten, protocollen, databases en applicaties visueel koppelt door in een webbrowser nodes met elkaar te verbinden tot datastromen (flows). Het platform wordt veel gebruikt voor integratie, automatisering, Edge Computing, IoT-oplossingen en industriële data-uitwisseling. Binnen OT en industriële automatisering fungeert Node-RED vaak als flexibele middlewarelaag tussen PLC’s, SCADA, historians, cloudplatformen en IIoT-systemen. Daarmee is het een veelgebruikt gereedschap in OT-convergentie-projecten.
🧠 Waar komt Node-RED vandaan?
Nick O’Leary en Dave Conway-Jones begonnen begin 2013 met Node-RED als zijproject binnen de Emerging Technology Services-groep van IBM. Hun doel was het snel koppelen van hardware, API’s en online diensten zonder voor elke integratie een applicatie te schrijven. In september 2013 werd Node-RED open source vrijgegeven onder de Apache 2.0-licentie.
In oktober 2016 werd Node-RED een van de oprichtingsprojecten van de JS Foundation. Die stichting fuseerde in 2019 met de Node.js Foundation tot de OpenJS Foundation, waar Node-RED nog steeds onder valt. Nick O’Leary was in 2021 medeoprichter van het bedrijf FlowFuse (eerst FlowForge geheten), dat een beheerplatform voor Node-RED in industriële omgevingen levert.
| Versie | Verschenen | Belangrijkste kenmerken |
|---|---|---|
| 1.0 | september 2019 | Eerste stabiele hoofdversie, asynchrone berichtafhandeling |
| 4.0 | 20 juni 2024 | Vereist Node.js 18 of hoger, multiplayer-modus, confignodes in subflows, CSV-node volgens RFC 4180 |
| 4.1 | 29 juli 2025 | Doorontwikkeling 4.x, blijft onderhouden met maintenance releases |
| 5.0 | 9 juni 2026 | Vereist Node.js 22.9.0 of hoger, donker thema, vernieuwde zijbalken, geen 32-bit ARM-images en geen Raspberry Pi 3B of ouder meer |
⚙️ Hoe werkt Node-RED?
Node-RED bestaat uit een runtime (een Node.js-proces) en een editor in de browser, standaard bereikbaar op poort 1880. In de editor sleept u nodes uit een palet en verbindt u ze met draden. Na een deploy draait de runtime de flows zelfstandig door, ook als de editor gesloten is.
Data stroomt tussen nodes als berichtobject msg, met daarin meestal msg.payload
(de waarde) en msg.topic (de herkomst of het onderwerp). Een typische flow:
- Input-node - ontvangt data, bijvoorbeeld een MQTT-bericht, een HTTP-verzoek of een periodieke inject-trigger
- Verwerkingsnodes - filteren, schalen, omrekenen of verrijken de data; de function-node voert eigen JavaScript uit
- Output-node - stuurt het resultaat door naar een broker, database, API of e-mail
- Dashboard- of opslagnodes - visualiseren of bewaren de informatie
Flows worden opgeslagen als JSON-bestand (flows.json); wachtwoorden en tokens staan in een
apart, versleuteld credentials-bestand. Variabelen kunnen worden bewaard in context op drie
niveaus: per node, per flow en globaal. Met subflows maakt u herbruikbare bouwblokken, en met de projects-functie zet u flows onder Git-versiebeheer.
🌐 Welke protocollen en systemen ondersteunt Node-RED?
Node-RED heeft een kleine set ingebouwde nodes en een bibliotheek met duizenden communitynodes die u via de palette manager installeert. Dat onderscheid is belangrijk voor beheer: communitynodes hebben elk hun eigen onderhouder en kwaliteit.
| Protocol / systeem | Beschikbaarheid | Typische OT-toepassing |
|---|---|---|
| MQTT | Ingebouwd | IIoT-messaging, koppeling met brokers zoals Mosquitto |
| HTTP(S), WebSocket, TCP, UDP | Ingebouwd | API-koppelingen, realtime webverkeer, eenvoudige socketprotocollen |
| Modbus TCP | Communitynode | Uitlezen van PLC’s, energiemeters en frequentieregelaars |
| OPC UA | Communitynode | Gestructureerde industriële data uit servers en controllers |
| S7 (Siemens) | Communitynode | Direct lezen en schrijven van S7-datablokken |
| SNMP | Communitynode | Monitoring van switches en netwerkcomponenten |
| InfluxDB, PostgreSQL, MySQL, MongoDB | Communitynode | Opslag van tijdreeksen en productiedata |
Daarnaast zijn er nodes voor cloudplatformen als Azure, AWS en Google Cloud en voor MQTT Sparkplug B. Hierdoor functioneert Node-RED vaak als protocolgateway en als ETL-laag tussen OT-systemen en analytics-platformen.
🏭 Waarvoor wordt Node-RED in de industrie gebruikt?
- Protocolconversie - bijvoorbeeld Modbus TCP naar MQTT, OPC UA naar een REST-API of seriële communicatie naar een cloudplatform
- Machine monitoring - productiestatus, cyclustijden, energieverbruik en OEE-data verzamelen
- Unified Namespace - PLC-data normaliseren en onder een vaste topicstructuur publiceren
- SCADA-uitbreidingen - meldingen per e-mail of chat, event handling en koppelingen met MES die het SCADA-pakket zelf niet biedt
- Edge-voorverwerking - lokaal filteren, bufferen bij verbindingsverlies en datareductie vóór verzending naar de cloud
- Condition Monitoring en Predictive Maintenance - sensorwaarden bewaken op drempels en trends
Leveranciers bouwen Node-RED ook in hun hardware in. Opto 22 levert Node-RED voorgeïnstalleerd op groov EPIC en groov RIO, het voorbeeldimage van de Siemens SIMATIC IOT2050 bevatte Node-RED, en Revolution Pi ondersteunt het voor I/O-programmering. Node-RED draait daarnaast op een Raspberry Pi, in Docker-containers en op industriële pc’s of edge devices.
📊 Hoe maakt u dashboards met Node-RED?
Het oorspronkelijke pakket node-red-dashboard was gebaseerd op AngularJS, dat niet meer wordt
onderhouden. Maintainer Dave Conway-Jones kondigde in juni 2024 aan dat de ontwikkeling stopt en het
pakket als verouderd wordt gemarkeerd. De opvolger is FlowFuse Dashboard (ook Dashboard
2.0 genoemd), gebouwd op Vue. Migratie gebeurt niet automatisch: beide kunnen naast elkaar draaien, maar
eigen templates moeten vaak opnieuw worden gebouwd.
Binnen OT worden Node-RED-dashboards gebruikt voor lokale monitoring, energieanalyse, prototypes en eenvoudige HMI’s aan de edge. Voor complexere visualisaties en lange trends combineert u Node-RED meestal met InfluxDB en Grafana.
🔐 Hoe beveiligt u Node-RED in een OT-omgeving?
De officiële documentatie is duidelijk: de editor is standaard niet beveiligd. Iedereen die het IP-adres en de poort kan bereiken, kan flows wijzigen en deployen. Omdat de function-node willekeurige JavaScript uitvoert en de exec-node systeemcommando’s start, staat toegang tot de editor in de praktijk gelijk aan toegang tot het onderliggende systeem en alle gekoppelde PLC’s.
| Risico | Gevolg | Maatregel |
|---|---|---|
| Open editor zonder login | Volledige overname, code-uitvoering | adminAuth met bcrypt-gehashte wachtwoorden, of OAuth/OpenID |
| Open dashboard of HTTP-endpoints | Ongeautoriseerde inzage of bediening |
httpNodeAuth of een reverse proxy met authenticatie
|
| Onversleuteld verkeer | Afluisteren van credentials en data |
TLS via de https-instelling
|
| Kwaadaardige of verouderde communitynode | Supply-chain-aanval | Alleen beoordeelde nodes, versies vastleggen, patchen |
| Schrijfacties naar PLC’s | Onbedoelde procesbeïnvloeding | Read-only waar mogelijk, schrijven alleen via vaste, geteste flows |
Node-RED kent rollen via permissies (* voor volledige toegang, read voor
alleen-lezen, of fijnmazig zoals flows.read), wat een eenvoudige vorm van RBAC geeft. MFA is niet ingebouwd, maar haalt u
binnen via een externe identity provider. Plaats Node-RED volgens netwerksegmentatie en het zones-en-conduits-model van IEC 62443
in een eigen zone, achter een firewall of in de DMZ, en vermijd directe
toegang vanuit het IT-netwerk tot kritieke PLC’s. Pas hardening en least privilege toe: draai de runtime niet als root en zet ongebruikte nodes uit.
🧭 Hoe zet u Node-RED stap voor stap betrouwbaar in?
Node-RED wordt regelmatig ingezet in semi-kritische OT-processen. Een praktisch stappenplan:
- Bepaal de rol - Node-RED is geschikt voor monitoring, integratie en datatransport, niet voor hard realtime regelen of veiligheidsfuncties; die horen in de PLC of het safety-systeem.
- Kies het platform - een industriële edge-pc of container; let op dat Node-RED 5.0 een 64-bit besturingssysteem en Node.js 22.9 of hoger vereist; Raspberry Pi 3B en oudere modellen worden niet meer ondersteund.
-
Beveilig vóór ingebruikname - zet
adminAuth, TLS en een vastecredentialSecretinsettings.js. - Ontwerp robuuste flows - lees in vaste intervallen of op wijziging, buffer bij verbindingsverlies en vang fouten af met catch- en status-nodes.
- Regel configuratiebeheer - gebruik projects met Git, documenteer flows en leg geïnstalleerde nodeversies vast.
-
Bewaak en herstel - stuur logging naar een centraal systeem, bewaak geheugengebruik op memory leaks en maak back-ups van
flows.jsonen credentials. Waar uitval niet acceptabel is, voorziet u in redundantie. - Beheer de levenscyclus - plan updates van Node.js en Node-RED in lifecyclebeheer en change management, en controleer communitynodes op bekende CVE’s.
Voor Nederlandse organisaties die onder de Cyberbeveiligingswet (van kracht sinds 15 augustus 2026) vallen, is een ongedocumenteerde Node-RED-instantie met schrijfrechten op PLC’s een typisch risico voor de zorgplicht. Fabrikanten die Node-RED in een commercieel product leveren, zoals een edge-gateway, zijn onder de Cyber Resilience Act verantwoordelijk voor de kwetsbaarheden van die ingebouwde componenten; de meldplicht geldt vanaf 11 september 2026.
🔄 Hoe verhoudt Node-RED zich tot andere integratieplatformen?
| Eigenschap | Node-RED | Ignition | Traditionele middleware / Kafka |
|---|---|---|---|
| Licentie | Open source (Apache 2.0) | Commercieel | Variabel |
| Ontwikkelstijl | Visuele flows + JavaScript | Ontwerper + Python-scripting | Code en configuratie |
| Ontwikkelsnelheid | Hoog | Middel tot hoog | Lager |
| Ingebouwd SCADA/alarmbeheer | Nee | Ja | Nee |
| Hard realtime | Nee | Nee | Nee |
| Governance bij grote uitrol | Beperkt, vraagt extra tooling | Sterker | Sterk |
Node-RED vervangt meestal geen SCADA, maar vult ontbrekende integratiefuncties aan. Bij tientallen instanties over meerdere sites worden governance, centraal beheer en security de bottleneck; platforms als FlowFuse voegen daarvoor teambeheer, snapshots en uitrol naar edge devices toe. Zo ondersteunt Node-RED initiatieven rond Industrie 4.0, Industrial Internet of Things en Industrial AI, zolang de inzet beheerst blijft. Binnen kritieke infrastructuur beperken compliance- en cybersecurity-eisen bovendien vaak de cloudintegratie, en worden assets en datastromen via monitoring bewaakt. Voor grotere aantallen containers kan Kubernetes de orkestratie overnemen. Zo blijft Node-RED een brug tussen IT- en OT-systemen in plaats van een ongecontroleerde schaduwlaag.
❓ Veelgestelde vragen
Is Node-RED gratis?
Node-RED is gratis open-source software onder de Apache 2.0-licentie en valt onder de OpenJS Foundation. U kunt het zonder licentiekosten installeren op een pc, Raspberry Pi, server of in Docker. Commerciële partijen zoals FlowFuse bieden betaalde beheerplatformen en ondersteuning rond Node-RED.
Kan Node-RED een PLC of SCADA vervangen?
Node-RED is niet geschikt als vervanging van een PLC, omdat het geen deterministische, hard realtime besturing en geen veiligheidsfuncties biedt. Ook vervangt Node-RED meestal geen SCADA-systeem, omdat alarmbeheer, historian en redundantie ontbreken of zelf gebouwd moeten worden. Node-RED is vooral sterk als integratie- en datalaag naast PLC en SCADA.
Welke programmeertaal gebruikt Node-RED?
Node-RED draait op Node.js en gebruikt JavaScript voor eigen logica in de function-node. De meeste flows bouwt u echter zonder code door nodes visueel met elkaar te verbinden. Flows worden opgeslagen als JSON, zodat u ze eenvoudig kunt exporteren, delen en onder versiebeheer brengen.
Op welke poort draait Node-RED?
Node-RED draait standaard op poort 1880, waar zowel de editor als de dashboards en HTTP-endpoints
bereikbaar zijn. De editor is standaard niet beveiligd, dus deze poort mag nooit onbeschermd vanaf
internet of het kantoornetwerk bereikbaar zijn. Schakel adminAuth en TLS in en beperk de
toegang met een firewall.
Wat is het verschil tussen Node-RED Dashboard en FlowFuse Dashboard?
Het oorspronkelijke Node-RED Dashboard (node-red-dashboard) was gebaseerd op AngularJS en is
sinds 2024 verouderd. FlowFuse Dashboard, ook Dashboard 2.0 genoemd, is de opvolger op basis van Vue met
responsieve lay-outs en nieuwe widgets. Bestaande dashboards migreren niet automatisch en moeten deels
opnieuw worden opgebouwd.
Ondersteunt Node-RED OPC UA en Modbus?
Node-RED ondersteunt OPC UA, Modbus TCP en Siemens S7 via communitynodes die u met de palette manager installeert. MQTT, HTTP, WebSocket, TCP en UDP zitten standaard in Node-RED. Beoordeel communitynodes op onderhoud en kwetsbaarheden voordat u ze in een productieomgeving gebruikt.
📌 Samengevat
Node-RED is een open-source, visuele integratielaag waarmee u OT-data uit PLC’s en sensoren snel koppelt aan MQTT, databases, dashboards en cloudplatformen. Het is sterk in protocolconversie, edge-voorverwerking en prototyping, maar ongeschikt voor hard realtime of veiligheidsfuncties. Omdat de editor standaard onbeveiligd is en code kan uitvoeren, hoort Node-RED in een gesegmenteerde zone met authenticatie, TLS, versiebeheer en actief lifecyclebeheer.
