UniteLabs
Connect a device

With an executable

Run a connector as a standalone executable and choose which command it starts with.

Connectors are distributed as self-contained executables that bundle their own Python runtime, so you can run one on any machine without installing GroundControl or Python. This page covers how to start the executable and the commands you can run through it.

For a complete production setup, placing the binary, generating a config, and registering it as a systemd service, follow the Headless install guide.

Pick the right executable

Executables are built per device and per platform, following the naming scheme unitelabs-<device-name>-<platform>-<version>:

Platform<platform>Example
Windows (x86_64)x86_64-pc-windows-msvcunitelabs-microlab-star-x86_64-pc-windows-msvc-0.5.0.exe
Linux (x86_64)x86_64-unknown-linux-gnuunitelabs-microlab-star-x86_64-unknown-linux-gnu-0.5.0
Linux (ARM64, e.g. Raspberry Pi)aarch64-unknown-linux-gnuunitelabs-microlab-star-aarch64-unknown-linux-gnu-0.5.0
macOS (Apple Silicon)aarch64-apple-darwinunitelabs-microlab-star-aarch64-apple-darwin-0.5.0
On Windows, every command run through --start-cmd additionally requires the --app option pointing at the connector's app factory, e.g. --start-cmd "config create --app unitelabs.<device_name>:create_app". Note that <device_name> uses underscores here, e.g. unitelabs.microlab_star:create_app for the Microlab STAR.

Start the connector

Run the executable directly to start the connector with its default configuration (config.json in the current directory):

# Make the file executable once after downloading
chmod +x unitelabs-<device-name>-<platform>-<version>

./unitelabs-<device-name>-<platform>-<version>

The connector reads config.json from the working directory. To generate one first, or to point at a different file, use the start commands below.

Choose a start command

By default the executable runs connector start. The --start-cmd flag lets you run any of the connector's CLI commands through the same binary. For example automatically generating a config.json, inspecting the config documentation or starting the connector.

# Generate a default config.json in the current folder
./unitelabs-<device-name>-<platform>-<version> --start-cmd "config create"

# Show the resolved configuration
./unitelabs-<device-name>-<platform>-<version> --start-cmd "config show"

# Start the connector explicitly (the default)
./unitelabs-<device-name>-<platform>-<version> --start-cmd "connector start"

These are the same connector and config commands you would run from source (see From source) for what each command does and how to configure logging, the SiLA server, and the cloud connection.

You may also see --start-cmd "connector start -vvv" in older guides. The -v/--verbose flag is deprecated and will be removed in a future version. Configure the log level through the logging section of your config instead (see Logging).

Use the connector

With your connector running, you can interact with your instrument in three ways:

  • GroundControl — read values, trigger actions, and monitor activity directly from the edge app.
  • UniteLabs Platform — view, inspect, and operate the connector from the Platform UI, and add it to workflows.
  • SDK & REST API — control the connector programmatically: discover services, explore modules and actions, and subscribe to live data.