连接边缘节点本地baetyl-broker

智能边缘 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
  • 连接边缘节点本地baetyl-broker
本页目录
  • 背景描述
  • 操作指南
  • 节点安装
  • 方案一:配置baetyl-broker开放外部访问
  • 1.baetyl-broker端口绑定本地8883端口
  • 2.使用MQTT Box访问
  • 方案二:模拟应用身份访问
  • 1.baetyl-broker系统默认50010端口映射本地1883端口
  • 2.获取证书
  • 3.使用mqtt box连接本地broker
  • 4.使用mosquitto连接本地broker

连接边缘节点本地baetyl-broker

更新时间:2025-08-21

背景描述

从 baetyl 2.1.1 版本开始,所有官方应用(baetyl-broker,baetyl-function,baetyl-rule)都默认集成baetyl-go-sdk,由baetyl-core负责这些官方应用的证书签发,服务间调用默认使用baetyl-core签发的证书进行认证。

开发者如果要想访问本地baetyl-broker,主要有两种方式:

  • 方案一:对baetyl-broker进行配置,开发外部访问。设置访问broker用户名和密码,并绑定宿主机监听端口,这样在任何机器上使用MQTT Client都可以使用host_machne_ip:port访问baetyl-broker服务。
  • 方案二:MQTT Client模拟应用的身份,使用从baetyl-core那边获取访问baetyl-broker的证书访问broker。MQTT Client只能运行在边缘节点那台设备上,不能运行在其他工作PC上。

本文会对以上两种方案进行讲解。


操作指南

节点安装

参考快速入门安装边缘节点。在边缘端执行完安装命令以后,通过kubectl命令查看baetyl-edge-system命名空间内的系统应用。

Bash
1root@userver-desk:~# kubectl get pod -n baetyl-edge-system
2NAME                               READY   STATUS    RESTARTS   AGE
3baetyl-init-d968b7bb9-c8b22        1/1     Running   0          3h24m
4baetyl-core-7d5995f956-7jszr       1/1     Running   0          3h24m
5baetyl-rule-5f4d7f964-xprx8        1/1     Running   0          3h24m
6baetyl-function-6c7fd69f44-xwnxk   1/1     Running   0          3h24m
7baetyl-broker-6f9cbbd794-rb9p7     1/1     Running   0          3h24m

方案一:配置baetyl-broker开放外部访问

1.baetyl-broker端口绑定本地8883端口

进入到边缘节点,点击应用部署,找到baetyl-broker应用,点击查看,如下图所示:

image.png

进入到baetyl-broker应用界面,点击配置,如下图所示:

image.png

在端口映射——>宿主机端口那里添加一条端口映射记录,如下图所示:

image.png

  • 宿主机端口:8883
  • 容器端口:8883
  • 协议:TCP

返回应用配置界面,切到数据卷页面,点击baetyl-broker-conf这个配置卷,如下图所示:

image.png

进入配置项配置页面,点击编辑,如下图所示:

image.png

在conf.yaml配置界面,输入以下配置信息,下图所示:

image.png

YAML
1session:
2  sysTopics:
3    - $link
4    - $baetyl
5logger:
6  level: debug
7  encoding: console
8listeners:
9  - address: 'tcp://0.0.0.0:8883'
10principals:
11  - username: test
12    password: test
13    permissions:
14      - action: pub
15        permit:
16          - '#'
17      - action: sub
18        permit:
19          - '#'

配置解析:

  • 为baetyl-broker增加8883监听端口,使用test/test这样的用户名密码进行访问,该用户具有#这个topic的pub/sub权限。
  • 这里不一定必须是8883,可以是其他任何没有用过的端口,可以使用 netstat -ap | grep 8883 这个命令查看8883端口是否被占用

2.使用MQTT Box访问

在工作PC上安装MQTT Box,配置连接信息,如下图所示:

image.png

返回MQTT Box,可以看到连接状态是Connected,测试消息订阅与发送,如下图所示:

image.png

方案二:模拟应用身份访问

1.baetyl-broker系统默认50010端口映射本地1883端口

进入到边缘节点,点击应用部署,找到baetyl-broker应用,点击查看。

image.png

进入到baetyl-broker应用界面,点击配置

image.png

在端口映射——>宿主机端口那里填写1883,将baetyl-broker的容器内端口映射到宿主机。这里不一定必须是1883,可以是其他任何没有用过的端口,只是mqtt通过用1883,所以此处用1883,最后点击确定。

image.png

2.获取证书

访问baetyl-broker的证书在baetyl-core这个pod当中,

方案一:在边缘端执行kubectl exec

通过kubectl exec命令进入到baetyl-core当中获取证书,证书保存在/var/lib/baetyl/system/certs目录下。执行命令如下。

Plain Text
1root@userver-desk:~# kubectl exec -it baetyl-core-7d5995f956-7jszr -n baetyl-edge-system /bin/sh
2kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl kubectl exec [POD] -- [COMMAND] instead.
3/ # cd /var/lib/baetyl/system/certs
4/var/lib/baetyl/system/certs # ls
5ca.pem   crt.pem  key.pem

复制上面3本证书的文件内容到本地,如下图所示:

image.png

方案二:通过云端远程调试直接进入baetyl-core

点击远程调试

image.png

进入到/var/lib/baetyl/system/certs目录下,查看证书文件

image.png

3.使用mqtt box连接本地broker

主要说明:只能在部署baetyl-broker的那个边缘节点机器上使用mqtt box连接baetyl-broker,其他机器即使有证书也无法连接。

当前边缘节点是ubuntu desktop,下载安装mqtt box,然后进行连接配置,配置如下:

image.png

  • Protocol:mqtts/tls
  • Host:必须是127.0.0.1:1883,或者是localhost:1883,使用其他ip地址无效
  • 证书:使用前面保存的3本证书。

4.使用mosquitto连接本地broker

如果你的linux不是桌面系统,无法安装mqtt box,可以使用mosquitto。操作如下:

  • 安装mosquitto-clients
Plain Text
1sudo apt-get install mosquitto-clients
  • 订阅baetyl-broker

进入证书保存的目录,执行如下命令

Plain Text
1mosquitto_sub -h 127.0.0.1 -p 1883 --cafile ca.pem --cert crt.pem --key key.pem -t topic -i adsf
  • 发布消息到baetyl-broker:

新建一个会话session,进入证书保存的目录,执行如下命令

Plain Text
1mosquitto_pub -h 127.0.0.1 -p 1883 --cafile ca.pem --cert crt.pem --key key.pem -t topic -i adsfasd -m test

image.png

  • 查看订阅消息

返回到订阅baetyl-broker的那个session,可以接收到消息test

  • -i 参数后面跟随一个随机码,用于标识mqtt client身份,如果不带-i参数,可能会报Connection Refused: identifier rejected.这样的错误
  • 如果不进入证书目录,可以使用证书绝对路径

上一篇
适配列表
下一篇
使用自定义modbus应用采集