检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
方案概述 基于ModuleSDK开发应用实现数据处理或自定义驱动时,分为开发和使用两个部分。 开发操作 开发说明 App应用的开发 利用DcClient进行自定义的业务处理 App应用的使用 将应用打包上传至云,部署到节点,连接子设备查看应用工作状态 父主题: 开发指导
方案概述 基于ModuleSDK开发应用实现数据处理或自定义驱动时,分为开发和使用两个部分。 开发操作 开发说明 应用的开发 利用客户端(AppClient、DriverClient、ItClient、DcDriver)进行自定义的业务处理 应用的使用 将应用打包上传至云,部署到节点。连接子设备查看应用工作。
function_types 否 Array 功能类型列表 数组长度:0 - 1000 protocol 否 String 驱动协议类型搜索关键字 最小长度:1 最大长度:64 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String
等待5秒后,刷新应用界面,可看到部署的自定义应用的实例状态为“运行中”,表明该进程包插件已运行起来。 若部署应用后实例状态为“实例异常”,请检查上传进程包到OBS桶时,是否已将桶策略设置为“公开读”。 登录边缘节点服务器后台系统,执行命令。 //process为进程包中的脚本名称,根据实际情况进行调整
是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 最小长度:1 最大长度:64 edge_node_id 是 String 边缘节点ID 最小长度:1 最大长度:64 表2 Query参数 参数 是否必选 参数类型 描述 parsed
Demo3 Demo代码中具体实现的是模拟电机设备上报数据,SDK获取上报数据做进一步分析处理。 如果遇到状态为error,则调用事先在产品模型定义好的设备命令。对于未指定MOTOR_PRODUCT_ID的产品上报的数据将继续上报给云端。 该Demo的应用可参考集成ModuleSDK进行数据处理。
最小长度:1 最大长度:64 表2 Query参数 参数 是否必选 参数类型 描述 protocol_type 是 String 协议类型 最小长度:1 最大长度:32 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务
应用管理列表:所有的边缘应用会显示在边缘应用列表中。 您可以查看应用的应用类型、部署方式、功能类型、最新发布版本、描述、创建时间、操作等。 若应用包含版本,则不允许删除此应用。若需删除应用,请先删除该应用的版本。 图1 应用管理列表 应用详情:在应用列表中,单击“应用名称”进入应用详情,可以查看应用最新版本的
OFF_SHELF deploy_type 否 String 应用部署类型 最小长度:0 最大长度:64 枚举值: docker process 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务
自定义,不支持中文,必填,长度不能小于4个字符。 驱动名称 自定义,必填,长度不能小于4个字符。 协议类型 应用集成的协议类型,如无,选择Other。 驱动用途 您可以根据实际情况选择 数据采集:提供OT数采能力。 混合应用:包含数据处理、协议转换、子系统接入、网关管理、数据采集其中两个及以上功能的应用。
输入镜像地址:统一在容器镜像服务(SWR)中管理。 单击选择 选择镜像:选择需要部署的镜像,单击“确认”。 我的镜像:展示了您在容器镜像服务中创建的所有镜像。 他人共享:展示了其他用户共享的镜像。 版本:选择需要部署的镜像版本。 安装包地址 部署方式为安装包部署时,填写您此前上传到对象存储服务OBS中的安装包地址。
Token认证。 最小长度:0 最大长度:20000 表3 请求Body参数 参数 是否必选 参数类型 描述 description 否 String 应用描述 deploy_type 否 String 部署类型docker|process 最小长度:0 最大长度:64 deploy_multi_instance
集成ModuleSDK后,在高级配置中必须挂载config卷,主机目录和容器目录均为自定义,可参考下图。模块身份等信息均由SDK存储在config卷中,如果不配置挂载config卷,会导致自定义应用重启后无法与EdgeHub成功建立MQTT连接。 确认配置 参数名称 说明 应用名称 自定义,如iot_edge
ItClient方法说明 ModuleSDK中,客户端类ItClient提供多个方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 ItClient方法说明 接口 说明 createFromEnv 根据环境变量创建客户端,相关配置参数从环境变量获取。 syncConfigs
unsigned int body_len) { // 设置发送设备数据的消息总线输出点,取值需在创建应用版本的outputs参数中定义 char* output_name = "output"; printf("start send message to
表3 请求Body参数 参数 是否必选 参数类型 描述 devices 是 Array of DeviceDefaultValues objects 设备默认值数组 表4 DeviceDefaultValues 参数 是否必选 参数类型 描述 device_id 是 String
参数 是否必选 参数类型 描述 configs 否 Array of ConfirmIaConfigRequestBody objects 确认配置项列表 数组长度:0 - 100 表4 ConfirmIaConfigRequestBody 参数 是否必选 参数类型 描述 id 是 String
响应Body参数 参数 参数类型 描述 count Long 总记录数 最小值:0 最大值:1000000 page_info PageInfoDTO object 分页信息 devices Array of QueryDcDeviceRespDTO objects 每页记录数 数组长度:0 -
分”选项,bit位置设置为“0”,存储类型选择“int”,即上报的数据为该点位“比特0”的值,单击“确认” 只有点位的数据类型为“整型”才支持点位拆分,即int、uint、int64、short、ushort、long、ulong这7种类型 修改点位配置后,单击“下发”,将配置更新给边缘网关。
参数 是否必选 参数类型 描述 configs 否 Array of ConfirmIaConfigRequestBody objects 确认配置项列表 数组长度:0 - 100 表5 ConfirmIaConfigRequestBody 参数 是否必选 参数类型 描述 id 是 String