检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
InfluxDB V2类型通道分配至节点 操作步骤 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。 在左边导航栏选择“边缘节点 > 路由转发”“进入页面,单击创建通道创建的“InfluxDB”类型通道的端点名称。 进入通道详情界面,单击“分配节点”。 进入分配节点界面,
透传网关模式接入 本模式适用于两种场景的设备: 支持TCP/IP协议栈的设备,设备可以直接与物联网平台进行通信,但希望直连边缘节点实现近端管理的设备。 不支持TCP/IP协议栈的设备,无法直接同物联网平台通信,需要通过网关连接边缘节点实现近端管理的设备。 IoTEdge支持透传IoTDA报文的能力详情,如表表1。
调试API 使用paw/postman等工具调试API。 前提条件 在调用API之前需要获取token。 调用查询应用列表API。 操作步骤 查看API说明(关注API地址、请求类型、请求参数、返回参数),IoTEdge文档>API参考>API>应用管理>查询应用列表。 其包含两个必选参数
创建通道 路由转发提供管理数据接收端通道的能力,包括基本的新增、删除、修改以及分配等功能。 操作步骤 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。 选择左边导航栏“边缘节点 > 路由转发”进入页面,单击右上角“添加数据接收端点”,添加通道; 当前通道支持MQTT、IoTDB、InfluxDB
创建工程 本文以 Visual Studio 2017 作为项目开发IDE。 新建工程 打开“Visual Studio > 文件 > 新建 > 项目 > 选择新建.Net Core控制台应用”,这里创建一个名为ModuleSDK-Demo的工程进行下面的实践。 添加本地Nuget包源
协议转换(驱动应用) 驱动提供子设备管理和数据上报功能。 子设备管理功能包括子设备增删和配置子设备数据采集协议。设备的增删有两种形式,一是在云端增删,通过集成驱动SDK,可以接收到北向应用管理子设备的回调,即北向应用通过IoTEdge创建/删除设备时,自定义驱动应用可以接收到事件
内部架构 模块SDK用于开发运行在边缘节点中的应用,包括数据处理应用(简称应用,例如数据清洗)和协议驱动(简称驱动,例如EdgeAccess)。 图1 边缘设备接入和应用开发能力架构图 部署在边缘节点中的第三方应用和第三方驱动使用模块SDK进行开发。 图2 模块SDK调用流程图 基本调用流程如图2所示。
边缘节点和子设备均在线,为什么子设备上报的数据在IoTDA平台查看不到? 查看EdgeHub日志(专业版节点日志路径:/var/IoTEdge/log/sys_edge_hub/log/edge-hub-running.log;专业版节点日志路径:/var/IEF/app/log
主备配置 图1 构架图 通过主备配置,保证主机数据的可靠性和相关业务的可持续性。 [主] 执行边缘所有业务, [备] 下载所有镜像且仅执行edge_agent、edge_keepalive应用,在主节点发生宕机,网络故障等情况下进行主备倒换,且原主节点恢复后不会进行抢占。 使用约束
设备接入 使用MQTT.fx模拟设备接入。 下载MQTT.fx及证书,证书下载地址。 安装完成后打开,MQTT.fx软件界面如下: Connect左边的蓝色齿轮为设置。 Publish是消息发送,Subscribe为消息接收,Log可查看日志。 单击设置-General,输入以下信息
代码解析 代码解释使用ModuleSDK开发应用集成ModuleSDK进行数据处理。 AppClient类有以下几个关键方法(具体参考JavaDoc)。 createFromEnv(): AppClient创建时由此方法自动获取环境变量。 setBusMessageCallback():
状态码 状态码如表1所示。 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。
接口方法 表1 DcClient支持的接口方法 接口 说明 CreateFromEnv 创建客户端 ,执行初始化操作 Open 打开客户端,开始消息收发 Close 关闭客户端,清理资源 ForbidSendWhenBrokerOverLoaded 设置是否在离线缓存达到阈值时禁止发送数据
接口函数 表1 edge.h中支持的接口函数 接口 说明 edge_init 初始化sdk的工作环境,加载证书、读取配置等 edge_set_callbacks 注册回调接口,登录、子设备添加、删除、设备消息、设备命令等都是异步通知的,故需要注册对应的处理函数 edge_login