IPC子设备和驱动

智能边缘 BIE

  • 产品描述
    • 名词解释
    • 使用限制
    • 产品概述
    • 产品优势
    • 应用场景
  • 配置文件说明
    • baetyl-rule
    • baetyl-remote-object
    • baetyl-function
    • baetyl-broker
  • 快速入门
    • 融合模式节点安装
    • 快速入门指南
    • 离线安装k3s+docker
    • 进程模式节点安装
      • 在linux上安装
      • 在windows上安装
  • 典型实践
    • OPC-UA使用
    • 使用BIE函数计算调用文心一言
    • 边缘规则引擎实战
      • 集成Kuiper流式计算引擎
      • 边缘规则实例
    • 将AI中台模型部署至边缘节点
      • 获取AI中台模型部署包进行应用部署
      • 部署模型SDK至Atlas200DK
      • 模型中心1.0
        • 通过AI中台转换模型并下发至边缘
        • 通过AI中台直接将模型下发至边缘
      • 模型中心2.0
        • 将物体检测模型部署至边缘
        • 将图像分类模型部署至边缘
    • 部署PaddleServing模型
      • 使用BIE下发PaddleOCR模型
      • 制作GPU版本Paddle Serving推理镜像
      • 通过BIE部署Paddle Serving
    • Modbus协议采集温湿度传感器
      • 连接边缘baetyl-broker
      • 使用内置modbus驱动采集数据并进行边缘函数计算
      • 数据从baetyl-broker上传至IoTCore
    • 部署EasyDL模型SDK
      • 部署EasyDL烟火检测模型至ARM64节点
    • 部署EasyEdge模型SDK
      • 进程模式下发python SDK模型
      • 使用EasyEdge模型转换获取边缘模型
      • 部署模型SDK至Windows设备
      • 部署模型SDK至Intel Movidius设备
      • 部署模型SDK至Jetson Xavier
    • 部署自定义容器镜像模型
      • 部署mnist手写数字识别模型
      • 部署物体检测模型
    • video-infer实现边缘视频AI推断
      • 使用Movidius VPU加速边缘视频推断
      • 使用CPU实现边缘视频推断
  • 操作指南
    • 主子用户鉴权
    • 设备管理
      • 设备模拟器
      • 子设备数据云边交互方式
      • 进程模式软网关设备接入指南
      • 子设备数据云边交互方式-v2
      • 视频流管理
        • IPC子设备和驱动
        • 边缘转发RTSP视频流
      • 设备接入
        • 设备模型管理
        • 接入模板
        • 设备管理
        • 子设备绑定
      • 驱动管理
        • 进程模式软网关自定义驱动开发
        • 驱动管理
        • GO语言实现示例
        • 自定义驱动开发指南
      • 不同协议设备接入
        • BACnet设备接入
        • OPC-UA设备接入
        • Modbus 设备接入
        • IEC104设备接入
        • OPC-DA设备接入
    • 节点管理
      • 边缘应用获取云端STS鉴权
      • 进程模式节点
      • 远程MQTT消息下发
      • 节点运行模式说明
      • 节点影子
      • 远程调用
      • 容器模式节点
      • 远程调试
      • 远程SSH边缘节点
      • 边缘节点OpenAPI
      • 证书管理
      • 节点预配
    • 业务编排
      • 单元管理
      • 技能管理
      • 常见技能
    • 应用管理
      • 业务模版
      • 应用部署
        • 应用运行模式与分类说明
        • 函数应用
          • 自定义函数与依赖包解耦下发
          • 从CFC引入多个函数下发
          • 典型使用说明
          • 使用函数调用边缘AI模型
          • 自定义函数与依赖包整体下发
        • 容器应用
          • subpath子路径使用说明
          • workdir工作目录使用说明
          • Job类型容器应用
          • 容器应用状态说明
          • 原生yaml接入使用说明
          • 端口映射说明
          • 容器应用工作负载类型说明
          • Deployment类型容器应用
          • DaemonSet类型容器应用
          • QPS监控
          • emptyDir卷使用说明
          • 边缘服务调用
        • 进程应用
          • 进程应用概述
          • 可执行二进制程序类型进程应用
          • 可执行脚本类型进程应用
      • 配置管理
        • 证书
        • 函数
        • 镜像仓库凭证
        • 配置项
        • 密文
        • 镜像
        • 进程程序包
    • AI加速卡
      • AI加速卡通用资源调度方法
      • 自定义加速卡算力指标采集
      • 华为昇腾
        • 昇腾310资源监控
      • 英伟达
        • GPU资源调度-显存隔离
        • Jetson资源监控
        • GPU资源调度-显存共享
        • Jetson依赖说明
        • NVIDIA GPU资源监控
      • 寒武纪
        • MLU270资源监控
      • 百度昆仑
        • 昆仑芯片资源监控
      • 比特大陆
        • 挂载比特大陆边缘计算盒子tpu资源
        • BM-SE5资源监控
  • 服务等级协议SLA
    • 服务等级协议SLA(V1.0)
  • 备份
    • 进程模式应用
    • 部署通用CPU模型
    • 部署模型SDK至Atlas200DK
    • 适配列表
    • 连接边缘节点本地baetyl-broker
    • 使用自定义modbus应用采集
    • NVIDIA GPU资源管理
    • FAQ
    • NVIDIA Jetson专用模型部署-进程模式
    • 容器模式应用
    • 连接边缘节点本地baetyl-broker服务
    • DaemonSet类型和job类型服务部署
    • 通用CPU模型部署-容器模式
    • NVIDIA Jetson专用模型部署-容器模式
    • 功能发布记录
    • 在BIE控制台部署从AI中台下载的模型
    • EasyEdge概述
    • Nvidia_Jetson
      • 使用NVIDIA官方镜像运行模型-容器模式
      • 二进制程序运行模型-进程模式
      • 使用edgekit镜像运行模型-容器模式
    • 下载专区
      • 相关资源下载
  • 产品定价
    • 产品定价
