检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
C版 SDK获取和安装 1. 安装cmake开发环境。 通过命令安装,也可以手动下载,下载地址: https://cmake.org/download/ 华为云C SDK支持cmake 3.9.5 及其以上版本。 2. 使用CLion创建工程。 3. 下载ModuleSDK。 4
方案概述 基于ModuleSDK开发应用实现数据处理或自定义驱动时,分为开发和使用两个部分。 开发操作 开发说明 应用的开发 利用客户端(AppClient、DriverClient、ItClient、DcDriver)进行自定义的业务处理 应用的使用 将应用打包上传至云,部署到节点。连接子设备查看应用工作。
代码解析 代码解释使用ModuleSDK开发应用集成ModuleSDK进行数据处理。 AppClient类有以下几个关键方法(具体参考JavaDoc)。 createFromEnv(): AppClient创建时由此方法自动获取环境变量。 setBusMessageCallback():
状态码 状态码如表1所示。 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。
接口方法 表1 DcClient支持的接口方法 接口 说明 CreateFromEnv 创建客户端 ,执行初始化操作 Open 打开客户端,开始消息收发 Close 关闭客户端,清理资源 ForbidSendWhenBrokerOverLoaded 设置是否在离线缓存达到阈值时禁止发送数据
内部架构 模块SDK用于开发运行在边缘节点中的应用,包括数据处理应用(简称应用,例如数据清洗)和协议驱动(简称驱动,例如EdgeAccess)。 图1 边缘设备接入和应用开发能力架构图 部署在边缘节点中的第三方应用和第三方驱动使用模块SDK进行开发。 图2 模块SDK调用流程图 基本调用流程如图2所示。
配置流程 图1 数据采集实施步骤 创建边缘网关(专业版),请参考 边缘节点。 创建产品,选择Other协议(自定义协议要用Other)。 设备建模,产品中添加自定义service和属性。 添加子设备,请参考设备接入边缘节点。 添加驱动应用,发布版本,请参考添加驱动应用。 边缘节点部署相应的驱动应用,请参考部署应用。
下载Demo 首先参考创建工程的步骤创建新的工程。 复制Demo,解压并覆盖新建项目中的 main.c 文件。 最终的文件树应如下图所示。 MyCApp │ ├─main.c // 主程序 │ ├─lib // sdk库文件 │ │ ├─libmodule.so │ │ └─***
边缘节点离线排查指南 问题描述 在IoTEdge边缘控制台的“边缘节点”>“节点管理页面”,查看节点状态,期望状态是在线,但实际状态为离线。 可能原因 安装边缘节点的机器存在网络限制,包括但不限于安全组未放通、系统防火墙限制、路由器拦截等。 安装边缘节点的机器底层网络不稳定,存在丢包情况。
节点概览 您可以查看边缘节点列表中节点状态及详细信息。在节点详情页,选择“节点概览”页签。 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。 选择左侧导航栏“边缘节点 > 节点管理”进入页面。 图1 边缘节点列表 选择您的边缘节点,单击“节点名称”进入节点详情页。 图2 节点详细信息
AppClient方法说明 ModuleSDK中,客户端类AppClient提供多个方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 AppClient方法说明 接口 说明 createFromEnv 根据环境变量创建客户端,相关配置参数从环境变量获取。 setBusMessageCallback
设备建模&发放 创建产品 使用物联网平台的第一步就是在控制台创建产品。产品是设备的集合,是指某一类具有相同能力或特征的设备的合集被称为一款产品。 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。 在左侧导航栏选择“边缘节点 > 设备建模”进入页面。 单击右上角“创建产品”
上传镜像 镜像上传需要使用SWR镜像容器服务,开通及使用请参照容器镜像服务 SWR_用户指南。 上传镜像 访问SWR容器镜像服务,在左侧导航栏选择“总览”,然后单击右上方“创建组织”。 创建名称为hw_swr的组织 获取SWR登录指令 访问SWR容器镜像服务,在左侧导航栏选择“总览”,然后单击右上角“登录指令”。
调试API 使用paw/postman等工具调试API。 前提条件 在调用API之前需要获取token。 调用查询应用列表API。 操作步骤 查看API说明(关注API地址、请求类型、请求参数、返回参数),IoTEdge文档>API参考>API>应用管理>查询应用列表。 其包含两个必选参数
查看配置结果 当完成模块配置后,可以在已部署的应用模块中确定对应的配置数据是否下发至边缘。 登录网关节点,并打开自定义应用日志,进行观察: 图1 影子数据 数据详情: { "properties": { "default_values": {
节点管理 安装专业版节点异常如何处理? 安装专业版节点,执行安装命令时失败,一直提示“edgedaemon not found"? 安装专业版节点失败,提示“edge_core has existed”,该如何处理? 专业版节点所在机器断网/断电一段时间后恢复,节点模块一直处于“部署中”怎么处理?
边缘节点和子设备均在线,为什么子设备上报的数据在IoTDA平台查看不到? 查看EdgeHub日志(专业版节点日志路径:/var/IoTEdge/log/sys_edge_hub/log/edge-hub-running.log;专业版节点日志路径:/var/IEF/app/log
内部架构 表1 提供的客户端类型 类 说明 AppClient 应用客户端,用于开发设备数据处理应用。 DriverClient 驱动客户端,用于开发驱动接入设备,驱动需实现网关回调接口。 ItClient IT客户端,用于开发IT集成应用。 DcDriver OT数采客户端,用于开发点位数采驱动。
设备接入边缘节点(MQTT) IoT边缘应用部署完成后,边缘节点即作为远端物联网平台在设备侧的延伸,云边协同,共同完成设备管理。边缘节点可以为近端连接的设备就近提供计算和管理服务,如低时延业务本地管理、与云端断链时的本地控制和规则执行等。设备通过接入边缘节点,最终通过边缘节点将数据上传到远端物联网平台。
注册专业版节点 注册专业版节点(Docker) 注册专业版节点(KubeEdge) 父主题: 管理边缘节点