A new open-source SCADA/IoT system

In this article, I will try to put in words the rationale for creating a brand new open-source SCADA/IoT system.

After more than ten years of experience developing and using the OSHMI open-source HMI system, I realized that it is too difficult to maintain and expand. The in-memory real-time core is monolithic, difficult to understand. Any change can affect multiple things. OSHMI is just HMI software, it is not a full SCADA system. To expand its capabilities to support more advanced functionality would be too difficult.

It is also quite clear nowadays that traditional SCADA systems cannot deal well with the new requirements of Industry 4.0, IIoT, Big Data, IA/ML, cloud, cybersecurity, etc. When I say traditional, I mean traditional architecture and a traditional commercial business model. Many software packages are provided by big companies that just do not have the necessary agility and courage to abandon old software and start from scratch. Other smaller providers can do a better job, but the commercial model is too restrictive. Commercial software is not modifiable, is not transparent, is not agile enough. Even political motives can be a hindrance in some countries for closed source software packages.

Hopefully, there are some promising options in the open-source SCADA/IoT ecosystem, like SCADA-LTS and EdgeX Foundry.

However, open-source standalone tools like PostgreSQL/TimescaleDB, Grafana, MongoDB, Nginx, InfluxDB, and protocol stacks like OpenDNP3, lib60870, lib6150 are of such high quality that it is difficult to match for any proprietary software tool. Why not take advantage of this?

I think an adequate approach can be to create a new system by combining the best available open-source tools, not reinventing the wheel. Just use the right tool for each job.

A new innovative architecture was designed, using MongoDB as the real-time database and persistence layer. This decision has simplified the development by an order of magnitude. It allows for effortless portability, high availability, and horizontal scalability. It also brings powerful capabilities and tools, integration with many programming languages, and a healthy community for support.

With this strategy, in less than one year, it was possible to develop a new system from scratch. JSON-SCADA was already deployed successfully for local substation HMI. For control centers, it requires some more work, but it is to be put on production in just a few months.

The foundations of JSON-SCADA are strong and future-proof. The system should grow fast from now on in terms of capabilities and the completion of its protocol suite.

If you think this is meaningful, please check the project repository here

https://github.com/riclolsen/json-scada

Contributions are always welcome in any form, like help with translation, testing, coding, feature ideas, etc.


Copyright © 2020 Ricardo L. Olsen. All rights reserved.

https://www.linkedin.com/in/ricardo-olsen/

#SCADA #IOT #IIOT #OPENSOURCE #HMI #MONGODB

12 thoughts on “A new open-source SCADA/IoT system

    1. Yes, Rodriguez, it is usable now with protocols like IEC60870-5-104/101 and DNP3. There is a Windows installer. Part of the configuration must be created manually on MongoDB, however. The configuration manager user interface is currently under development. But the manual configuration is not that difficult, just a matter of customizing database insert instructions for your point lists.

      1. Ricardo, With the Windows installer, I have to follow all the steps that you explain in Github installing the third software first or all are in the installer_?
        Thank

  1. Saludos sr Ricardo reciba un gran saludo hace poco me tope con su blog y estoy impresionado con el desarrollo de su sistema estoy leyendo toda la información relacionada a su trabajo para ir entendiendolo gracias.! Yo he venido utilizando scadabr y scada lts para implementar hmi utilizando el protocolo dnp3 y Modbus tomando la información de equipos ied que se encuentran en la sub estación donde realizó pasantías universitarias. Con su sistema voy a realizar un hmi utilizando el iec 104 ya que los anteriores que nombró no tienen este protocolo. Todo el material que UD ha puesto a disposición tal como detalles de los protocolos código de puntos de supervisión son muy importantes para mi crecimiento profesional en esta área de vanguardia dios lo cuide!!

    1. Saludos Federico.
      I hope JSON-SCADA can be useful to you. Now, IEC61850 client was added to JSON-SCADA and OSHMI, this is also an important protocol for modern substations.
      Good luck with your project, if you need any help just contact me.
      Best regards,
      Ricardo

  2. Saludos le agradezco mucho por la respuesta estare probando estas versiones y cualquier cosa le consulto mil gracias!!

  3. Saludos sr Ricardo le comento que he instalado con éxito el OSHMI en un laptop y lo estoy corriendo para aprender su funcionamiento además estudiando los archivos .ini en la carpeta conf… muy pronto voy a utilizar el qtester para hacer una GI en la RTU dónde estoy realizando mis pasantías y con esta información poder modificar la lista de puntos del OSHMI le quería preguntar si hay alguna restricción de instalar el Jsonscada en la misma laptop donde está instalado el OSHMI?? Podría ejecutar un software a la vez? Gracias de antemano

    1. Hi Federico.
      You can install both in the same machine.
      With the default config you will have TCP port open conflict, so do not run them simultaneously. To run both it is necessary to change nginx config to a distinct HTTP port on each system.

  4. Saludos sr Ricardo eso pensé que iba a crearse un conflicto mejor voy a aprovechar el OSHMI ya que en la laptop que uso funciona bien. aprenderé a editar los archivos template svg para adaptarlos un poco a los unifilar es de la subestación me permitieron por ahora crear unas vistas para visualizar mediciones y estatus le agradezco mucho !!

Leave a comment