检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基于IoT边缘实现容器应用镜像插件部署 实验简介 前提条件 操作步骤
software package version. 该应用下面存在应用软件包版本。 请删除所有该应用的应用软件包版本后重试。 400 IoTEdge.02100608 The app does not existed. 应用不存在。 请排查请求中的参数是否携带正确。 400 IoTEdge.02100609
实验简介 本实验将指导您搭建一个基于IoT边缘服务的边缘节点,并在边缘节点上进行容器应用镜像插件部署,将用户自定义的容器镜像部署到边缘节点上,并实现节点上应用之间的数据流转。 通过本实验,您将能够: 了解并掌握IoT边缘服务的功能特点与使用方法。 掌握通过IoTEdge云服务将自定义容器镜像部署到边缘节点的方法。
在IoTEdge上注册节点:在购买的ECS上执行安装脚本命令,即自动部署好2个系统应用,agent用于节点应用管理,hub用于数据通信。 Docker镜像:是集成了边缘SDK的应用程序打包成的容器镜像,可作为边缘节点的自定义应用部署到边缘服务器上运行,可在节点上进行设备数据协议解析、子系统数据解析、数据业务处理、智能计算等。
参考下载Demo 修改CMakeLists.txt文件,添加如下行。 最后三行需保持顺序一致,以免编译出错。 cmake_minimum_required(VERSION 3.9.5) project(MyCApp C) set(CMAKE_C_STANDARD 99) link_directories(
方案概述 基于ModuleSDK开发应用实现数据处理或自定义驱动时,分为开发和使用两个部分。 开发操作 开发说明 App应用的开发 利用DcClient进行自定义的业务处理 App应用的使用 将应用打包上传至云,部署到节点,连接子设备查看应用工作状态 父主题: 开发指导
String 应用ID 最小长度:0 最大长度:64 app_version String 应用版本 最小长度:0 最大长度:64 state String 模块运行状态 枚举值: PENDING PENDING_DELETE DELETE_FAILED RUNNING FAILED
项目打包 按照下载Demo里展示的目录树准备好所需文件,并且将SDK应用编译成可执行文件之后,接下来按照下一章节制作镜像包或插件包。 父主题: 集成ModuleSDK进行数据处理
OT数采配置 此数据源以opcua模板为例。可参考OT数采配置自定义数据模板。自行开发集成ModuleSDK驱动应用,定义自己的数据源模板,以及点位信息后,下发配置。 父主题: 集成ModuleSDK进行OT数采
OT数采配置 此数据源以opcua模板为例。可参考OT数采配置自定义数据模板。自行开发集成ModuleSDK驱动应用,定义自己的数据源模板,以及点位信息后,下发配置。 父主题: 集成ModuleSDK进行数据采集
最小长度:0 最大长度:20000 表3 请求Body参数 参数 是否必选 参数类型 描述 edge_app_id 是 String 边缘应用名称 最小长度:0 最大长度:32 app_version 是 String 边缘应用版本 最小长度:0 最大长度:64 module_name 否
平台、外部实体等其他应用。通过在边缘节点部署$edge_push业务应用,将业务数据转发给云端应用或后端服务以实现业务需求。路由转发可配置本地设备数据转发的接收端,当前支持MQTT、IoTDB和InfluxDB V2数据端对接。路由转发支持将推送失败的数据进行离线缓存。 图1 路由转发流程图
后端服务类型选择HTTP/HTTPS时的配置: 协议:根据北向应用NA使用的协议填写。 请求方式:根据北向应用NA定义的请求方式填写。 vpc通道:根据需求选择。 Virtual Private Network,虚拟专用网络。在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加
必须文件 当前不提供参数方式启动 MyCApp为可执行文件,生成步骤可参考生成可执行文件 打包的文件至少需要包括lib和conf两个目录(目录下所有文件),加启动脚本start.sh和可执行文件 MyCApp 。 添加启动脚本 在可执行文件MyCApp的同一目录下创建启动脚本start
请勾选“释放云服务器绑定的弹性公网IP地址”和“删除云服务器挂载的数据盘”。 删除自定义应用 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。 选择左侧导航栏“边缘节点 > 应用管理”进入页面。 根据应用名称选择需要删除的自定义应用,如iot_edge_process,单击操作列的“删除”即可。
参数 是否必选 参数类型 描述 state 否 String 模块状态 枚举值: RUNNING STOPPED 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 edge_app_id String 应用ID 最小长度:0 最大长度:64 app_version
EdgeModuleDTO 参数 参数类型 描述 edge_app_id String 应用ID 最小长度:0 最大长度:64 app_version String 应用版本 最小长度:0 最大长度:64 state String 模块运行状态 枚举值: PENDING PENDING_DELETE
基于ModuleSDK开发应用实现数据处理或自定义驱动时,分为开发和使用两个部分。 开发操作 开发说明 应用的开发 利用客户端(AppClient、DriverClient、ItClient、DcDriver)进行自定义的业务处理 应用的使用 将应用打包上传至云,部署到节点。连接子设备查看应用工作。
* 监控APP,检视设备上报的数据,并对设备进行相应的控制 */ void monitor_app() { // 禁用缓冲区 setvbuf(stdout, NULL, _IONBF, 0); printf("start monitor app\n");
在机器上执行安装命令。 2.2.4 拉取镜像失败。 现象:pullImage 失败,解决办法: 执行命令`docker images`查看是否有成功拉取镜像。 若未拉取镜像,请尝试手动拉取一个公开镜像,例如拉取系统应用$edge-agent的镜像。 应用管理->搜索应用名称(edge_agent)->查看应用