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 公式ドキュメントを参照してください。
使用方法
PCにDockerをインストールする
さらに、以下のコマンドを参考にしてインストールすることもできる:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh ./get-docker.sh sudo usermod -aG docker $USER
leaps_gateway_hub
フォルダとdata
サブフォルダを作成します。そして、leaps_gateway_hub/data
にleaps-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
PCでコマンドプロンプトまたはターミナルウィンドウを開く。
設定ファイルを作成したフォルダに移動します。
例えば、Ubuntu (Linux)の場合:
cd leaps_gateway_hub/
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
は、サーバーがクラッシュした場合に備えてインスタンスを自動的に再起動します。
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
インストールが成功したことを確認し、実行する:
例えば、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>
)