步骤1 购买边缘人脸检测算法包。
1. 登录视频分析服务控制台,并选择与边缘节点相同的区域。
2. 在页面左侧导航栏中选择“服务 > 园区智能体”,进入视觉能力包列表,在边缘 人脸检测算法包所在行单击“购买”。
图1-7 购买边缘人脸检测算法包
3. 选择“购买时长”和“视频路数”,单击“立即购买”。
步骤2 在“服务 > 园区智能体”页面,单击已购买算法包操作栏的“使用”。
步骤3 在目标服务的操作栏,单击“创建作业”,进入创建视觉分析作业页面,设置作业参 数。
步骤4 输入数据选择“Edge Camera”,获取摄像头设备列表,选择相应的摄像头。位于右 侧的摄像头名称表示已选择摄像头,如图1-8所示。
图1-8 选择终端设备
步骤5 输出类型选择“DIS”,通道名选择步骤5中购买的DIS通道,如图1-9所示。
图1-9 填入通道名称
步骤6 单击页面右下角“立即创建”。
创建完成后,就会自动下发作业,由于需要拷贝2G左右的镜像到边缘服务器上,所以 需要一定的时间。可以通过查看作业的状态判断是否成功。
步骤7 查看人脸检测结果。
1. 登录DIS控制台,单击DIS通道名称进入详情页,在“监控”页签查看输入流是否 有数据。
2. 使用DIS接口查看检测到的人脸数据。
----结束
2 工业 IoT 边缘实时流分析
终端设备可以产生大量的数据,为了减少数据上云的数据量或提高数据处理实时性,
有时需要在靠近数据产生的地方对其进行分析处理。智能边缘平台可以和数据湖探索 服务(DLI)结合,通过在边缘节点上部署系统提供的流计算应用,将实时流计算能力 从云端延伸到边缘。然后通过数据湖探索服务编辑流处理作业并下发到边缘执行,可 以帮助您在边缘快速实现对流数据的实时、快速、准确地分析处理。
图2-1 边缘实时流分析
前提条件
● 已开通IEF和DLI服务。
● 已成功注册并纳管边缘节点。
部署应用
图2-2 创建作业
步骤5 配置作业信息。
类型选择“Flink Edge SQL”,填写名称,描述、模板和标签均为可选填内容,若使 用已存在的模板创建作业,可帮助您快速完成新建。
步骤6 单击“确定”,进入“编辑”页面。
图2-3 编辑作业
步骤7 根据需要编辑Flink SQL边缘作业,处理终端设备数据。当前支持edgehub类型 、 encode为json或csv的输入输出,具体SQL语法可参考Flink SQL语法参考。
参考示例:功能为输出学生成绩大于或者等于80分的姓名和成绩。
create source stream student_scores(name string, score int) with ( type = "edgehub",
topic = "abc", encode = "json",
json_config = "score = student.score; name=student.name"
);create sink stream excellent_students(name string, score int) with ( type = "edgehub",
topic = "abcd", encode = "csv", field_delimiter = ","
);insert into excellent_students select name, score from student_scores where score >= 80;
步骤8 在界面右侧选择作业所需并行数和作业所属边缘节点,支持选择多个边缘节点部署作
步骤1 登录任一节点(该节点需与边缘节点网络互通),安装mosquitto软件。
mosquitto软件的下载请参见https://mosquitto.org/download/。
步骤2 执行如下命令订阅数据。
mosquitto_sub -h 127.0.0.1 -t abcd abcd为作业中定义的topic名称。
步骤3 打开一个新的窗口,执行如下命令发布数据。
mosquitto_pub -h 127.0.0.1 -t abcd -m '{"student":{"score":
90,"name":"1bc2"}}'
abcd为作业中定义的topic名称。
数据发布后,在步骤2中订阅就能收到对应的数据。
----结束
3 通过专线或 VPN 连接 IEF
操作场景
线下边缘节点无法通过公网访问IEF时,可以选择通过云专线(DC)或VPN连接华为 云VPC,然后通过VPC终端节点在VPC提供私密安全的通道连接IEF,从而使得线下边 缘节点在无法访问公网时连接IEF。
连接方案说明
纳管边缘节点部署应用时,需要能够与IEF、SWR、OBS通信,在无法通过公网连接的 情况下,可以先通过VPN或专线(DC)与华为云VPC连接,然后通过VPC终端节点服 务,让VPC能够在内网访问IEF、SWR和OBS,具体连接方案如图3-1所示。
与IEF连接需要创建三个终端节点,分别为如下三个。
● ief-placement:用于边缘节点的纳管和升级。
● ief-edgeaccess:用于边缘节点与IEF发送边云消息。
● ief-telemetry:边缘节点上传监控和日志数据。
与SWR连接需要创建一个终端节点,与OBS通信需要创建OBS和DNS两个终端节点
(OBS只能通过域名访问,需要通过DNS动态解析OBS的地址才能访问到)。
图3-1 通过专线或 VPN 连接 IEF
操作步骤
步骤1 在华为云上创建VPC。
创建VPC的方法请参见创建虚拟私有云和子网。
您也可以使用已有VPC。
须知
VPC网段不能与IDC的网段重复。
步骤2 使用DC或VPN连接VPC。
具体连接方法请参见如下链接。
●
VPN:https://support.huaweicloud.com/qs-vpn/zh-cn_topic_0133627788.html
1. 登录VPCEP控制台,单击右上角的“购买终端节点”。
2. 选择IEF的终端节点和虚拟私有云,如下图所示。
图3-2 创建 IEF 终端节点
3. 单击“立即购买”,确认信息无误后单击“提交”,完成创建。
步骤4 创建SWR终端节点,使得边缘节点能够从SWR拉取容器镜像。
创建方法与创建IEF终端节点相同。
图3-3 创建 SWR 终端节点
步骤5 创建DNS和OBS终端节点,使得边缘节点能够访问OBS。
具体方法请参见访问OBS。
步骤6 给边缘节点添加hosts配置。
192.168.2.20 ief2-placement.cn-north-1.myhuaweicloud.com 192.168.2.142 ief2-edgeaccess.cn-north-1.myhuaweicloud.com 192.168.2.106 ief2-telemetry.cn-north-1.myhuaweicloud.com 192.168.2.118 swr.cn-north-1.myhuaweicloud.com
步骤7 注册并纳管边缘节点,具体步骤请参见边缘节点概述。
ief-placement ief2-placement.cn-north-1.myhuaweicloud.com ief-edgeaccess ief2-edgeaccess.cn-north-1.myhuaweicloud.com
ief-telemetry ief2-telemetry.cn-north-1.myhuaweicloud.com
区域 名称 域名
ief-telemetry ief2-telemetry.cn-north-4.myhuaweicloud.com swr swr.cn-north-4.myhuaweicloud.com
华南-广州
ief-placement ief-placement.cn-south-1.myhuaweicloud.com ief-edgeaccess ief-edgeaccess.cn-south-1.myhuaweicloud.com
ief-telemetry ief-telemetry.cn-south-1.myhuaweicloud.com swr swr.cn-south-1.myhuaweicloud.com
华东-上海一
ief-placement ief-placement.cn-east-3.myhuaweicloud.com ief-edgeaccess ief-edgeaccess.cn-east-3.myhuaweicloud.com
ief-telemetry ief-telemetry.cn-east-3.myhuaweicloud.com swr swr.cn-east-3.myhuaweicloud.com
华东-上海二
ief-placement ief2-placement.cn-east-2.myhuaweicloud.com ief-edgeaccess ief2-edgeaccess.cn-east-2.myhuaweicloud.com
ief-telemetry ief2-telemetry.cn-east-2.myhuaweicloud.com swr swr.cn-east-2.myhuaweicloud.com
4 使用开源 C 语言库连接 MQTT Broker
操作场景
MQTT是一种发布/订阅模式的消息协议,能够在硬件性能低下的远程设备以及网络状
况糟糕的情况下工作。本文介绍一种开源的C语言库Eclipse Paho C Client Library连接使用IEF的内置MQTT Broker。
操作步骤
步骤1 准备一台Linux机器,下载源码。
git clone https://github.com/eclipse/paho.mqtt.c.git
或直接在https://github.com/eclipse/paho.mqtt.c页面下载zip包,然后解压。
步骤2 安装编译依赖工具。
Ubuntu系统执行如下命令。
apt-get install build-essential gcc make cmake cmake-gui cmake-curses-gui apt-get install fakeroot fakeroot devscripts dh-make lsb-release
yum install fakeroot fakeroot devscripts dh-make lsb-release yum install openssl-devel
yum install ninja-build 步骤3 修改示例程序代码。
在源码的“src/samples/ paho_cs_pub.c”文件中,增加如下行。
ssl_opts.enableServerCertAuth =0;
在“src/samples/paho_cs_sub.c”文件中增加如下行。
步骤4 编译示例程序。
mkdir /tmp/build.paho cd /tmp/build.paho
cmake -GNinja -DPAHO_BUILD_STATIC=TRUE -DPAHO_BUILD_SHARED=FALSE -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_SAMPLES=TRUE {paho.mqtt.c目录}
ninja package
其中 {paho.mqtt.c目录} 为paho.mqtt.c源码所在的目录,如“/root/work/
paho.mqtt.c”。
步骤5 进入编译之后的目录,将编译生成的二进制文件“paho_cs_pub”和“paho_cs_sub”
拷贝至边缘节点上。
cd /tmp/build.paho/src/samples/
步骤6 下载边缘节点证书。
1. 登录IEF控制台,在左侧选择“边缘资源 > 边缘节点”,在右侧单击边缘节点名 称,进入边缘节点详情页。选择“证书”页签,单击“添加证书”。
图4-1 添加证书
2. 在弹出的窗口中输入证书名称,单击“确定”。
3. 将下载好的证书,拷贝至边缘节点,并解压。
步骤7 运行示例程序。
以发布消息到指定topic为示例,查看“paho_cs_pub”命令指导。
这条命令向内置MQTT Broker名为“aaa”的Topic发送了内容为“xxx”的消息,其中
“127.0.0.1:8883”为边缘节点内置MQTT Broker的地址,“/root/mqtt_cert/
xOEMIsYVpw_private_cert.crt”和“/root/mqtt_cert/
xOEMIsYVpw_private_cert.key”为边缘节点证书。
----结束