设备模拟器
1、简介
针对平台提供的官方驱动和设备模型,预置4类子设备模拟器,方便用户熟悉子设备管理和驱动的功能。子设备模拟器模拟真实设备产生的信号,用户可在云端创建对应的子设备。子设备模拟器以系统应用的形式存在,主要包含以下分类。
Indicates high temperature alarm. When the temperature exceeds the threshold, the high temperature alarm is
true
.
switch
CoilRegister
boolean
read/write
Triggers to mock, the default is
true
.
temperature
HoldingRegister
float32
Represents the realtime absolute temperature, unit is in
kevin
, its range is between
273.15
and
378.15
.
Humidity
HoldingRegister
float32
Represents the humidity, unit is in
%
, its range is between
10
and
100
.
高温报警阈值
high_temperature_threshold
HoldingRegister
int32
read/write
Represents the threshold of absolute temperature, unit is in
kevin
, the default value is
324
.
battery
HoldingRegister
Represents the battery, uint is in
%
, the default value is
100
.
2.1、部署模拟器
modbus子设备模拟器分为modbus TCP/IP协议和modbus RTU协议。其中modbus-tcp模拟器支持 linux-amd64、linux-arm64、linux-armv7 平台,modbus-rtu只支持 linux-amd64 .
创建节点选择modbus模拟器,如下图所示:
在边缘节点设备上执行边缘节点安装命令,会自动同步安装modbus模拟器,安装完毕以后在本地执行
kubectl get pod -n baetyl-edge-system
,可以看到有一个baetyl-modbus-tcp-simulator的应用,如下图所示:
2.2、采集模拟器信息
该模拟器模拟了一个温度计,模拟器属性和测点固定不变。
5020:5020
,即容器内网的端口都是
5020
。
2.2.1、创建modbus子设备的设备模型
创建设备模型并添加测点如下,也可以通过导入 产品-modbus-simulator.json 来创建设备模型。
创建完毕的物模型如下图所示:
2.2.2、基于设备模型创建子设备
创建设备,设备模型选择上一步导入的模型
至此云端子设备创建完毕。将包含该子设备信息的驱动部署至边缘节点,即可采集到模拟器信号。完整demo操作可参考: 使用内置modbus驱动采集
3、OPC-UA设备模拟器
3.1、部署模拟器
OPC-UA模拟器只支持部署在amd64平台。
创建节点选择OPC-UA模拟器,如下图所示:
在边缘节点设备上执行边缘节点安装命令,会自动同步安装OPC-UA模拟器,安装完毕以后在本地执行
kubectl get pod -n baetyl-edge-system
,可以看到对应的应用
3.2、采集模拟器信息
3.2.1、创建OPC-UA子设备的设备模型
创建设备模型并添加测点如下,也可以通过导入 子设备-opcua-simulator.json 来创建设备模型
3.2.2、基于设备模型创建子设备
创建设备,设备模型选择上一步导入的模型
3.2.3、关联子设备
至此云端子设备创建完毕。将包含该子设备信息的驱动部署至边缘节点,即可采集到模拟器信号。
设备通道配置如下
通道地址:
设备ip
:4840
4、IPC模拟器
IPC模拟器使用
LIVE555 Media Server
将
mkv
等类型的视频文件转换成RTSP视频流输出,实现通过视频文件模拟RTSP流的功能。
IPC模拟器除了mkv,还支持其他格式的视频文件,具体可参考LIVE555 Media Server官网。
说明:IPC模拟器不支持mp4格式的视频文件
4.1、部署模拟器
创建节点选择IPC模拟器,如下图所示:
在边缘节点设备上执行边缘节点安装命令,会自动同步安装IPC模拟器,安装完毕以后在本地执行
kubectl get pod -n baetyl-edge-system
,可以看到对应的应用
4.2、采集模拟器信息
将视频文件以
.mkv
的格式放在安装了IPC模拟器的边缘设备
/var/lib/baetyl/host
目录下,模拟器应用会读到该视频文件将它转成RTSP流输出,文件名会体现在rtsp流地址当中。
模拟器的RTSP视频流有多种访问方式:
rtsp://「IP」:554/media/filename.mkv
,ip为节点IP,应用端口为554
rtsp://baetyl-ipc-simulator.baetyl-edge-system:554/media/filenanme.mkv