Skip to content

A Python connector for the SICK Tag-LOC RTLS into InOrbit.

License

Notifications You must be signed in to change notification settings

inorbit-ai/sick-tag-loc-connector

Repository files navigation

SICK Tag LOC InOrbit Connector

SICK Tag LOC RTLS InOrbit Connector

OS Python 3.10 Python 3.11 Python 3.12
Linux TeamCity TeamCity TeamCity
MacOS TeamCity TeamCity TeamCity
Windows TeamCity TeamCity TeamCity
Qodana TeamCity

Overview

A Python connector for SICK Tag-LOC into InOrbit. Built on top of the inorbit-connector-python package, it provides a way to integrate the SICK's Tag-LOC system with InOrbit for real time location tracking.

Features

Running one instance of the Connector per SICK Tag-LOC system unlocks the following key features:

  • Real-time location tracking of multiple SICK Tags.
  • Integration with InOrbit's heterogeneous fleet and traffic management features.
  • Customizable configurations footprints for tracked tags.
  • All of the features provided by the InOrbit platform.

Requirements

Setup

Installation from source

Clone the repository and install the dependencies:

virtualenv .venv
. .venv/bin/activate
pip install -e .

Configure the Connector

  • Copy config/example.yaml and modify the settings to match your setup. Each configurable parameter is documented in the file itself.

  • Copy config/example.env to config/.env and set the environment variables following the instructions in the same file. You can get the INORBIT_API_KEY for your account from InOrbit's Developer Console.

Deployment

Run the Connector manually

Once all dependencies are installed and the configuration is complete, the Connector can be run with the sick-tag-loc-connector command (run with --help for details).

# Add the environment variables, activate the virtual environment and run the Connector
export $(grep -v '^#' config/.env | xargs) && \
source .venv/bin/activate && \
sick-tag-loc-connector -c config/example.yaml

A script was provided to help run the Connector.

❯ ./scripts/start.sh
Usage: ./scripts/start.sh <config_basename> [<args>]
Example: `./scripts/start.sh local -v` runs the Connector with the 'config/local.yaml' configuration and the flag '-v'

  The script will start the InOrbit SICK Tag-LOC RTLS Connector with the specified YAML configuration from the config directory. Extra arguments will be passed to the Connector.
  The Connector will be run in a virtual environment located in the '/home/tomas/InOrbit/sick-tag-loc-connector/.venv' directory.
  If '/home/tomas/InOrbit/sick-tag-loc-connector/config/.env' exists, its variables will be exported. It is a good place to set environment variables like `INORBIT_API_KEY`.
  Available configurations:
example

Run the Connector as a service

To run the Connector as a service, you can use the provided systemd service file. It can be installed by running scripts/install_service.sh.

Example: create a service named sick-tag-loc-connector@my_config.service that runs the Connector with the config/my_config.yaml configuration.

./scripts/install_service.sh my_config

The service can be enabled at boot and started with

sudo systemctl enable sick-tag-loc-connector@my_config.service
sudo systemctl start sick-tag-loc-connector@my_config.service

Run ./scripts/install_service.sh with no arguments for more information.

Next steps

Once your SICK Tag-LOC system is InOrbit connected, visit the developer documentation for an overview of the available utilities that unlock the full potential of the InOrbit platform. Please note that the features available on your account will depend on your InOrbit Edition. Don't hesitate to contact [email protected] for more information.

Contributing

If you'd like to contribute, please see CONTRIBUTING.md for more information!

Powered by InOrbit

About

A Python connector for the SICK Tag-LOC RTLS into InOrbit.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published