边缘模拟器环境搭建和使用介绍
边缘模拟器:模拟了物业一体机的功能。
主要内容:边缘模拟器的环境搭建以及如何运行。
使用对象:对接物业一体机的设备厂商。
使用场景:物业一体机设备准入测试认证。
运行环境:Docker
一、安装Docker环境
1、Linux系统,以ubuntu为例,可以参考:https://docs.docker.com/engine/install/ubuntu/
其他系统请自行搜索对应系统安装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:
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文件。