Edge Gateway

Installing on the device

Run the Edge Gateway Console: it shows the device code. Give it the activation bundle and it installs the Edge Runtime as a service and shows it running; from then on it is the gateway's console.

Product page →

Windows and Linux

Extract the installer zip on the device and run the console once with nothing else: it prints the device code. Enter that code on the design page and download the activation bundle, then give the bundle to the console: drag the zip onto the .exe, pass its path as the argument, or put it beside the program and run the console again. A bundle on the command line always means install, whether it is the first design, a new version of it, or a new licence; with no arguments the console installs the first time and is the console every time after.

Windows

  1. Open a terminal as administrator in the extracted folder.
  2. Run Edge-Gateway-Console.exe. Note the device code, get the bundle from the design page, and run it again with the bundle: Edge-Gateway-Console.exe pump-house-activation-1a2b3c4d.zip.
  3. The gateway is installed as a Windows service that starts with the machine and restarts after a crash.

Linux: Debian, Ubuntu, Raspberry Pi OS

sudo dpkg -i edge-gateway-console-linux-x64.deb      # or -arm64 on a Raspberry Pi
sudo edge-gateway-console                             # shows the device code
sudo edge-gateway-console pump-house-activation-1a2b3c4d.zip

The package puts the console and the runtime under /opt/modbuslogic/gateway/ and the console on the path. The gateway is installed as a systemd unit enabled at boot. On a machine without systemd or the Service Control Manager, --foreground runs the gateway as a child of the console instead.

WHAT THE FIRST RUN DOESDevice codeshown, entered on the siteBundlefor this device? this runtime?Opens itwith its own codeInstallsruntime · design · licenceServicevalidate · install · startLive viewuntil Ctrl-C

Step by step

  1. Shows this device's code and the runtime version the program carries.
  2. Reads the bundle's manifest: the design, its flow version, the licence and when it ends. A bundle issued for another device is refused with this device's code to use instead; a design that needs a newer runtime is refused with a request to download the current installer.
  3. Opens the sealed part with the device code. No request leaves the device.
  4. Installs the runtime binary (or finds the one the .deb already placed) and writes the design into the runtime's data directory, under designs/<design>/.
  5. Installs the licence, which the runtime verifies against its public key and this machine, and runs validate against the installed runtime.
  6. Installs and starts the service, waits for it to report running, and opens the web view at http://127.0.0.1:8787 in the device's browser. A device without a desktop gets the address printed instead.
  7. Shows the live view: devices up, values as they change, publishes, and the runtime log. Ctrl-C leaves the gateway running.

Every later run: the console

Run edge-gateway-console (or Edge-Gateway-Console.exe) again, from anywhere, and it is the console of the installed gateway:

  • Service: installed, running, and the design it runs.
  • Licence: edition, validity, when it ends, the design it is bound to.
  • Gateway: devices up or down with the last error, destinations connected or not with the last error, the counters.
  • What to check: every problem in plain words with what to do about it. A device that times out, a destination that refuses the credentials, a port already taken, a licence about to end, publishing stopped: each names the cause and the next step.
  • Web view: the gateway's own pages (devices, destinations, monitor, logs, alarms, deploy), opened in the browser when the device has one.
  • Live log: values, publishes and log lines until Ctrl-C.
The console's commands
edge-gateway-console            # the console, all of the above
edge-gateway-console status     # the same, without the live log
edge-gateway-console logs       # the live log only
edge-gateway-console open       # the web view in a browser (or its address)
edge-gateway-console remote enable | disable | status
edge-gateway-console uninstall  # stop and remove the service; data and licence stay
edge-gateway-console inspect    # the device code, the runtime carried, the bundle beside the program

A device without a desktop

On a Raspberry Pi or an industrial PC with no desktop, everything the web view shows is in the console's own output, and the web view's address is printed rather than opened. To open the web view from another computer, run sudo edge-gateway-console remote enable: it asks for an account name and password, makes a certificate for this device, and re-installs the service to listen on the network over HTTPS. It then prints the address, https://<device-ip>:8787/. The browser warns once about the certificate, which is the device's own; sign in with the account. remote disable returns the web view to the device only. The runtime refuses remote access without both the certificate and an account, so there is no unauthenticated path onto the network.

The Windows console is not yet code-signed, so SmartScreen warns on first run. Choose More info, then Run anyway. The Linux packages are unsigned as well.
Installing on the device · Edge Gateway documentation | Modbus Logic