Skip to content

logictitans/json-scada-platform

Repository files navigation

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

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published