Skip to main content
Version: 2.8

Gateway Installation

On the gateway host only the HumanOS IoT Runtime is needed. The runtime can be installed with the installation program:

NOTE

It's recommended to install .net and HumanOS IoT Runtime directly on your Gateway Host. For each gateway deployment, a separate gateway instance can then be run independently.

The naming gives information about the runtime edition:

  • Example: HumanOS.IoT.Runtime-win.x64-v2.0.0-009.exe
    • win.x64 = Operation System
    • v2.0.0 = HumanOS version (Major, Minor and Release)
    • 009 = Build number

Windows Server

Following steps are needed to prepare a windows based server (or IPC):

  1. Install the .net 6 Hosting Bundle from official Microsoft site (https://dotnet.microsoft.com/en-us/download/dotnet/6.0)

  2. Download HumanOS IoT Runtime from CyberTech Website (Trial), [https://www.cybertech.swiss/index.php/en/downloads] or get the latest productive version from the customer share.

  3. Run the installation program,

    1. The installation checks if an older version is installed. If so, it will be removed first.
    2. The installation files are put to C:\Program Files (x86)\CyberTech\HumanOS.IoT.Runtimes
NOTE

Multiple runtime releases can be installed in parallel, such as 2.2 and 2.3. The installation only removed older versions from the same release, e.g. 2.3.1 will be removed when installing 2.3.4.

Once the server is ready, copy the gateway configuration from the deployment folder to your server, e.g. to C:\ProgramData\CyberTech\HumanOS.IoT.Gateway\.

First setup of gateway requires to run the windows service registration.

  1. Call the script RegisterService.ps1

    Make sure, you run the script with local administration permissions. To execute powershell scripts, check the execution policy with Get-ExecutionPolicy. [https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies]

  2. Select the correct runtime, if you've installed multiple runtimes on your server.

    Select Runtime

  3. Press Enter to register the service

    Scan HumanOS runtimes...

    Service Name = 'HumanOS.IoT.Gateway'
    Selected Runtime = 'HumanOS.IoT.Runtime win-x86'
    Service executable = 'C:\Program Files (x86)\CyberTech\HumanOS.IoT.Runtimes\HumanOS.IoT.Runtime-win.x86-v2.3\HumanOS.IoT.Gateway.exe'
    AppSettingsDir = 'C:\ProgramData\CyberTech\HumanOS.IoT.Gateway'

    Press Enter to register service...

    Note: To change name and description of the windows service, go to the target page in designer and click on the tab Windows Service.

Service Controller

Depending on the application, it can make sense to control or monitor the service specifically by the user. The HumanOS.SAL.ServiceController application can be used for this purpose.

This taskbar application allows simple control and monitoring of the HumanOS service via the Windows user interface. Further information can be found in the manual of the HumanOS.SAL.ServiceController application.

Linux Server

Following steps are needed to prepare a linux based server (or RaspberryPI):

  1. Install the .net 6 Runtime from Microsoft

    Visit website for mode details: https://learn.microsoft.com/en-us/dotnet/core/install/linux

  2. Copy productive HumanOS Runtime binaries for linux to your server, e.g. /usr/bin/gateway/.

Once the server is ready, copy the gateway configuration from the deployment folder to your server, e.g. to /etc/HumanOS.IoT.Gateway/.

First setup of gateway requires to edit and run the linux service registration script humanos.iot.gateway.service.

  1. Add the correct path to the script
    [Unit]
    Description=HumanOS.IoT.Gateway
    Documentation=https://www.cybertech.swiss/

    [Service]
    Type=simple
    User=root
    Group=root
    TimeoutStartSec=0
    Restart=on-failure
    RestartSec=30s
    #ExecStartPre=
    ExecStart=/usr/bin/gateway/HumanOS.IoT.Gateway -AppSettingsDir="/etc/HumanOS.IoT.Gateway/"
    SyslogIdentifier=Diskutilization
    #ExecStop=

    [Install]
    WantedBy=multi-user.target
  2. Start the service and check the status
    $ systemctl start humanos.iot.gateway.service
    $ systemctl status humanos.iot.gateway.service
  3. Enable the service at system boot
    $ systemctl enable humanos.iot.gateway.service

Update Gateway

If you keep gateway binaries and configuration in separate locations (as proposed), updating runtime binaries does not influence the configuration and vis versa.

Note: When updating the configuration, stop the service first.