The first step when installing a local edge Node is to register the Node in Crosser Cloud to get the credentials. This is covered in the In Crosser Cloud section below.
There are two options for installing a Crosser Node on a local server: using a Docker Linux container (recommended for Linux systems) or as a Windows service (recommended for Windows systems). Follow the steps in either Installing a local Crosser Node using Docker or Installing a local edge Node as a Windows service below, depending on your choice of platform.
You have 2 options when registering a new Node:
Register a single Node (can be used only once)
Register a global key to be used within your organization for a limited time
To register a single Node:
Navigate to ‘Nodes’ in the menu and select the tab ‘Register Nodes’
Enter a name for your Node and click ‘Add’
The Node is now added and by clicking ‘Show Credentials’ you can get the Id and Access Key for the Node. Keep them for later use.
This can only be done by the organization administrator. To define a global key:
Navigate to ‘Organization’ in the User menu select the menu item ‘Registration Keys’
Define a date interval the key is valid for and click ‘Generate Key’
The key is now generated and by clicking ‘Show Registration Key’ you can get the key. Keep it for later use.
You have a platform that supports the minimum requirements:
Docker is installed
Docker Compose is installed
Open a terminal and enter:
[sudo] docker login https://docker.crosser.io
When prompted, enter the username and password which you find in the ‘Docker Credentials’ section on the ‘Register Node’ tab on the Nodes page (you have to enable ‘Advanced Settings’ to see this).
To be able to use docker-compose you need a configuration file. Download the file docker-compose.yml into a local folder, or copy the content below into your own docker-compose.yml
version: '3.5'
services:
edgenode:
image: docker.crosser.io/crosser/edgenode:latest
container_name: crosser-edgeNode
restart: always
environment:
- SecurityConfiguration__Credentials__NodeId=ENTER-YOUR-NODEID-HERE
- SecurityConfiguration__Credentials__AccessKey=ENTER-YOUR-ACCESS-KEY-HERE
ports:
- 9090:9090
- 9191:9191
- 1883:1883
volumes:
- "./data:/application/data"
logging:
driver: json-file
options:
max-size: "50m"
max-file: "2"
Replace ENTER-YOUR-NODEID-HERE and ENTER-YOUR-ACCESS-KEY-HERE in your docker-compose.yml file with the values you got when registering the Node above.
In the docker-compose.yml file replace these two lines:
- SecurityConfiguration__Credentials__NodeId=ENTER-YOUR-NODEID-HERE
- SecurityConfiguration__Credentials__AccessKey=ENTER-YOUR-ACCESS-KEY-HERE
with these lines:
- SecurityConfiguration__Registration__Key=ENTER-YOUR-GLOBAL-KEY-HERE
- SecurityConfiguration__Registration__Name=UNIQUE-NAME-HERE
Then replace ENTER-YOUR-GLOBAL-KEY-HERE with the global registration key you, or your administrator, generated and replace UNIQUE-NAME-HERE with the name you want to give the Node (only alphanumeric characters and underscore are allowed in Node names).
If the Crosser Node is running behind a proxy you need to add configurations in the environment section, just like you did with the credentials above.
https_proxy=user:pw@192.168.102.10:1180
In analogy with this, http_proxy is set by:
http_proxy=user:pw@192.168.102.10:1180
See the Environment Settings page for more proxy settings.
httpsProxy=192.168.102.10
In analogy with this, httpProxy is set by:
httpProxy=192.168.102.10
Run this command from the folder where you created the docker-compose.yml.
[sudo] docker-compose up -d
The Node will be downloaded from the docker registry and started.
If no errors were reported your Node is now up and running and connected to Crosser Cloud (check that you have a green checkmark next to the Node on the Nodes or Dashboard pages).
Next, start to build and deploy some flows on your new Node.
Good luck!
You have a platform that supports the minimum requirements.
Download the Windows installer from the Nodes page, on the Register Nodes tab. On this tab enable Advanced settings to open up the list with downloadable files. Download the file for the version you want to install and unzip it in a directory on your local host server. This directory will be used to store configuration data used by the Node, so make sure to select a directory that is persistent, i.e. not a temp directory that might be cleaned by some background process.
Note that you need Nodes:Create permission to access the Register Nodes tab.
Note: The installer is implemented as a PowerShell script, therefore scripting must be enabled in PowerShell for scripts downloaded from the Internet. You can check your current execution policy with:
Get-ExecutionPolicy
Make sure it’s one of UnRestricted or Bypass, if not use the following command to change it:
Set-ExecutionPolicy -Scope Process UnRestricted
To install the Node, open a PowerShell window as Administrator, in the directory where you stored the installer. Then run:
.\InstallWindowsService.ps1
You will be asked to provide the Id and Access Key credentials you obtained when registering the Node in Crosser Cloud. Note that only single Node credentials can be used with the Windows service installer. Contact support@crosser.io if you want to use global registration keys with a Windows service installation.
At the end of the installation you will be asked to type run to start the service. If you don’t do this the service will just be installed and you will then have to open the Services app to start the service.
If your server sits behind a proxy and the proxy configuration is not managed by Windows you need to set an environment variable to tell the Node how to reach the proxy. Choose one of the two options below, depending on if your proxy uses HTTP or HTTPS. You need to set this before starting the Crosser service:
In PowerShell:
$env:http_proxy = 'user:pw@192.168.102.10:1180'
$env:https_proxy = 'user:pw@192.168.102.10:1180'
See the Environment Settings page for more proxy settings.
In PowerShell:
$env:httpProxy = 'user:pw@192.168.102.10:1180'
$env:httpsProxy = 'user:pw@192.168.102.10:1180'
If you want to use the Python Bridge module, Python 3.x must be installed on your machine. In addition you need to configure the path to the Python interpreter in the appsettings.json file, which can be found in the Host\data folder in the same directory where you installed the Node. In the ExternalPrograms section modify the path to your Python executable.
If you are not sure about the path to your executable, you can use the following command from your Windows Command Line or Powershell:
PS C:\Users\myuser> python -c 'import os, sys; print(os.path.dirname(sys.executable))'
C:\Program Files\Python311
Your appsettings.json file should then look something like this:
{
"EdgeNodeConfiguration": {
"SERVER_CONFIGURATION_VERSION": 2.9,
"LogLevel": "Information",
"ExternalPrograms": {
"Python3": "C:/Program Files/Python311/python.exe"
}
}
}
Alternatively you can add the path to the Python executable as a an environment variable:
$env:python3Path = 'C:/Program Files/Python311/python.exe'
You also need to install the Paho MQTT library into your Python setup, e.g:
pip install paho-mqtt==1.6.1
or
conda install -c sci-bots paho-mqtt==1.6.1
If no errors were reported your Node is now up and running and connected to Crosser Cloud (check that you have a green checkmark next to the Node on the Nodes or Dashboard pages).
Next, start to build and deploy some flows on your new Node.
Good luck!
The Crosser Node is available on the Azure IoT Edge marketplace and can be installed like any other module, search for Crosser and you should find CrosserIoTEdgeStreamingAnalytics.
You have a running IoT Edge device
You have to add the Node credentials (see In Crosser Cloud above) to the module configuration. The Id and Access key are added as environment variables and you just need to copy the values you got from Crosser Cloud into these environment variables.
The Docker image on the IoT Edge marketplace may not be the latest version. If you want to use the latest version you have to add the Crosser Docker repository to the list of repositories available for your IoT Edge device. You can do this on the Set Modules page, under Container Registry Credentials, in the Azure portal. See Installing a local Crosser Node using Docker above for information on the Crosser repository.
After adding the repository you need to change the Image URI reference in your deployment configuration. Replace the current Image URI for the CrosserIoTEdgeStreamingAnalytics module to:
docker.crosser.io/crosser/edgeNode:latest
This is all you need to do. Once you update the IoT Edge configuration the device will download the latest Crosser container from our repository and start the Node, which then registers with Crosser Cloud. To confirm successful installation the status for your Node will change to Online (green checkmark) on the Nodes and Dashboard pages in Crosser Cloud.