Oil & gas field equipment / SCADA platform extension

IoT web application and gateway provisioning for remote SCADA unitsBrownfield platform extension: web, gateway software, cloud and DevOps

Extending a SCADA product with cloud monitoring and gateway updates

VikingSCADA provides a SCADA application that gives operators in the oil, water and gas sectors field data, reports and alerts. The product already had a desktop application, RF SCADA sensor boards and hardware units installed at end users' sites. The vendor wanted a web application that could collect and store data from those field devices and present it to its customers.

Add an IoT web application to the existing SCADA system: receive sensor data from field units through cellular gateways, store it in the cloud, let users build dashboards and see node status, and replace a complicated firmware installation and configuration routine with a simpler provisioning and update path.

VikingSCADA web portal on a laptop showing a 'Waiting for approval' list of users with company names, dates and approval status.
VikingSCADA web portal: the administrator view for approving users across companies, with company, manager and viewer sections.
Product
IoT web application and gateway provisioning for remote SCADA units
Buyer
SCADA and industrial-monitoring vendors adding cloud and web access to an existing product
Engagement
Brownfield platform extension: web, gateway software, cloud and DevOps
Indeema scope
Discovery and specification, Gateway configuration and provisioning, Web application, Update pipeline and operations

The product need

What had to become possible

Add an IoT web application to the existing SCADA system: receive sensor data from field units through cellular gateways, store it in the cloud, let users build dashboards and see node status, and replace a complicated firmware installation and configuration routine with a simpler provisioning and update path.

Ownership, made clear

Where the work started and what Indeema owned

Starting system

Desktop SCADA application

VikingSCADA already had a desktop application, which the team analysed before proposing the web product.

Field hardware

Hardware units and RF SCADA sensor boards were already installed at end users' oil, water and gas sites.

Platform direction

The client supplied a preliminary vision of the upgraded architecture, initial web-app requirements, end-user requirement documents and access to its IoT platform accounts.

Indeema owned

Discovery and specification

Review the available hardware, the web processing requirements and cloud pricing models on AWS and Azure; analyse the desktop app and propose a step-by-step guide for adding users and devices; produce the project structure and release plan.

Gateway configuration and provisioning

Write the provisioning scripts: Lua on LTE gateways in the first phase and Python on industrial PCs in the second, with automated first-boot provisioning that gives each device unique credentials and settings.

Web application

Redesign and build the web portal: user-built sensor dashboards, sensor widgets, real-time node status and device-update notices.

Update pipeline and operations

Package the gateway software in Docker, reduce the image size, and set up an automated pipeline that publishes new images to cloud storage for update from the web interface. Maintain the application with patches, monitoring and backups.

Worked with

Cellular gateway API

The web application receives sensor data from VikingSCADA PLC devices through the API of the RV50 cellular gateway.

Industrial PC nodes

Firefly EC-A3399C industrial PCs act as field nodes in the second phase and receive software image updates launched from the portal.

Cloud data store

Incoming sensor data is stored in a cloud database that feeds the dashboards.

Product constraints

What made the engineering difficult

  1. 01

    Fit a web product to installed equipment

    The new application had to work with hardware units and RF sensor boards already deployed in the field, not with a clean-sheet device design.

  2. 02

    Make provisioning simple without weakening it

    Before the project, firmware installation and configuration was complicated and slow. Each new device still needed its own credentials and settings.

  3. 03

    Ship gateway updates continuously

    The gateway software image had to be small enough for continuous delivery to remote devices in the field.

  4. 04

    Test hardware and software together

    Communication between the field hardware and the web software was a delivery risk that remote testing alone would not catch.

Engineering judgement

Decisions that shaped the product

Phase the gateway layer

Start with Lua scripts on LTE gateways, then move to Python on industrial PCs in a second phase.

Provision on first boot

An automated provisioning step assigns unique credentials and settings when a device first starts, replacing manual per-device setup.

Containerise the gateway software

Docker gives the gateway software the same runtime on every device; the build drops unneeded dependencies and files and compresses assets to shrink the image.

Keep a hardware bench in the office

An on-site test environment with multiple node devices let the web and embedded engineers debug hardware-software communication together.

Product system

How the product moves from signal to user

  1. 01

    RF SCADA boards and PLCs

    VikingSCADA field hardware measures equipment at oil, water and gas sites.

  2. 02

    Cellular gateway / industrial PC

    Lua scripts on LTE gateways, later Python on industrial PCs, collect and forward the sensor data.

  3. 03

    Cloud API and database

    The web application receives data through the gateway API and stores it in a cloud database.

  4. 04

    Web portal

    Users build sensor dashboards, follow node status and see available device updates.

  5. 05

    Update pipeline

    New Docker-packaged gateway images are published to cloud storage and launched on selected nodes from the portal.

Delivered product capability

What the product can do

  1. 01

    Sensor dashboards

    Users create dashboards that visualise the sensors on their hardware and monitor them through the web.

  2. 02

    Real-time node status

    The portal shows the live status of field nodes alongside sensor widgets.

  3. 03

    Remote software updates

    Users are told when a device update is available and can launch an over-the-air update on a selected node from the web interface.

  4. 04

    Unified provisioning tool

    Firmware installation, configuration and network connection for field devices run through one tool.

Product change

What changed for the product team

VikingSCADA moved from a desktop application with a basic web portal and a manual device set-up routine to a redesigned web portal with sensor widgets, real-time node status and remote software updates for its field gateways and industrial PCs.

For a vendor whose equipment is already in the field, the case shows how to add cloud data, web dashboards and a supervised update path without replacing the installed hardware, and how to phase the gateway layer as the product moves to new node hardware.

  • Field devices are provisioned, configured and connected through one tool instead of a manual installation routine.
  • Operators can view sensor data and node status in the web portal and launch software updates on selected nodes remotely.

Product evidence

A closer look at the product

Illustration of a storage tank with a cellular gateway and an industrial controller, connected through a cloud to the VikingSCADA web portal on a laptop.
System context: field hardware at a storage tank sends data through the cloud to the VikingSCADA web portal.

Technology, in context

JavaScript · React · RxJS · Node.js · MongoDB · Mongoose · Redis · Strapi · Lua · Python · Docker · GitLab CI · RV50 cellular gateway · Firefly EC-A3399C industrial PC

A comparable product problem?

VikingSCADA field monitoring web app

Bring the product context, the system that already exists and the engineering decision you need to make.

Discuss a comparable challenge