检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建工程 本文以 Visual Studio 2017 作为项目开发IDE。 新建工程 打开“Visual Studio > 文件 > 新建 > 项目 > 选择新建.Net Core控制台应用”,这里创建一个名为ModuleSDK-Demo的工程进行下面的实践。 添加本地Nuget
项目构建发布 修改构建类型 “Visual Studio > 生成 > 配置管理器”,将"活动解决方案配置"选择为"Release"。 项目发布 “Visual Studio > 生成 > 发布 ModuleSDK-Demo”。 单击配置按钮,将弹出"配置文件设置"窗口,可根据您实际使用的开发环境进行配置
InfluxDB V2类型通道分配至节点 操作步骤 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。 在左边导航栏选择“边缘节点 > 路由转发”“进入页面,单击创建通道创建的“InfluxDB”类型通道的端点名称。 进入通道详情界面,单击“分配节点”。 进入分配节点界面,勾选节点部署
前提条件 开发环境要求:安装.Net开发环境(仅支持.NET and .NET Core 2.0及以上版本,建议使用.Net 6.0版本)。 开发工具:Visual Studio 或者 Rider 。 父主题: 开发指导
ItClient方法说明 ModuleSDK中,客户端类ItClient提供多个方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 ItClient方法说明 接口 说明 createFromEnv 根据环境变量创建客户端,相关配置参数从环境变量获取。 syncConfigs
AppClient方法说明 ModuleSDK中,客户端类AppClient提供多个方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 AppClient方法说明 接口 说明 createFromEnv 根据环境变量创建客户端,相关配置参数从环境变量获取。 setBusMessageCallback
生成可执行文件 需要Linux开发环境,可利用CLion远程调试或者将工程打包到Linux服务器上编译生成可执行文件 编译生成可执行文件(MyCApp),可以通过CLion之间编译生成,也可以通过在Linux服务器上通过命令行生成。 下面提供在Linux服务器使用命令行生成的方法。
代码解析 项目结构如下 表1 类相关说明 类名称 描述 Device 设备类,包含设备的id,产品id,slaveId及能力定义。 Main 主启动类。 ModbusCfg modbus配置。 ModbusDriver 业务主体类,该类含边侧设备添加,设备同步,数据收集及上报等演示
Demo1 该Demo主要展示edge.h和edge_daemon.h里的回调函数和接口函数使用。 #include "edge.h" #include "edge_daemon.h" #include <stdio.h> #include <unistd.h> /* * 描述
DriverClient方法说明 ModuleSDK中,客户端类DriverClient提供多个方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 DriverClient方法说明 接口 说明 createFromEnv 根据环境变量创建客户端,相关配置参数从环境变量获取
部署应用 部署应用,具体请参考部署应用,进入节点详情页安装应用。 父主题: 集成ModuleSDK进行协议转换
Demo2 该Demo主要展示edge_driver.h里的回调函数和接口函数使用。 #include "edge_driver.h" #include <stdio.h> #include <string.h> #include <unistd.h> /** * 驱动Demo
制作镜像包或插件包 若制作镜像包以容器化方式部署应用,不支持在一个容器内运行多个集成ModuleSDK的软件进程或者重启集成ModuleSDK的软件进程,会导致鉴权失败等问题。 镜像包打包 上传需要打包的项目。将项目上传到网络能访问到的Linux机器上,放到目录下(比如 /home
Demo3 Demo代码中具体实现的是模拟电机设备上报数据,SDK获取上报数据做进一步分析处理。 如果遇到状态为error,则调用事先在产品模型定义好的设备命令。对于未指定MOTOR_PRODUCT_ID的产品上报的数据将继续上报给云端。 该Demo的应用可参考集成ModuleSDK
客户端通用方法说明 ModuleSDK中提供多个通用方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 客户端通用方法 接口 说明 open 打开客户端。 startModuleShadow 启动影子,设置收到影子回调并触发获取影子动作。 getModuleShadow
DcClient方法说明 ModuleSDK中,客户端类DcClient提供多个方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 DcClient方法说明 接口 说明 createFromEnv 根据环境变量创建客户端,相关配置参数从环境变量获取。 setPointsCallback
设备接入 启动HTTP服务端,进入设备详情页可看到上报的数据。设备状态显示未激活。如需更改可参照集成ModuleSDK后,上报数据成功后,设备状态显示为未激活,如何上报子设备状态? 图1 边缘设备列表 父主题: 集成ModuleSDK进行协议转换
部署应用 部署应用,具体参考部署应用,进入节点详情页安装应用。 父主题: 集成ModuleSDK进行OT数采
制作镜像包或插件包 若制作镜像包以容器化方式部署应用,不支持在一个容器内运行多个集成ModuleSDK的软件进程或者重启集成ModuleSDK的软件进程,会导致鉴权失败等问题。 镜像包打包 构建需要打包的项目 构建项目,此处示例,构建好的文件存放在目录 /home/ModuleSDK-Demo
添加应用 以进程部署方式为例,镜像包上传到对象存储服务OBS后。 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。 选择左侧导航栏“边缘节点 > 应用管理”进入页面,选择驱动应用,单击“添加应用”。 在“添加驱动应用”弹窗中填写相关信息,然后单击“确认”。 前往应用版本配置界面