Please note that the Chinese and Japanese versions are currently being updated and are not yet complete. Stay tuned for the final versions!

LEAPS 服务器

LEAPS服务器是UWB网络的中央数据中心。它通过 MQTT代理 将所有 LEAPS 网关 设备与世界互连.


主要功能

  • 它作为上行链路数据集中器、下行链路数据路由器、数据处理器、位置引擎、设备管理、设备访问控制和服务质量。

  • 它通过连接器与世界通信。目前,支持的连接器是MQTT,包括对AWS的支持。

  • LEAPS 服务器 在Linux平台上作为守护进程服务运行。


安装

系统要求

注解

Docker的系统要求因操作系统而异.

  • 对于Linux,您需要一个64位架构、兼容的内核版本和特定的内核功能。

  • 在Windows上,在启用虚拟化的Windows 10上使用Docker Desktop。

  • 在macOS上,将Docker Desktop与macOS 10.13或更高版本一起使用。在硬件方面,建议至少有2GB的RAM,以及足够的CPU和磁盘空间。

请参考 Docker 官方文件,了解最新细节。


说明

  1. 在电脑上安装 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_server_hub 和子文件夹 data。然后,在 leaps_server_hub/data 中添加 leaps-server.conf 配置文件。

#######################################################################
# LEAPS Server 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 = leaps-server.log

# -----------------------------------------------------------------
# Certificate based SSL/TLS support
# -----------------------------------------------------------------
#
# cafile - Authority certificates that have signed your server certificate.
# certfile - Path to the PEM encoded server certificate.
# keyfile - Path to the PEM encoded keyfile.
# gw_auth - When using TLS on the interface with the gateways, this parameter configures TLS authentication between server and the gateway (0=server 1=mutual).
#
# cafile = /etc/leaps-server/cacert.pem
# certfile = /etc/leaps-server/servercert.pem
# keyfile = /etc/leaps-server/serverkey.pem
# gw_auth = 0

# Optional AES 128-bit private key as hexadecimal number. If specified, the key is used to encrypt sensitive data
# for example the WiFi password published on the MQTT interface.
# aes_128_key = 00112233445566778899aabbccddeeff

# -----------------------------------------------------------------
# MQTT Broker
# -----------------------------------------------------------------
# MQTT API variant "pans" or "leaps"
mqtt_api = leaps

# include network ID (panid) in the MQTT topics
mqtt_with_panid = true

# Specifies an alias for particular UWB network that is then used in the MQTT topic instead of the network ID (pan ID) .
# Parameter can be used multiple times and there might be multiple definitions separated by spaces which are then added to the list of known aliases.
# Alias definitions must follow format <ID>:<ALIAS_STRING>. Multiple definitions must be separated with spaces.
# Network ID (PAN ID) can be hexadecimal number (withe prefix \"0x\") or decimal number.
# mqtt_panid_alias = [123:NetworkA] [0x0002:Net B]
# mqtt_panid_alias = [0XABCD:Network_C]

mqtt_clid = 1
mqtt_port = 1883
mqtt_host = localhost # Or your Computer's IP Address

# For LEAPS RTLS
mqtt_user = leaps
mqtt_password = leapspass
mqtt_topic_prefix = leaps

# For PANS PRO RTLS
# mqtt_user = dwmuser
# mqtt_password = dwmpass
# mqtt_topic_prefix = dwm

# Certificates used on MQTT interface
# mqtt_cafile = /etc/leaps-server/cacert.pem
# mqtt_certfile = /etc/leaps-server/servercert.pem
# mqtt_keyfile = /etc/leaps-server/serverkey.pem

# Period in seconds after which all retained topics are published regardless
# whether the content has changed or not. Disabled when set to 0. Disabled by default.
#mqtt_refresh = 0

# -----------------------------------------------------------------
# Secondary MQTT Broker
# -----------------------------------------------------------------
#
# mqtt_clid_sec = 2
# mqtt_port_sec = 1883
# mqtt_host_sec =

