Gateway Installation
On the gateway host only the HumanOS IoT Runtime is needed. The runtime can be installed with the installation program:
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 Systemv2.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):
-
Install the .net 6 Hosting Bundle from official Microsoft site (https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
-
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.
-
Run the installation program,
- The installation checks if an older version is installed. If so, it will be removed first.
- The installation files are put to
C:\Program Files (x86)\CyberTech\HumanOS.IoT.Runtimes
Multiple runtime releases can be installed in parallel, such as
2.2
and2.3
. The installation only removed older versions from the same release, e.g.2.3.1
will be removed when installing2.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.
-
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] -
Select the correct runtime, if you've installed multiple runtimes on your server.
-
Press
Enter
to register the serviceScan 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):
-
Install the .net 6 Runtime from Microsoft
Visit website for mode details: https://learn.microsoft.com/en-us/dotnet/core/install/linux
-
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
.
- 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 - Start the service and check the status
$ systemctl start humanos.iot.gateway.service
$ systemctl status humanos.iot.gateway.service - 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.