检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 更多服务错误码请参见API错误中心。 状态码 错误码 错误信息 描述 处理措施 400 IoTEdge.00000005 The request parameter is invalid
C版 SDK获取和安装 1. 安装cmake开发环境。 通过命令安装,也可以手动下载,下载地址: https://cmake.org/download/ 华为云C SDK支持cmake 3.9.5 及其以上版本。 2. 使用CLion创建工程。 3. 下载ModuleSDK。 4
操作前准备 已注册华为云账号,且已完成实名认证。 已开通设备接入IoTDA服务和IoT边缘IoTEdge服务。 访问设备接入IoTDA服务产品首页,单击“立即使用”,即可自助开通服务。 访问IoT边缘IoTEdge服务产品首页,单击“管理控制台”,进入IoT边缘服务控制台,单击页
代码解析 开发自定义驱动,进行OT数采。 public class DcDriver implements PointsCallback, ModuleShadowNotificationCallback { /** * 数采应用客户端,与边缘Hub建立MQTT连接
接口方法 表1 DcClient支持的接口方法 接口 说明 CreateFromEnv 创建客户端 ,执行初始化操作 Open 打开客户端,开始消息收发 Close 关闭客户端,清理资源 ForbidSendWhenBrokerOverLoaded 设置是否在离线缓存达到阈值时禁止发送数据
配置流程 图1 数据采集实施步骤 创建边缘网关(专业版),请参考 边缘节点。 创建产品,选择Other协议(自定义协议要用Other)。 设备建模,产品中添加自定义service和属性。 添加子设备,请参考设备接入边缘节点。 添加驱动应用,发布版本,请参考添加驱动应用。 边缘节点部署相应的驱动应用,请参考部署应用。
代码解析 开发自定义驱动,进行OT数采。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
AppClient方法说明 ModuleSDK中,客户端类AppClient提供多个方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 AppClient方法说明 接口 说明 createFromEnv 根据环境变量创建客户端,相关配置参数从环境变量获取。 setBusMessageCallback
代码解析 代码解释使用ModuleSDK开发应用集成ModuleSDK进行数据处理。 AppClient类有以下几个关键方法(具体参考JavaDoc)。 createFromEnv(): AppClient创建时由此方法自动获取环境变量。 setBusMessageCallback():
状态码 状态码如表1所示。 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。
节点管理 安装专业版节点异常如何处理? 安装专业版节点,执行安装命令时失败,一直提示“edgedaemon not found"? 安装专业版节点失败,提示“edge_core has existed”,该如何处理? 专业版节点所在机器断网/断电一段时间后恢复,节点模块一直处于“部署中”怎么处理?
边缘节点离线排查指南 问题描述 在IoTEdge边缘控制台的“边缘节点”>“节点管理页面”,查看节点状态,期望状态是在线,但实际状态为离线。 可能原因 安装边缘节点的机器存在网络限制,包括但不限于安全组未放通、系统防火墙限制、路由器拦截等。 安装边缘节点的机器底层网络不稳定,存在丢包情况。
IoTEdge与IEF的关系和区别是什么? IoTEdge是一组软件产品,包含云服务、边缘运行时软件、边缘模块应用,将云端能力快速拓展至边缘,提供数据采集、低时延自治、云边协同、边缘计算等能力,在园区、城市、工业等场景,作为数据源切入点,解决客户对设备上云、本地计算、数据预处理等
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于创建&更新北向NA信息接口,如果调用后返回状态码为“200”,则表示请求成功。 响应消息头 对应
方案概述 基于ModuleSDK开发应用实现数据处理或自定义驱动时,分为开发和使用两个部分。 开发操作 开发说明 应用的开发 利用客户端(AppClient、DriverClient、ItClient、DcDriver)进行自定义的业务处理 应用的使用 将应用打包上传至云,部署到节点。连接子设备查看应用工作。
查看配置结果 当完成模块配置后,可以在已部署的应用模块中确定对应的配置数据是否下发至边缘。 登录网关节点,并打开自定义应用日志,进行观察: 图1 影子数据 数据详情: { "properties": { "default_values": {
环境要求 安装边缘节点的服务器需要与设备在同一网域,因此您可以 局域网:使用两台电脑(一台Windows,一台Linux),或者在一台Windows电脑上使用虚拟化软件安装Linux(网卡需要设置为桥接模式)。 公网:分别使用两台拥有公网的Window和Linux电脑,推荐购买两台ECS服务器。
内部架构 模块SDK用于开发运行在边缘节点中的应用,包括数据处理应用(简称应用,例如数据清洗)和协议驱动(简称驱动,例如EdgeAccess)。 图1 边缘设备接入和应用开发能力架构图 部署在边缘节点中的第三方应用和第三方驱动使用模块SDK进行开发。 图2 模块SDK调用流程图 基本调用流程如图2所示。
内部架构 表1 提供的客户端类型 类 说明 AppClient 应用客户端,用于开发设备数据处理应用。 DriverClient 驱动客户端,用于开发驱动接入设备,驱动需实现网关回调接口。 ItClient IT客户端,用于开发IT集成应用。 DcDriver OT数采客户端,用于开发点位数采驱动。
下载Demo 首先参考创建工程的步骤创建新的工程。 复制Demo,解压并覆盖新建项目中的 main.c 文件。 最终的文件树应如下图所示。 MyCApp │ ├─main.c // 主程序 │ ├─lib // sdk库文件 │ │ ├─libmodule.so │ │ └─***