IoT Platform

ISRAR IoT Platform: industrial IoT and SCADA that connects every device on site and puts it on one live screen. Use the cloud version, or install it on your own server or device.

IoT Platform

Key features

  • Connects Modbus TCP/RTU, Siemens S7, OPC UA, BACnet, DNP3, IEC 60870-5-101/104, DLMS/COSEM, M-Bus, wireless M-Bus, PROFINET, PROFIBUS, EtherCAT, CAN and more
  • Devices can also post data over HTTP with a simple token
  • Hundreds of ready-made controls: tanks, pumps, valves, breakers, gauges, PV plant, transformers, trends, maps, meters and 3D models
  • Build live dashboards by dragging controls onto a page and binding them to tags, with no code
  • Alarms with severity, acknowledgement, actions and webhook notifications
  • History logging with trend charts and CSV export, plus Excel reports
  • Real-time updates on every open dashboard
  • Built-in AI assistant that builds screens, tags and alarms from a description
  • Roles for administrators, developers and operators, with separate companies, locations and projects
  • Cloud, on-premises (Windows or Linux, SQLite or MySQL) or locked-down edge runtime

Overview

The ISRAR IoT Platform is an industrial IoT and SCADA platform. It connects the devices on your site, records their data, and shows everything on live dashboards that you build by dragging controls onto a page. It raises alarms, keeps history and trends, and updates every open screen the moment a value changes.

It is built in Amman by ISRAR Engineering, and it runs in the cloud, on your own Windows or Linux server, or on a small field device.

Three places to run it

  • Cloud: sign up and connect your first gateway the same day. The fastest way to start.
  • On premises: your own Windows or Linux server, with a SQLite or MySQL database. Your data stays on your network, and you have full control.
  • Edge: a locked-down runtime for field boxes. It runs your pages, alarms and gateways offline, without the designer.

Connect your devices

Gateway drivers collect data from your equipment, and each driver has a simulator so you can prove the configuration on the bench instead of on a site visit.

Drivers include Modbus TCP/RTU (client and server), IEC 60870-5-101 and 104, DNP3, Siemens S7 and S5, OPC UA, BACnet IP and MS/TP, DLMS/COSEM, M-Bus and wireless M-Bus, PROFINET, PROFIBUS, EtherCAT, and CAN, CANopen and SAE J1939. Any device that can send an HTTP request can also post its data with a device token.

Data arrives as tags. A tag can be scaled from a raw range to an engineering range, so dashboards, logs and alarms all use the real value.

Build screens without writing code

Pick controls from the library, drag them onto a page, and bind each one to a tag. It is live as soon as it is bound. Input controls such as switches, setpoints and buttons write back to the device.

The library has hundreds of controls in categories such as SCADA symbols, tanks, valves and pipes, PV plant, energy, oil and gas, gauges, charts, maps, metering and 3D. You can add your own controls and functions, and attach a function to a button click, a timer or a value change.

The built-in AI assistant can do the work for you. Describe a screen, such as a tank card with a level, a high-level alarm at 90% and a button that opens the pump page, and it creates the card, the alarm and the link inside your project. It works with Claude, ChatGPT or a model you host yourself.

Monitor, log and get alerted

  • Live dashboards: every open screen updates the moment a value changes.
  • Alarms: set a condition, a threshold and a severity. Operators see active alarms and acknowledge them, and an alarm can run a function or call a webhook when it is raised or cleared.
  • History and trends: timed logging to history tables, with table, chart and CSV export, and live trend controls on any page.
  • Reports: Excel report templates for the data you log.
  • Operator view: a clean full-screen view for operators who only need to watch and acknowledge.

Companies, sites and people

The platform is organised as Platform, Company, Location, Project and Devices, so one installation can serve several customers and sites. Access is by role (super administrator, administrator, developer and viewer), limited to the platform, a company, a location or a single project.

Use the cloud version

Nothing to install. Open the cloud platform in any browser, sign up, and connect your first gateway.

The cloud version is hosted and updated by ISRAR, so you always run the current release.

Install the on-premises version

Run the platform on your own device or server, on a NanoPi, a Raspberry Pi or a Windows PC. One command installs it, and the same command later updates it. Before each update it backs up the database, and it goes back to the previous version by itself if the new one does not start.

Packages, release notes and checksums: https://fw.israr.app/ioplatform/

Linux (Debian, Ubuntu, Armbian, FriendlyCore)

Run this in a terminal on the device itself:

curl -fsSL https://fw.israr.app/ioplatform/install.sh | sudo bash

Later updates: sudo /opt/israr-iot/install.sh

  • Needs systemd, an ARM 32-bit, ARM 64-bit or x64 processor, internet access and a correct date and time. The .NET 8 runtime is installed for you.
  • Installs the israr-iot service, which starts with the device. The web page is on port 8080, or the next free port.
  • Data is in /var/lib/israr-iot and settings are in /etc/israr-iot.

Options go between sudo and bash, for example sudo PORT=80 bash:

OptionWhat it does
PORT=80Web port to use. Without it: 8080, or the next free port.
EXTRA_PORTS="502 2404"Also opens these ports in the firewall, for gateway servers.
FORCE=1Reinstalls even if the device already has the current release.
SERVICE_USER=israriotRuns as a restricted user instead of root. The machine pages can then only read.

Windows (10, 11, Server 2016 or newer)

Run this in PowerShell opened as Administrator:

[Net.ServicePointManager]::SecurityProtocol='Tls12'; irm https://fw.israr.app/ioplatform/install.ps1 | iex

Later updates: double-click C:\IsrarIot\update.cmd, or run the same line again.

  • Needs an x64 processor and internet access. IIS and the .NET 8 Hosting Bundle are installed only if missing.
  • Creates the IIS site and app pool IsrarIot, always running.
  • Data is in C:\IsrarIot\data and settings are in C:\IsrarIot\config.

Set options on their own line before the install line, in the same window:

OptionWhat it does
$IsrarPort = 80Web port to use. Without it: 8080, or the next free port.
$IsrarExtraPorts = 502,2404Also opens these ports in Windows Firewall.
$IsrarForce = $trueReinstalls even if the PC already has the current release.
$IsrarRestricted = $trueRuns under a restricted account instead of LocalSystem.

Manual setup from a downloaded package

Download a package from the downloads page and check its SHA-256 (sha256sum file.tar.gz on Linux, Get-FileHash file.zip on Windows) before you deploy it.

Linux: install the .NET 8 ASP.NET Core runtime, unpack the package, then start it in on-premises mode:

sudo mkdir -p /opt/israriot
sudo tar -xzf IsrarPlatform-<version>-linux-arm.tar.gz -C /opt/israriot
cd /opt/israriot
sudo find Controllers -path '*/linux-*/*' -type f -exec chmod 755 {} +
sudo Deployment__Mode=onPremises ASPNETCORE_URLS=http://0.0.0.0:8080 dotnet IsrarPlatform.Iot.dll

Open http://<device address>:8080/. To start it with the device, wrap the same command in a systemd service.

Windows: unpack the zip into a folder such as C:\IsrarIot\app and create appsettings.Production.json there:

{
  "Deployment": { "Mode": "onPremises" }
}

Quick start without IIS, in PowerShell as Administrator in that folder:

$env:ASPNETCORE_URLS = 'http://0.0.0.0:8080'
.\IsrarPlatform.Iot.exe

Under IIS: install the ASP.NET Core 8 Hosting Bundle after IIS, create a site pointing at the folder with the app pool set to No Managed Code, and give the app pool write access to the folder. If IIS answers HTTP 500.19, unlock the handlers and modules sections for the site.