所有文档
menu
没有找到结果,请重新输入

智能边缘 BIE

  • 产品描述
    • 名词解释
    • 使用限制
    • 产品概述
    • 产品优势
    • 应用场景
  • 配置文件说明
    • baetyl-rule
    • baetyl-remote-object
    • baetyl-function
    • baetyl-broker
  • 快速入门
    • 融合模式节点安装
    • 快速入门指南
    • 离线安装k3s+docker
    • 进程模式节点安装
      • 在linux上安装
      • 在windows上安装
  • 典型实践
    • OPC-UA使用
    • 使用BIE函数计算调用文心一言
    • 边缘规则引擎实战
      • 集成Kuiper流式计算引擎
      • 边缘规则实例
    • 将AI中台模型部署至边缘节点
      • 获取AI中台模型部署包进行应用部署
      • 部署模型SDK至Atlas200DK
      • 模型中心1.0
        • 通过AI中台转换模型并下发至边缘
        • 通过AI中台直接将模型下发至边缘
      • 模型中心2.0
        • 将物体检测模型部署至边缘
        • 将图像分类模型部署至边缘
    • 部署PaddleServing模型
      • 使用BIE下发PaddleOCR模型
      • 制作GPU版本Paddle Serving推理镜像
      • 通过BIE部署Paddle Serving
    • Modbus协议采集温湿度传感器
      • 连接边缘baetyl-broker
      • 使用内置modbus驱动采集数据并进行边缘函数计算
      • 数据从baetyl-broker上传至IoTCore
    • 部署EasyDL模型SDK
      • 部署EasyDL烟火检测模型至ARM64节点
    • 部署EasyEdge模型SDK
      • 进程模式下发python SDK模型
      • 使用EasyEdge模型转换获取边缘模型
      • 部署模型SDK至Windows设备
      • 部署模型SDK至Intel Movidius设备
      • 部署模型SDK至Jetson Xavier
    • 部署自定义容器镜像模型
      • 部署mnist手写数字识别模型
      • 部署物体检测模型
    • video-infer实现边缘视频AI推断
      • 使用Movidius VPU加速边缘视频推断
      • 使用CPU实现边缘视频推断
  • 操作指南
    • 主子用户鉴权
    • 设备管理
      • 设备模拟器
      • 子设备数据云边交互方式
      • 进程模式软网关设备接入指南
      • 子设备数据云边交互方式-v2
      • 视频流管理
        • IPC子设备和驱动
        • 边缘转发RTSP视频流
      • 设备接入
        • 设备模型管理
        • 接入模板
        • 设备管理
        • 子设备绑定
      • 驱动管理
        • 进程模式软网关自定义驱动开发
        • 驱动管理
        • GO语言实现示例
        • 自定义驱动开发指南
      • 不同协议设备接入
        • BACnet设备接入
        • OPC-UA设备接入
        • Modbus 设备接入
        • IEC104设备接入
        • OPC-DA设备接入
    • 节点管理
      • 边缘应用获取云端STS鉴权
      • 进程模式节点
      • 远程MQTT消息下发
      • 节点运行模式说明
      • 节点影子
      • 远程调用
      • 容器模式节点
      • 远程调试
      • 远程SSH边缘节点
      • 边缘节点OpenAPI
      • 证书管理
      • 节点预配
    • 业务编排
      • 单元管理
      • 技能管理
      • 常见技能
    • 应用管理
      • 业务模版
      • 应用部署
        • 应用运行模式与分类说明
        • 函数应用
          • 自定义函数与依赖包解耦下发
          • 从CFC引入多个函数下发
          • 典型使用说明
          • 使用函数调用边缘AI模型
          • 自定义函数与依赖包整体下发
        • 容器应用
          • subpath子路径使用说明
          • workdir工作目录使用说明
          • Job类型容器应用
          • 容器应用状态说明
          • 原生yaml接入使用说明
          • 端口映射说明
          • 容器应用工作负载类型说明
          • Deployment类型容器应用
          • DaemonSet类型容器应用
          • QPS监控
          • emptyDir卷使用说明
          • 边缘服务调用
        • 进程应用
          • 进程应用概述
          • 可执行二进制程序类型进程应用
          • 可执行脚本类型进程应用
      • 配置管理
        • 证书
        • 函数
        • 镜像仓库凭证
        • 配置项
        • 密文
        • 镜像
        • 进程程序包
    • AI加速卡
      • AI加速卡通用资源调度方法
      • 自定义加速卡算力指标采集
      • 华为昇腾
        • 昇腾310资源监控
      • 英伟达
        • GPU资源调度-显存隔离
        • Jetson资源监控
        • GPU资源调度-显存共享
        • Jetson依赖说明
        • NVIDIA GPU资源监控
      • 寒武纪
        • MLU270资源监控
      • 百度昆仑
        • 昆仑芯片资源监控
      • 比特大陆
        • 挂载比特大陆边缘计算盒子tpu资源
        • BM-SE5资源监控
  • 服务等级协议SLA
    • 服务等级协议SLA(V1.0)
  • 备份
    • 进程模式应用
    • 部署通用CPU模型
    • 部署模型SDK至Atlas200DK
    • 适配列表
    • 连接边缘节点本地baetyl-broker
    • 使用自定义modbus应用采集
    • NVIDIA GPU资源管理
    • FAQ
    • NVIDIA Jetson专用模型部署-进程模式
    • 容器模式应用
    • 连接边缘节点本地baetyl-broker服务
    • DaemonSet类型和job类型服务部署
    • 通用CPU模型部署-容器模式
    • NVIDIA Jetson专用模型部署-容器模式
    • 功能发布记录
    • 在BIE控制台部署从AI中台下载的模型
    • EasyEdge概述
    • Nvidia_Jetson
      • 使用NVIDIA官方镜像运行模型-容器模式
      • 二进制程序运行模型-进程模式
      • 使用edgekit镜像运行模型-容器模式
    • 下载专区
      • 相关资源下载
  • 产品定价
    • 产品定价
  • 文档中心
  • arrow
  • 智能边缘BIE
  • arrow
  • 操作指南
  • arrow
  • 设备管理
  • arrow
  • 视频流管理
  • arrow
  • IPC子设备和驱动
