LEAPSゲートウェイ

LEAPSゲートウェイはUWBとTCP/IPネットワーク間のブリッジとして機能します。


主な機能

  • LEAPSゲートウェイは、一方では LEAPS UWBS と汎用 LEAPS API、SPI、または USB 経由で通信し、他方では LEAPS サーバーと TCP/IP 経由で通信します。

  • LEAPS UWB ネットワークプロファイルに応じて、アンカーとタグのアップリンクおよびダウンリンクの位置情報とテレメトリデータを MQTT ブローカーとの間で転送するための媒体を提供します。

  • UWBS との相互接続は、専用の LEAPSゲートウェイ組み込みデバイス上の SPI 経由で行われます。UDKデバイスの場合のように、LEAPS UWBSとの相互接続がUSB経由で行われる場合、LEAPSゲートウェイはLinuxプラットフォーム上でデーモンサービスとして動作します。


インストール

システム要件

Dockerのシステム要件はOSによって異なります。

  • For Linux, you need a 64-bit architecture, a compatible kernel version, and specific kernel features.

  • On Windows, use Docker Desktop on Windows 10 with virtualization enabled.

  • macOSの場合は、macOS 10.13以降のDocker Desktopを使用してください。ハードウェアに関しては、最低2GBのRAMと十分なCPUとディスク容量を推奨します。

注釈

最新の詳細については Docker 公式ドキュメントを参照してください。


使用方法

  1. PCにDockerをインストールする

LinuxにDocker Desktopをインストールする

さらに、以下のコマンドを参考にしてインストールすることもできる:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
sudo usermod -aG docker $USER
  1. leaps_gateway_hub フォルダと data サブフォルダを作成します。そして、leaps_gateway_hub/dataleaps-gateway.conf 設定ファイルを追加します。

#######################################################################
# LEAPS Gateway settings
#

# -----------------------------------------------------------------
# Logging
# -----------------------------------------------------------------
log_level = 0 #  Logging level, default is 0 (0=none, 1=fatal, 2=error, 3=warning, 4=info, 5=debug, 6=verbose)

# Path to log file. Comment out to disable logging to file (log to stdio instead).
# log-file = leaps-gateway.log


# LEAPS Server host
# Default: localhost
leaps-server-host = localhost # Or your Computer's IP Address

# LEAPS Server port
# Default: 7777
leaps-server-port = 7777

# -----------------------------------------------------------------
# UWBS USB Device VID/PID
# -----------------------------------------------------------------
#

# Vendor ID, default is 0x1915, possible values are (0x1915-Nordic, 0x04d8-Microchip)
# Allowed values: 16-bit number in decimal, hexadecimal or octal format
# uwbs-usb-dev-vid = 0x04d8
uwbs-usb-dev-vid = 0x1915

# Product ID, default is 0xe8e3 for LEAPS RTLS devices
# Allowed values: 16-bit number in decimal, hexadecimal or octal format
uwbs-usb-dev-pid = 0xe8e3

# -----------------------------------------------------------------
# UWBS device configurations
# -----------------------------------------------------------------
#

# Bridge mode
# Allowed values: 0=Disable 1=Enable
# Default: (keep-current)
# uwbs-bridge = 0

# Initiator mode
# Allowed values: 0=Disable 1=Enable
# Default: (keep-current)
# uwbs-initiator = 0

# UWBMAC Profile ID
# Default: (keep-current)
# uwbs-profile-id = 0

# LEDs mode
# Allowed values: 0=Disable 1=Enable
# Default: (keep-current)
# uwbs-led = 1

# UWB encryption
# Allowed values: 0=Disable 1=Enable
# Default: (keep-current)
# uwbs-enc = 0

# UWB firmware update
# Allowed values: 0=Disable 1=Enable
# Default: (keep-current)
# uwbs-fwup = 0

# UWB mode
# Allowed values: 0=Off 1=Passive 2=Active
# Default: (keep-current)
# uwbs-uwb = 2

# UWB Backhaul Routing
# Allowed values: 0=Off 1=On 2=Auto
# Default: (keep-current)
uwbs-bh = 1

# BLE
# Allowed values: 0=Off 1=On
# Default: (keep-current)
# uwbs-ble = 1

# UWB encryption key
# Allowed values: 128-bit number in hexadecimal format
# Default: (keep-current)
# uwbs-enc-key = 11111111222222223333333344444444

# UWB network PANID
# Allowed values: 16-bit number in decimal, hexadecimal or octal format
# Default: (keep-current)
# uwbs-panid = 0x0000

# Device label
# Default: (keep-current)
# uwbs-label = gw-uwbs

# Device position in mm [x, y, z]
# Default: (keep-current)
# uwbs-pos-x = 0
# uwbs-pos-y = 0
# uwbs-pos-z = 0
  1. PCでコマンドプロンプトまたはターミナルウィンドウを開く。

  • 設定ファイルを作成したフォルダに移動します。

例えば、Ubuntu (Linux)の場合:

cd leaps_gateway_hub/
  1. Install the LEAPS Gateway Docker packages, run:

注釈

LEAPSゲートウェイはUSBポートを必要とします。そのため、DockerコンテナにUSBをマウントして使用するには、管理者権限で実行する必要があります。

sudo docker run -d -it --name some_name --privileged -v /dev/bus/usb:/dev/bus/usb -v /path/to/data/data/:/app/data/ leapslabs/leaps_gateway:tag /app/leaps_gateway --cfg /app/data/leaps_gateway.conf

