阿里云首页 数字社区平台 相关技术圈

边缘模拟器环境搭建和使用介绍

边缘模拟器:模拟了物业一体机的功能。

主要内容:边缘模拟器的环境搭建以及如何运行。

使用对象:对接物业一体机的设备厂商。

使用场景:物业一体机设备准入测试认证。

运行环境:Docker

一、安装Docker环境

1、Linux系统,以ubuntu为例,可以参考:https://docs.docker.com/engine/install/ubuntu/

2、win10系统,https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-10-Client

其他系统请自行搜索对应系统安装docker的教程。

二、获取边缘模拟器安装包

1、边缘模拟器是面向设备厂商开放的,不同厂商使用的边缘模拟器内置了不同的参数,因此无法通过公网统一下载,需要找阿里技术人员申请《准入认证软件包》

2、拿到《准入认证软件包》后,找到解压后的Linker_Install目录,边缘模拟器就保存在这里。

Linker_Install目录结构如下:

.
├── certificate                     # 边缘模拟器证书,模拟器维度唯一,由阿里提供,无需改动

├── elevator_control_driver.json    # 梯控协议参数配置,默认无需改动
├── access_control_driver.json      # 门禁协议参数配置,默认无需改动
├── compose_device.json             # 设备配置文件,需要根据设备实际IP、Port做配置

├── linux_linker_restart.sh         # Linux系统的重启边缘模拟器脚本
├── linux_linker_start.sh           # Linux系统的启动边缘模拟器脚本
├── linux_linker_stop.sh            # Linux系统的停止边缘模拟器脚本

├── mac_linker_restart.sh           # Mac系统的重启边缘模拟器脚本
├── mac_linker_start.sh             # Mac系统的启动边缘模拟器脚本
├── mac_linker_stop.sh              # Mac系统的停止边缘模拟器脚本

├── win_linker_restart.bat              # Windows系统的重启边缘模拟器脚本
├── win_linker_start_for_PowerShell.bat # Windows系统PowerShell的启动边缘模拟器脚本
├── win_linker_start_for_cmd.bat        # Windows系统命令提示符的启动边缘模拟器脚本
└── win_linker_stop.bat                 # Windows系统的停止边缘模拟器脚本

拷贝以上文件到PC的磁盘目录。

copy时请注意

1)该目录需要具有读写权限;

2)路径中不包含中文字符;

3)需要确保所有的文件在同一个目录下,不然会引起边缘模拟器运行异常;

4)运行边缘模拟器的主机需要访问外网,运行期间请保证外网畅通。

三、边缘模拟器的配置

驱动参数配置

如果是人行设备接入边缘模拟器,请参照以下配置:

1、文件 access_control_driver.json 用于配置门禁协议驱动的参数,边缘模拟器启动时会读取该文件配置(默认不用做修改)。

{
    "deviceServicePort": 10000,     # 边缘模拟器提供服务的端口
    "algorithm": {
        "defaultMatchScore": "0.7"  # 人脸识别的阈值
    },
    "staticPictureTimeout":"3"      # 人脸识别后,获取人脸库照片的有效期时间
}

2、文件 elevator_control_driver.json 用于配置梯控协议驱动的参数(默认不需要修改)。

{
    "polling_mode": {                # 电梯状态获取模式
        "enable": false,             # false代表主动上报电梯状态,true代表边缘主动查询电梯状态
        "interval": 50               # 查询电梯状态间隔时间
    },
    "floor_list": ["-2", "-1", "M", "1", "2", "3", "4"],  # 实际电梯楼层列表
    "lowest_floor_id": 1             # 逻辑上,电梯的最低楼层
}

说明:例如floor_list里的-2层是实际的最低楼层,对应的逻辑楼层为1。

那么-1层的逻辑楼层为2,M层的逻辑楼层为3,依次递增。

设备参数配置

文件compose_device.json 用于配置设备接入的参数,需要根据设备实际情况修改

[
    {
        "deviceIp": "192.168.1.45",     # 门禁设备的IP地址,需要根据设备实际IP去填写
        "accessControlPort": "12348",   # 门禁设备监听的端口信息,接收刷卡和蓝牙权限信息、人脸特征值等,需要根据设备实际监听的端口填写
        "videoIntercomPort": "10060"    # 门禁设备监听的可视对讲端口,接收SIP账号信息,需要根据设备实际监听端口填写,可以与accessControlPort一致
    },
    {
        "deviceIp": "30.43.83.120",     # 参数信息同上
        "accessControlPort": "1234",
        "videoIntercomPort": "1234"
    },
    {
        "deviceIp": "30.43.83.120",          # 梯控设备的IP地址,需要根据设备实际IP填写
        "elevatorId":"01",                   # 梯控设备编号, 带elevatorId字段的一律为梯控设备
        "serviceVendor":"aliyun-iot",        # 默认参数
        "serviceEntry":"123.57.63.67:11005"  # 默认参数
    },
    {
        "deviceIp": "192.168.1.45",          # 参数信息同上
        "elevatorId":"02",
        "serviceVendor":"aliyun-iot",
        "serviceEntry":"123.57.63.67:11005"
    }    
]

四、启动边缘模拟器

注意

1)运行边缘模拟器的主机需要访问外网,运行期间请保证外网畅通;

2)一个边缘模拟器只能运行在一台主机上,如果需要运行多台,请再申请新的软件包。

1、根据当前系统情况,执行对应的linker_start脚本,启动边缘模拟器。例如,Win10系统,执行:win_linker_start.bat(双击运行)

2、启动成功后,Docker Desktop中出现linker,状态为RUNNING,端口为10000:

1602920936306-971acaa8-7925-4434-b17b-465b54768475

3、测试边缘模拟器服务是否可用,在本机的浏览器中访问http://127.0.0.1:10000/,如果返回“linker”,表示边缘模拟器已经正常启动了。

4、登录边缘模拟器,可以通过以下docker命令:

docker exec -it $(sudo docker ps | grep linker  | awk '{print $1}') bash

5、边缘模拟器日志查看,可以通过以下命令:

docker logs -f  linker

或者在步骤4中登录后,到根目录下查看log.txt文件。