检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
操作步骤 创建边缘节点 准备数据源 部署边缘数采应用 设备建模&发放 OT数采配置 查看采集结果 父主题: 基于IoT边缘实现模拟IEC104网关的接入
网络问题排查 连接拒绝 连接超时 父主题: 常见问题
点位下写失败 下写数据类型与配置类型不匹配 下写不可写寄存器 未知数据类型下写 下写数据结果与预期不一致 父主题: 常见问题
基于IoT边缘实现业务应用自定义配置 实验简介 操作步骤
插件侧开发 概述 架构介绍 集成ModuleSDK(Java) 集成ModuleSDK(C) 集成ModuleSDK(C#)
开发指导 接口函数 方案概述 前提条件 创建工程 项目打包 制作镜像包或插件包 添加应用 发布应用 如何使用 父主题: 集成ModuleSDK(Java)
开发指导 接口函数 前提条件 创建工程 生成可执行文件 制作镜像包或插件包 添加应用 发布应用 如何使用 父主题: 集成ModuleSDK(C)
集成ModuleSDK进行数据处理 场景说明 代码解析 注册节点 创建产品 修改代码 项目打包 制作镜像包或插件包 创建应用 部署应用 添加边缘设备 设备接入 查看SDK运行日志 父主题: 集成ModuleSDK(C)
内部架构 表1 通用接口 接口 说明 IModuleShadowCallback 模块影子回调,实现对影子通知的处理 IPointsCallback 点位处理回调,实现点位的读写操作 IConnectionStatusChangeCallback 连接状态变化回调接口,用于MQTT连接状态改变时的处理
集成ModuleSDK进行进程应用的开发 操作场景 代码解析 注册节点 设备建模&发放 项目打包 制作插件包 添加应用 部署应用 父主题: 集成ModuleSDK(Java)
订购子系统对接服务 登录华为云官网,选择“产品 > IoT物联网 > 边缘计算 > IoT边缘 IoTEdge”。 单击“管理控制台”进入IoT边缘控制台。 单击“总览”页右上角“我的订购服务”,进入购买页面。 选择“子系统对接服务”,单击“购买”。 根据需要选择合适的资源包类型
部署应用 部署应用,具体请参考部署应用,进入节点详情页安装应用。 父主题: 集成ModuleSDK进行协议转换
设备接入 启动HTTP服务端,进入设备详情页可看到上报的数据。设备状态显示未激活。如需更改可参照集成ModuleSDK后,上报数据成功后,设备状态显示为未激活,如何上报子设备状态? 图1 边缘设备列表 父主题: 集成ModuleSDK进行协议转换
代码解析 项目结构如下 表1 类相关说明 类名称 描述 Device 设备类,包含设备的id,产品id,slaveId及能力定义。 Main 主启动类。 ModbusCfg modbus配置。 ModbusDriver 业务主体类,该类含边侧设备添加,设备同步,数据收集及上报等演示。
生成可执行文件 需要Linux开发环境,可利用CLion远程调试或者将工程打包到Linux服务器上编译生成可执行文件 编译生成可执行文件(MyCApp),可以通过CLion之间编译生成,也可以通过在Linux服务器上通过命令行生成。 下面提供在Linux服务器使用命令行生成的方法。
添加应用 以容器镜像方式为例,镜像包上传到容器镜像服务SWR后,创建应用。 在IoT边缘单击创建应用,进入软件部署配置、运行配置,并确认发布。 在左侧导航栏,单击“应用管理”,选择“应用名称”进入页面,查看应用为“已发布”状态。 父主题: 集成ModuleSDK进行协议转换
添加边缘设备 进入边缘节点概览页,在左侧导航中选择“边缘设备”,单击“添加边缘设备”。 所属产品:选择设备建模中创建的产品 设备标识码:与代码示例保持一致 设备名称:与代码示例保持一致 模块ID: 与部署应用的模块id保持一致 图1 添加边缘设备 单击“确认”,添加设备完成。 父主题:
制作镜像包 将jar文件打包成镜像文件上,请参照制作镜像包或插件包。 dockerfile内容参照如下(具体可参考编写高效的Dockerfile )。 FROM registry-cbu.huawei.com/csopenjdk/openjdk RUN mkdir -p /opt/iot/edge/monitor
项目打包 打包参考项目打包 将modbusdriver进行打包得到modbusdriver.jar。 父主题: 集成ModuleSDK进行协议转换
操作场景 使用ModuleSDK开发插件应用,接入其他协议设备(如HTTP请求数据),将其他协议的数据转化为MQTT协议JSON数据上报到IoTDA。 父主题: 集成ModuleSDK进行协议转换