Menu

Tree [52299a] master /
 History

HTTPS access


File Date Author Commit
 .github 2022-12-19 Ricardo Olsen Ricardo Olsen [52299a] Create github funding file.
 bin 2020-08-12 Ricardo Olsen Ricardo Olsen [2c50be] Bin folder added.
 compile-docker 2022-09-02 Ricardo Olsen Ricardo Olsen [4da3d5] Docker demo scripts updated.
 conf 2021-02-25 Ricardo Olsen Ricardo Olsen [da28a7] Various updates in preparation for release 0.7.
 conf-templates 2022-02-12 Ricardo Olsen Ricardo Olsen [cc0cc7] Grafana digital history panel updated.
 demo-docker 2022-09-02 Ricardo Olsen Ricardo Olsen [4da3d5] Docker demo scripts updated.
 docs 2021-12-21 Ricardo Olsen Ricardo Olsen [3c19fb] Updated install doc.
 mongo_seed 2022-09-02 Ricardo Olsen Ricardo Olsen [a76b25] Updated indexes on mongodb.
 platform-linux 2022-02-20 Ricardo Olsen Ricardo Olsen [f5f8a2] Build scripts updated.
 platform-mac 2022-02-20 Ricardo Olsen Ricardo Olsen [f5f8a2] Build scripts updated.
 platform-rhel9 2022-09-07 Ricardo Olsen Ricardo Olsen [02aef8] Platform RHEL9 install updated.
 platform-windows 2022-12-10 Ricardo Olsen Ricardo Olsen [707dd1] Version 0.28-alpha
 sql 2021-12-26 Ricardo Olsen Ricardo Olsen [56e534] Added simple scripts to delete old historical d...
 src 2022-12-10 Ricardo Olsen Ricardo Olsen [707dd1] Version 0.28-alpha
 .gitignore 2021-02-23 Ricardo Olsen Ricardo Olsen [b47dd2] OPC-UA Client updated.
 CODE_OF_CONDUCT.md 2020-12-03 Ricardo Olsen Ricardo Olsen [ccf1ca] Create CODE_OF_CONDUCT.md
 CONTRIBUTING.md 2020-12-03 Ricardo Olsen Ricardo Olsen [aa6c4d] Create CONTRIBUTING.md
 Dockerfile 2021-09-17 Ricardo Olsen Ricardo Olsen [71f7b2] Updated Dockerfile
 Dockerfile-grafana 2021-01-25 Ricardo Olsen Ricardo Olsen [1f485c] Docker demo updated. New method added with dedi...
 Dockerfile-mongodb 2021-01-25 Ricardo Olsen Ricardo Olsen [1f485c] Docker demo updated. New method added with dedi...
 Dockerfile-timescaledb 2021-01-25 Ricardo Olsen Ricardo Olsen [1f485c] Docker demo updated. New method added with dedi...
 LICENSE 2020-09-20 Ricardo Olsen Ricardo Olsen [f01fc7] Create LICENSE
 README.md 2022-12-10 Ricardo Olsen Ricardo Olsen [707dd1] Version 0.28-alpha
 acknowledgements.txt 2020-09-28 Ricardo Olsen Ricardo Olsen [de816a] Acknowledgements updated.
 index.md 2022-12-10 Ricardo Olsen Ricardo Olsen [707dd1] Version 0.28-alpha

Read Me


JSON:SCADA Logo

{json:scada}

A portable and scalable SCADA/IIoT-I4.0 platform centered on the MongoDB database server.

















Mission Statement

To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.0 platform built by leveraging mainstream open-source IT tools.

Screenshots

screenshots