本页目录
  • 功能简介
  • 创建产品和设备
  • 配置驱动
  • 验证
  • onvif云台控制
  • 结合baetyl-rule完成图片上传

IPC子设备和驱动

更新时间:2025-08-21

功能简介

通过添加配置IPC子设备和驱动,用户可以接入RTSP视频流,对视频流进行抽帧,调用AI服务对抽帧结果进行推断,并将消息推送到节点自带broker上。

新版的IPC驱动还提供了对于边缘视频流的代理推流功能,可以推送到BIE提供的使用rtsps加密的视频平台,并能够在云端实时查看该视频流(公有云暂不提供),也可以推送到用户指定的rtsp/rtmp视频平台。

创建产品和设备

1.点击产品管理,创建IPC协议的产品,如果需要使用onvif协议,请将以下内容保存为onvif.json后,导入该产品:

JSON
1{"items":[{"name":"onvif","version":"1673597021zqgpjx","attributes":[{"name":"ip","id":"ip","type":"string","defaultValue":"127.0.0.1","required":true},{"name":"port","id":"port","type":"int32","defaultValue":80,"required":true},{"name":"username","id":"username","type":"string","defaultValue":"admin","required":true},{"name":"password","id":"password","type":"string","defaultValue":"1234qwer","required":true}],"createTime":"2023-01-12T18:44:17+08:00","updateTime":"2023-01-13T16:03:41+08:00","type":0}],"total":1}

