检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发指导 方案概述 前提条件 创建工程 项目构建发布 制作镜像包或插件包 添加应用 发布应用 接口方法 父主题: 集成ModuleSDK(C#)
前提条件 使用本地IDE进行代码开发: 开发环境要求:已经安装JDK(版本jdk1.8以上,访问Java官网)和maven(下载并安装 Maven)。 开发工具:IntelliJ IDEA 或者eclipse。 下载Java版Module SDK。 使用Visual Studio
前提条件 开发环境要求:安装cmake(版本要求为 3.9.5以上)。 开发工具:CLion 或者 Visual Studio Code 。 父主题: 开发指导
接口函数 客户端通用方法说明 AppClient方法说明 DriverClient方法说明 ItClient方法说明 DcClient方法说明 父主题: 开发指导
添加应用 添加边缘应用具体请参考添加应用。 容器化部署 软件部署配置,部署方式选择“容器化部署”。 选择上传到SWR服务的镜像,如未发现镜像,请检查镜像是否为公开,设置镜像为公开方式:容器镜像服务SWR->我的镜像->单击镜像ID进入详情->右上方编辑。 软件和运行配置。运行配置
添加应用 添加边缘应用具体请参考添加应用。 提供两种不同的部署方式,请根据需要选择合适的部署方式。 容器化部署 部署方式选择”容器化部署”。 建议直接勾选“立即发布”,方便后面直接部署应用的时候,能够获取到最新版本。 软件和运行配置 选择上传到SWR服务的镜像,如未发现镜像,请检
添加应用 以安装包部署方式为例,将应用程序打包成安装包文件,并上传到 对象存储服务(OBS)。 在IoT边缘单击创建应用,进入软件部署配置、运行配置,并确认发布。 在左侧导航栏,单击“应用管理”,选择“应用名称”进入页面,查看应用为“已发布”状态。 父主题: 集成ModuleSDK进行进程应用的开发
com/csopenjdk/openjdk RUN mkdir -p /opt/iot/edge/monitor / && chmod -R 777 /opt/ COPY monitor /opt/iot/edge/monitor USER root EXPOSE
部署应用 IoT边缘>节点>模块>部署应用,具体参考部署应用。 IT应用需要依赖APIGW,在部署IT应用之前,请先部署系统应用$sys_edge_apigw。 添加流转规则 流转规则是非必选的,OT应用需要添加数据流转规则。驱动应用和IT应用不用添加。 父主题: 集成ModuleSDK进行数据处理
ItClient方法说明 ModuleSDK中,客户端类ItClient提供多个方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 ItClient方法说明 接口 说明 createFromEnv 根据环境变量创建客户端,相关配置参数从环境变量获取。 syncConfigs
操作场景 开发应用集成ModuleSDK进行数据处理。 在节点接入一个电机设备,设备遇到问题上报信息“error”给节点,节点监听到设备的“error”信息,下发命令让设备进行重启。 示例工程为monitor-app。 父主题: 集成ModuleSDK进行数据处理
创建应用 以容器镜像方式为例,镜像包上传到容器镜像服务SWR后。 在IoT边缘单击创建应用 建议直接勾选“立即发布”,方便后面直接部署应用的时候,能够获取到最新版本。 添加边缘应用-软件和运行配置 添加边缘应用-端点和部署配置 单击确定完成创建。 父主题: 集成ModuleSDK进行数据处理
修改代码 查看所创建产品的id,查看方式:IoTDA->产品列表。 根据id修改代码。 /** * 电机设备的产品ID */ public static final String MOTOR_PRODUCT_ID = "60988d94aa3bcc02c0200667"; 父主题:
service_id, sub_device_property_set->services[i].properties); } ST_IOT_RESULT result; result.result_desc = "ok"; result.result_code
1 mcr.microsoft.com/dotnet/runtime:2.1 镜像是微软提供的镜像,非IoT团队发布,且IoT团队未提供任何官方镜像。该镜像在此仅做示例,IoT团队对该镜像的安全性不作保证,强烈建议用户自己封装镜像! 编写 Dockerfile 制作镜像。 创建
AppClient方法说明 ModuleSDK中,客户端类AppClient提供多个方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 AppClient方法说明 接口 说明 createFromEnv 根据环境变量创建客户端,相关配置参数从环境变量获取。 setBusMessageCallback
生成可执行文件 需要Linux开发环境,可利用CLion远程调试或者将工程打包到Linux服务器上编译生成可执行文件 编译生成可执行文件(MyCApp),可以通过CLion之间编译生成,也可以通过在Linux服务器上通过命令行生成。 下面提供在Linux服务器使用命令行生成的方法。
代码解析 项目结构如下 表1 类相关说明 类名称 描述 Device 设备类,包含设备的id,产品id,slaveId及能力定义。 Main 主启动类。 ModbusCfg modbus配置。 ModbusDriver 业务主体类,该类含边侧设备添加,设备同步,数据收集及上报等演示。
ModuleSDK-C Demo展示 Demo1 Demo2 Demo3 父主题: 集成ModuleSDK(C)
客户端通用方法说明 ModuleSDK中提供多个通用方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 客户端通用方法 接口 说明 open 打开客户端。 startModuleShadow 启动影子,设置收到影子回调并触发获取影子动作。 getModuleShadow