Web-based SCADA interfaces require more different approach, than regular web sites.
Why web SCADA?
Cons: web interfaces are unstable. Sometimes seriously unstable.
In this article we will give some tips about it, no matter which web interface is built for EVA ICS or any other IoT/IIoT platform.
EVA ICS version 3 has become the most successful industrial IoT product of our company. It already has dozens of setups we support directly and I hope even more setups we don’t.
But the version 3 has a problem: because of the rapid numbers of customers and features growth, it’s internal architecture was changed several times almost from scratch, lots of stuff already became obsolete and too complicated for beginners.
Here are the plans for the EVA ICS codename “nextgen” (next generation):
Installing EVA ICS on a production machine without the Internet connection is tricky is pretty easy, but Python virtual environment should be manually prepared. Another option is to mirror pypi.org repository, but it requires about 120GB of disk space and isn’t recommended, unless used for another company needs.
In this article we will explain how to install EVA ICS on Debian / Ubuntu machine in the offline mode.
When we started development of EVA ICS, asynchronous programming just started to be popular. EVA ICS 3 core is thread-based. It works pretty well, doesn’t produce too much memory/CPU load, but it can work even better.
Let me introduce atasker library. This is free, open source Python library, which will solve many problems as in EVA ICS core, as in any other similar project.
New Driver API v5 in EVA ICS 3.2.2 brings important improvement: now Physical Interface modules can support extended unit state (status + value). To test and demonstrate this feature, we’ve made PHIs for 2 popular LED controllers: Philips HUE and Nanoleaf. Everyone likes playing with LEDs, even industrial guys )
In IoT “S” stands for security (c) one smart guy in Twitter
Weak security is a major problem of almost all modern IoT and IIoT/Industry 4.0 solutions. There’s usually nothing wrong when equipment state or shadow state is available for nodes in your configuration, as one of Industry 4.0 design principles is “Information transparency”.
However things change when we start talking about control. Allowing nodes to control each other and send action API calls is dangerous: if attacker get an access to information exchange point, he can destroy your business or even your life.
This article describes, how to install EVA ICS on Ubuntu or Debian. Actually it duplicates the information from EVA ICS installation docs, however is focused on Ubuntu with local mosquitto MQTT server, has minimal description and contains all required commands which could be just copy/pasted in console shell.
So let’s consider you have fresh Ubuntu install (I’ve used 18.04 LTS). What should be done, before we can launch EVA ICS easy-setup:
Install required OS packages
Configure local mosquitto MQTT server
Configure EVA ICS venv to skip building “heavy” numpy/pandas modules (we’ll use them from OS repository)