# For PANS PRO RTLS
# mqtt_user_sec = dwmuser
# mqtt_password_sec = dwmpass

# Certificates used on MQTT interface
# mqtt_cafile_sec = /etc/leaps-server/cacert.pem
# mqtt_certfile_sec = /etc/leaps-server/servercert.pem
# mqtt_keyfile_sec = /etc/leaps-server/serverkey.pem

# -----------------------------------------------------------------
# TCP
# -----------------------------------------------------------------
#
tcp_port = 7777

# -----------------------------------------------------------------
# Tag location statistics
# -----------------------------------------------------------------
# Enable calculation of tag location statistics. Default is false.
# loc_stats_enable = true

# History window for calculation of tag location statistics. Default is 100.
# loc_stats_history_window = 100

# -----------------------------------------------------------------
# Other
# -----------------------------------------------------------------
# maximum number of attempts of configuration and service commands
# cmd_att = 3
  1. 在电脑上打开命令提示符或终端窗口.

  • 导航到创建配置文件的文件夹。

例如,在 Ubuntu (Linux) 上:

cd leaps_server_hub/
  1. 安装 LEAPS 服务器 Docker 软件包并运行:

docker run -d -p 7777:7777/tcp -p 7777:7777/udp --name some_name -v /path/to/data/data/:/app/data/ leapslabs/leaps_server:tag /app/leaps-server --cfg /app/data/leaps-server.conf

其中 some_name 是您要分配给容器的名称, tag 是指定您想要的 leaps-server 版本的标签。

leaps_server实例正在使用端口“7777”与 LEAPS 网关 进行 TCPUDP 通信,因此需要使用命令 -p 777777:7777/TCP-p 77779/UDP 将这些端口从主机重新映射到leaps_server实例。

除非需要,否则不建议更改端口号。如果需要修改,请相应地调整 LEAPS 网关 上的端口设置。

  • 推荐的运行选项

    • --user $(id -u):$(id -g) 在特定用户和组下运行实例.

    • --除非停止否则重新启动 自动重新启动实例,以防服务器崩溃。

  1. LEAPS服务器安装过程将开始。

例如,在 Ubuntu (Linux) 上:

docker run -d -p 7777:7777/tcp -p 7777:7777/udp --name leaps_server -v "$(pwd)"/data/:/app/data leapslabs/leaps_server:latest /app/leaps-server --cfg /app/data/leaps-server.conf

Unable to find image 'leapslabs/lc_server:latest' locally
latest: Pulling from leapslabs/lc_server
a458657ccc71: Pull complete
Digest: sha256:a19b127656d41d8607f043c2c83924e5b9a5cbd4dc23cfbed070be3b9cfc6b9a
Status: Downloaded newer image for leapslabs/lc_server:latest
320d3768289874e063619f75faca7a24dd75a08884df8cd8fb2cc9b54c6f0a46
  1. 确认安装成功,运行:

例如,在 Ubuntu (Linux) 上:

docker ps

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

因此,您已经在PC上成功安装并启动了LEAPS服务器。


开始

LEAPS 服务器 Docker

  • 启动LEAPS服务器,运行: docker Start lc_Server

  • 停止LEAPS服务器,运行: docker Stop lc_Server

  • 重启LEAPS服务器,运行: docker Restart lc_Server

  • 删除LEAPS服务器,运行 docker rm--force lc_Server


网络配置

  • MQTT API变体 “pans” 或 “leaps”

  • 将LEAPS ID添加到已发布的主题中

    mqtt_with_panid = true
    
    mqtt_clid = 1
    mqtt_port = 1883
    mqtt_host = localhost # Or your Computer's IP Address
    
  • LEAPS RTLS帐户配置

    mqtt_user = leapsuser
    mqtt_password = leapspass
    mqtt_topic_prefix = leaps
    
  • TCP端口为7777

故障排除

  • 使用以下命令 docker restart leaps_server 重新启动leaps server。

  • LEAPS 服务器 运行时检查日志,打开docker桌面并选择leaps_server容器。