some_name はコンテナに割り当てる名前、tag は必要な leaps-gateway のバージョンを指定します。

  • 推奨される走行オプション

    • --user $(id -u):$(id -g) 特定のユーザーとグループの下でインスタンスを実行する。

    • --restart until-stopped は、サーバーがクラッシュした場合に備えてインスタンスを自動的に再起動します。

  1. LEAPSゲートウェイのインストールプロセスが開始されます。

例えば、Ubuntu (Linux)の場合:

sudo docker run -d -it --name leaps_gateway --privileged -v /dev/bus/usb:/dev/bus/usb -v "$(pwd)"/data/:/app/data leapslabs/leaps_gateway:latest /app/leaps-gateway -c /app/data/leaps-gateway.conf

Unable to find image 'leapslabs/leaps_gateway:latest' locally
latest: Pulling from leapslabs/leaps_gateway
a458657ccc71: Pull complete
Digest: sha256:a19b127656d41d8607f043c2c83924e5b9a5cbd4dc23cfbed070be3b9cfc6b9a
Status: Downloaded newer image for leapslabs/leaps_gateway:latest
320d3768289874e063619f75faca7a24dd75a08884df8cd8fb2cc9b54c6f0a46
  1. インストールが成功したことを確認し、実行する:

例えば、Ubuntu (Linux)の場合:

sudo docker ps

CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS                          PORTS     NAMES
b1145b72db35   leapslabs/leaps_gateway:latest   "sh -c 'cd /app &&  …"   37 seconds ago   11 seconds ago                           leaps_gateway

これで、PC に LEAPSゲートウェイをインストールし、起動することができました。


はじめましょう

LEAPSゲートウェイ Docker

  • LEAPSゲートウェイを起動するには、次のコマンドを実行します。sudo docker start leaps_gateway

  • LEAPSゲートウェイを停止するには、次のコマンドを実行します。sudo docker stop leaps_gateway

  • LEAPSゲートウェイを再起動します。sudo docker restart leaps_gateway

  • LEAPSゲートウェイを削除するには、次のコマンドを実行します。sudo docker rm --force leaps_gateway


ネットワーク構成

  • ログ記録

    # Logging level, default is 3 (0=none, 1=error, 2=warning, 3=info, 4=debug, 5=verbose).
    log-level = 0
    
    # Path to log file. Comment out to disable logging to file (log to stdio instead).
    log-file = leaps-gateway.log
    
  • LEAPS サーバーホスト

    # Default: localhost
    leaps-server-host = 192.168.1.1 # Your Computer's IP Address
    
    # LEAPS Server port
    # Default: 7777
    leaps-server-port = 7777
    
  • UWBS USB デバイスの VID/PID

    # Vendor ID, default is 0x1915, possible values are (0x1915-Nordic, 0x04d8-Microchip)
    # Allowed values: 16-bit number in decimal, hexadecimal or octal format
    # uwbs-usb-dev-vid = 0x04d8
    uwbs-usb-dev-vid = 0x1915
    
    # Product ID, default is 0xe8e3 for LEAPS RTLS devices
    # Allowed values: 16-bit number in decimal, hexadecimal or octal format
    uwbs-usb-dev-pid = 0xe8e3
    
  • UWBS デバイスの設定

    # Bridge mode
    # Allowed values: 0=Disable 1=Enable
    # Default: (keep-current)
    uwbs-bridge = 0
    
    # Initiator mode
    # Allowed values: 0=Disable 1=Enable
    # Default: (keep-current)
    uwbs-initiator = 0
    
    # UWBMAC Profile ID
    # Default: (keep-current)
    uwbs-profile-id = 0
    
    # LEDs mode
    # Allowed values: 0=Disable 1=Enable
    # Default: (keep-current)
    uwbs-led = 1
    
    # UWB encryption
    # Allowed values: 0=Disable 1=Enable
    # Default: (keep-current)
    uwbs-enc = 0
    
    # UWB firmware update
    # Allowed values: 0=Disable 1=Enable
    # Default: (keep-current)
    uwbs-fwup = 0
    
    # UWB mode
    # Allowed values: 0=Off 1=Passive 2=Active
    # Default: (keep-current)
    uwbs-uwb = 2
    
    # UWB Backhaul Routing
    # Allowed values: 0=Off 1=On 2=Auto
    # Default: (keep-current)
    uwbs-bh = 1
    
    # BLE
    # Allowed values: 0=Off 1=On
    # Default: (keep-current)
    uwbs-ble = 1
    
    # UWB encryption key
    # Allowed values: 128-bit number in hexadecimal format
    # Default: (keep-current)
    uwbs-enc-key = 11111111222222223333333344444444
    
    # UWB network PANID
    # Allowed values: 16-bit number in decimal, hexadecimal or octal format
    # Default: (keep-current)
    uwbs-panid = 0x0000
    
    # Device label
    # Default: (keep-current)
    uwbs-label = gw-uwbs
    
    # Device position in mm [x, y, z]
    # Default: (keep-current)
    uwbs-pos-x = 0
    uwbs-pos-y = 0
    uwbs-pos-z = 0
    

トラブルシューティング

  • LEAPSゲートウェイを再起動するには、次のコマンドを実行します。sudo docker restart leaps_gateway

  • Windows では、USB/IP 接続 WSL 2 を再度実行して USB デバイスを接続します。(usbipd wsl attach --busid <busid>