91d3f6b1e171bf0f129db42fa77a2c9b.png

2.点击设备管理,创建IPC协议产品的子设备,选择刚刚创建的onvif产品,并根据实际情况填写onvif连接信息。

image.png

配置驱动

  1. 选中节点,点击子设备管理,引入官方IPC驱动。
  2. 点击绑定子设备,选择对应的产品找到刚刚创建的设备。
  3. 点击驱动配置,选择添加服务

788f73a56122a8acd3485883417e3dcc.png

模型请求支持在前端自定义参数和body内容,body中图片文件为抽帧得到的图片。以easyedge 模型服务为例,存在两类请求,图像文件支持binary和base64。 (接口说明参考:https://ai.baidu.com/ai-doc/EASYDL/vk7pzuavg#http-%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE)

  • 服务名称:任意
  • 抽帧频率:默认1,单位fps
  • 是否缩放:默认为否,单位为像素px
  • 服务请求地址:填写AI服务暴露的API地址
  • params:参数,添加调AI服务的请求参数,比如阈值(在调用AI服务时,为了使模型服务可以区分图片顺序,在header中默认添加Unix毫秒级时间戳,示例{"Unix-Date":"1684740775233"})
  • body:支持以原始文件binary和json,在json中,图片会以base64编码格式传输,您只需要在需要填写图片的json字段,使用$(image)来代替
  • 图片本地缓存:是否将图片缓存到本地(开启该选项后,会将容器内的/var/lib/baetyl/image路径挂载到宿主机/var/lib/baetyl/image路径下,您也可以在生成ipc应用后,修改应用卷来调整宿主机挂载的路径)
  • 缓存时间:图片保存时间,到期后会新建新的时间文件夹,并删除之前保存的图片
  1. 配置设备连接

0e29b5b86abfd99dcb6f027cd0336a98.png

  • 配置摄像头视频流地址
  • 选择对应的抽帧应用
  • 选择是否进行推流
  • 选择推送到BIE提供的默认视频平台或者已有的第三方rtsp/rtmp视频平台
  1. 点击部署驱动,生成对应的应用。

验证

  • 在边缘安装节点,订阅节点baetyl-broker的指定topic,thing/{产品名称}/{设备名称}/event/post
  • 可以看到MQTTbox中出现了推断结果,结果遵循blink协议格式,其中result字段为AI模型调用结果,localPath为容器内保存路径,remotePath在未配置云端上传的情况下为空。
JSON
1{
2    "reqId":"6f7f78aa-d0a1-4ec1-a409-7caa6afe178d",
3    "method":"thing.event.post",
4    "version":"1.0",
5    "timestamp":1684724511191,
6    "events":{
7        "localPath":"var/lib/baetyl/image/tests/2023-05-22-03-01-41/easyedge-20230522030151-jdjarl.jpg",
8        "remotePath":"",
9        "result":{
10            "cost_ms":78,
11            "error_code":0,
12            "results":[
13                {
14                    "confidence":0.5252643823623657,
15                    "frame":0,
16                    "index":11,
17                    "label":"diningtable",
18                    "location":{
19                        "height":437,
20                        "left":498,
21                        "top":640,
22                        "width":1359
23                    },
24                    "modelKind":2,
25                    "name":"diningtable",
26                    "score":0.5252643823623657,
27                    "trackId":0,
28                    "x1":0.25971928238868713,
29                    "x2":0.9679739475250244,
30                    "y1":0.5934604406356812,
31                    "y2":0.9990088939666748
32                }
33            ]
34        }
35    }
36}
  • 节点在线的情况下,点击实时视频流,即可看到边缘摄像头的实时视频数据。 (同时提供了rtsp流地址,可以使用vlc等软件接入查看)

739559fdddd00b0b08e95e840c97a2d8.png

onvif云台控制

当前仅可以通过设备的事件控制的openapi实现onvif云台控制。

使用http post请求,访问如下地址:https://{baetyl-cloud-address}/v1/devices/{deviceName}/event。

请求内容为application/json,

JSON
1{
2    "type": "direction",
3    "payload": "down"
4}

当前type固定为direction,后续可能会增加更多onvif控制内容,payload值为up,down,left,right。

结合baetyl-rule完成图片上传

在私有化版本中,服务配置可以选择是否上传云端,选择是之后,除了thing/{产品名称}/{设备名称}/event/post这个topic会正常发送外,还会产生$baetyl/device/{设备名称}/result额外的topic,传输内容如下。

JSON
1{
2    "time":"2023-05-22T03:01:51.191669945Z",
3    "type":"UPLOAD",
4    "content":{
5        "remotePath":"tests/2023-05-22-03-01-41/easyedge-20230522030151-jdjarl.jpg",
6        "localPath":"var/lib/baetyl/image/tests/2023-05-22-03-01-41/easyedge-20230522030151-jdjarl.jpg"
7    }
8}

在baetyl-rule应用中增加source为$baetyl/device/{设备名称}/result的topic,同时,target设置为s3上传的地址。下面配置示例在上传图片的同时,将AI消息结果上传至kafka。

YAML
1clients:
2  - name: minio
3    kind: s3
4    address: 10.123.12.1:8686
5    bucket: bie-upload
6    ak: ak
7    sk: sk
8  - name: kafka
9    kind: kafka
10    address:
11      - 10.123.12.1:8765
12rules:
13  - name: result
14    source:
15      topic: thing/ipc-01/tests/event/post
16      qos: 0
17    target:
18      client: kafka
19      topic: bie-test
20  - name: pic
21    source:
22      topic: $baetyl/device/tests/result
23      qos: 0
24    target:
25      client: minio
26logger:
27  level: debug
28  encoding: console
29  compress: true
30  maxAge: 10
31  maxSize: 10
32  maxBackups: 1

在完成baetyl-rule配置后,还需要为baetyl-rule应用创建对应的卷。

87161458b0bca377254a1af435c566ad.png

同时,将卷挂载到容器中,这样,IPC驱动与baetyl-rule就挂载了同一个宿主机目录,其保存的本地图片,就可以由baetyl-rule上传到minio中。

3ae0ad9ba7ee23cc785935afbee20827.png

上一篇
子设备数据云边交互方式-v2
下一篇
边缘转发RTSP视频流