Major features

  • Standard IT tools applied to SCADA/IoT (MongoDB, PostgreSQL/TimescaleDB, Node.js, C#, Golang, Grafana, etc.).
  • MongoDB as the real-time core database, persistence layer, config store, SOE historian.
  • Event-based realtime async data processing with MongoDB Change Streams.
  • Portability and modular interoperability over Linux, Windows, Mac OSX, x86/64, ARM.
  • Windows installer available in the releases section.
  • Unlimited tags, servers, and users.
  • Horizontal scalability, from a single computer to big clusters (MongoDB-sharding), Docker containers, VMs, Kubernetes, cloud, or hybrid deployments.
  • Modular distributed architecture. Lightweight redundant data acquisition nodes can connect securely over TLS to the database server. E.g. a Raspberry PI can be a data acquisition node.
  • Extensibility of the core data model (MongoDB: NoSQL/schema-less).
  • HTML5 Web interface. UTF-8/I18N. Mobile access. Web-based configuration management.
  • Role-based access control (RBAC).
  • Various high-quality protocol drivers.
  • Integration with MQTT brokers (compatibility with Sparkplug B).
  • Live point configuration updates.
  • Inkscape-based SVG synoptic display editor.
  • PostgreSQL/TimescaleDB historian integrated with Grafana for easy creation of dashboards.
  • Easy development of custom applications with modern stacks like MEAN/MERN, etc. Extensive use of JSON from bottom up.
  • Leverage a huge ecosystem of MongoDB/PostgreSQL tools, community, services, etc.

Use cases

  • Power/Oil/Gas/Manufacturing/etc Local Station HMI.
  • SCADA Protocol Gateway.
  • SCADA Control Centers.
  • SCADA/IIoT Historian.
  • Intranet/Internet HTTPS Gateway - Visualization Server.
  • Multilevel Systems Integration (SCADA/IIoT/ERP/MES/PLC).
  • Global-Level/Cloud SCADA Systems Integration.
  • Edge processing.
  • Data concentrator for Big Data / ML processing.
  • Digital Transformation, Industry 4.0 enabler.

Architecture

architecture

Documentation

Protocols Roadmap

  • IEC 60870-5-104 Server TCP/TLS
  • IEC 60870-5-104 Client TCP/TLS
  • IEC 60870-5-101 Server (Serial, TCP)
  • IEC 60870-5-101 Client (Serial, TCP)
  • IEC 60870-5-103 Client
  • DNP3 Client (TCP, UDP, TLS, Serial) - Windows x64 only!
  • DNP3 Server (TCP, UDP, TLS, Serial)
  • MQTT/Sparkplug-B Client
  • I104M (adapter for some OSHMI drivers)
  • ICCP Client (via I104M)
  • Telegraf Client (OPC-UA, MQTT, MODBUS, SNMP, ...)
  • OPC UA Client
  • OPC UA Server
  • OPC UA Historical Data Server
  • OPC DA Client
  • Modbus Client
  • IEC 61850 MMS Client
  • IEC 61850 GOOSE Client
  • CIP Ethernet/IP (libplctag, experimental)
  • Siemens S7
  • BACNET

Features Roadmap

  • Web-based Viewers
  • Web-based Configuration Manager
  • Excel-based Configuration
  • User auth/Role-based Access Control (RBAC)
  • Inkscape-based SVG Synoptic Editor
  • Compiled Calculations Engine
  • Customizable Change-Stream Processor (for user implemented scripts)
  • Low-latency/Interpreted Calculations Engine
  • Basic Alarms Processor
  • Advanced Alarms Processor
  • PostgreSQL/TimescaleDB Historian
  • Grafana Integration
  • Grafana Alerting Integration (w/ Events Viewer)
  • Windows Installer
  • Online Demo
  • Docker Demo (docker-compose.yaml scripts)
  • Linux Image / VM
  • Supervisor (Linux process manager) examples
  • InfluxDB Integration
  • Telegraf Integration
  • Kafka Integration
  • PowerBI Integration (via PostgreSQL connector)
  • PowerBI Direct Integration
  • NodeRed Integration
  • Metabase Integration (via PostgreSQL/MongoDB connectors)
  • Alerta Integration (https://alerta.io/)
  • PLC4X Integration (https://plc4x.apache.org/)
  • Managed Cloud Service
  • SAGE (brazilian SCADA from CEPEL) web displays visualization

Online Demo (substations simulation)

This demo provides a public IEC 60870-5-104 server port on IP address 150.230.171.172:2404 (common address = 1) for testing.

The demo data is published as regular MQTT topics to the public broker mqtt://test.mosquitto.org:1883 (about 8600 topics in JsonScadaDemoVPS/# and ACME_Utility/#).

Data is also published as Sparkplug-B to mqtt://test.mosquitto.org:1883 (about 4300 device metrics in spBv1.0/Sparkplug B Devices/+/JSON-SCADA Server/#). Data/birth messages are compressed by Eclipse Tahu Javascript libs.

Developer Contact

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.