上云无忧 > 文档中心 > 百度智能云智能边缘 - 连接边缘baetyl-broker
智能边缘
百度智能云智能边缘 - 连接边缘baetyl-broker

文档简介:
背景描述: BIE内置baetyl-broker应用,作为边缘消息中间件。同时BIE内置南向驱动采集的数据,也都是先到baetyl-broker模块,然后通过云边协同baetyl-core将消息上报至云端。为了调试方便,通常有连接边缘baetyl-broker查看指定topic消息的需求。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

背景描述

BIE内置baetyl-broker应用,作为边缘消息中间件。同时BIE内置南向驱动采集的数据,也都是先到baetyl-broker模块,然后通过云边协同baetyl-core将消息上报至云端。为了调试方便,通常有连接边缘baetyl-broker查看指定topic消息的需求。

本文将介绍,如何通过云端配置,开放边缘baetyl-broker的访问端口,以及如何通过云端定义的秘钥进行访问连接。

从 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服务。

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


配置指南

节点安装

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

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

配置baetyl-broker访问方式

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

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

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

在conf.yaml配置界面,默认配置信息如下:

更新上述配置信息,如下图所示:

session: sysTopics: - $link - $baetyl logger: level: debug encoding: console 
listeners: - address: 'tcp://0.0.0.0:8883' principals: - username: test password:
 test permissions: - action: pub permit: - '#' - action: sub permit: - '#'

配置解析:

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

开放baetyl-broker本地访问端口

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

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

配置解析

  • 宿主机端口:8883, 容器端口:8883,协议:TCP
  • 这样配置是让baetyl-broker的容器内端口映射到宿主机,可以通过宿主机[ip:port]方式进行访问。

使用MQTT Box进行测试访问

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

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

系统主题说明

如果想要订阅查看像modbus、opc等系统内置南向驱动采集到的数据,可以订阅一下topic进行数据查看。

thing/{deviceProductKey}/{deviceName}/lifecycle/post 子设备上报在离线数据
thing/{deviceProductKey}/{deviceName}/property/post 子设备定期上报测点数据
thing/{deviceProductKey}/{deviceName}/event/post 子设备定期上报事件数据
thing/{deviceProductKey}/{deviceName}/property/invoke 驱动接收来自云端的变更(置数)
thing/{deviceProductKey}/{deviceName}/property/get 驱动接收来自云端的事件(召测)
thing/{deviceProductKey}/{deviceName}/raw/c2d 驱动接收来自云端的自定义格式消息(事件下发)
$baetyl/device/{device-name}/get 发送消息至该主题,获取设备所有数据
$baetyl/device/{device-name}/getResponse 订阅该主题,获取设备所有数据

可以使用通配方式进行订阅,比如订阅topic直接使用如下方式:

thing/+/+/lifecycle/post
thing/+/+/property/post
thing/+/+/event/post
thing/+/+/property/invoke
thing/+/+/property/get
thing/+/+/raw/c2d
$baetyl/device/+/get
$baetyl/device/+/getResponse
$baetyl/device/#

相似文档
  • 场景说明: 数据已经采集到的边缘broker,还需要将采集到的数据上报至云端,本文讲解如何将边缘业务数据上传至远端MQTT Broker。 上传至百度IoT Core。 一、前提准备: 一个能获取设备数据的连网边缘节点(本demo采用应用案例中的modbus采集温湿度传感器demo节点为测试节点。)
  • 本章利用opcua模块,完整演示从OPCUA信号源采集信息的demo。 本demo利用PC当边缘节点,OPCUA信号源采用模拟服务器。模拟服务器和节点在同一PC上。
  • 规则引擎最先被应用在物联网云平台中。针对大量的物联网设备数据,规则引擎通过支持灵活的规则设置,对设备传上云端的设备时序数据、进行过滤、丰富、变换、动作、推送至不同的数据目的地(如时序数据库TSDB、Kafka、对象存储BOS等)以达到不同的业务目标。物联网规则引擎是基于事件驱动的数据流处理引擎,支持多种规则定义方式和描述方式。
  • 本文以一个常见的物联网使用场景为案例,介绍了如何利用边缘计算框架 Baetyl 来实现对业务的快速、低成本和有效地处理。 在各类物联网项目中,比如智能楼宇项目,需要采集和分析楼宇数据,如电梯、燃气、水电等。一种解决方案是将所有的设备直接接入在云端的物联网平台,类似于像 Baidu IoT Core 或者 AWS IoT Core。
  • 简介: baetyl-function 是 baetyl 框架端侧的函数计算框架。端侧函数计算框架由前端代理和后端函数运行时两部分组成。 baetyl-function 提供前端代理,是函数入口,通过暴露 HTTP 接口供其他服务调用,然后将请求透传给后端的函数运行时模块。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部