检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
project(MyCApp C) set(CMAKE_C_STANDARD 99) link_directories(./lib) add_executable(MyCApp main.c) target_link_libraries(MyCApp module) 父主题:
支架架构 根据容器应用镜像支持的架构自行选择,本实验采用的镜像只支持x86架构,故选择“x86_64”。 业务模板 业务应用使用的配置模板。 厂商 应用来源。 单击“确认添加”后,则创建自定义应用成功。 图17 创建自定义应用 查看发布的应用,返回“应用管理”可查看到创建的应用,单击“应用名称”可查看已发布的应用版本。
/home/MyCApp make Consolidate compiler generated dependencies of target MyCApp [100%] Built target MyCApp 可以在目录下找到生成的可执行文件,即MyCApp。 父主题: 开发指导
添加业务应用 添加您的自定义边缘应用。 操作步骤 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。 选择左侧导航栏“边缘节点 > 应用管理”进入页面,选择“业务应用”,单击“添加应用”。 图1 添加业务应用 表1 参数说明 参数名称 参数说明 应用ID 自定义应用ID。 应用名称
客户端通用方法说明 ModuleSDK中提供多个通用方法供客户开发应用时使用,使用时可参考每个函数的功能定义。 表1 客户端通用方法 接口 说明 open 打开客户端。 startModuleShadow 启动影子,设置收到影子回调并触发获取影子动作。 getModuleShadow
询docker信息失败时上报告警。 应用存活探针异常告警:应用配置存活探针,探针检测到异常时上报告警。 设置GPU信息失败告警:边缘节点配置GPU使能时,查询GPU信息失败时上报告警。 申请GPU资源失败告警:部署GPU应用,申请GPU资源失败时上报告警。 图13 查看告警 父主题:
最大长度:64 tpl_id String 模板id,节点下唯一 最小长度:1 最大长度:64 quality_report Boolean 质量上报开关,不携带或值不为true,默认为false edge_app_name String 应用ID 最小长度:0 最大长度:64 connection_info
操作场景 开发应用驱动集成ModuleSDK进行OT数采。(此示例以采集OPCUA为示例) 在节点部署集成了ModuleSDK应用驱动。 配置好数据源模板(可自定义)。 在平台进行数据源配置,以及点位配置,下发。 集成ModuleSDK应用驱动对平台下发的配置进行处理。 通过下发
64GB 单个MQTT设备支持的连接数 1个 单个设备消息最大字节数 1MB 应用管理 单个边缘节点支持添加应用数 20个 每个应用可部署绑定的边缘节点数 100个 应用模板 每个租户可创建的应用模板数 50个 路由管理 每个账户支持添加数据转发目标端数 10个 每个路由转发目标端可绑定的边缘节点数
* 监控APP,检视设备上报的数据,并对设备进行相应的控制 */ void monitor_app() { // 禁用缓冲区 setvbuf(stdout, NULL, _IONBF, 0); printf("start monitor app\n");
最大长度:64 tpl_id String 模板id,节点下唯一 最小长度:1 最大长度:64 quality_report Boolean 质量上报开关,不携带或值不为true,默认为false 缺省值:false edge_app_name String 应用ID 最小长度:0 最大长度:64
需要配置,如OT应用(数据处理)。 驱动类应用和IT应用一般不需要配置。 安装包部署 添加边缘应用-应用配置 部署方式选择安装包部署 添加边缘应用-软件和运行配置 ”安装包地址”为{桶名/对象名}。 如桶名为edge-monitor,对象名为monitor-app.zip, 则安
最大长度:64 tpl_id String 模板id,节点下唯一 最小长度:1 最大长度:64 quality_report Boolean 质量上报开关,不携带或值不为true,默认为false edge_app_name String 应用ID 最小长度:0 最大长度:64 connection_info
02100601 The app has already existed. 应用已存在。 请尝试更换其他名称进行重试。 400 IoTEdge.02100603 The app contains software package version. 该应用下面存在应用软件包版本。 请删除所有该应用的应用软件包版本后重试。
、虚机)。 应用 基础版和专业版上运行的进程和容器应用,每个应用对应一个进程或容器。 应用版本 确定了软件包以及编排包的应用,如MySQL 5.7。 模块 将应用的某个版本部署到基础版/专业版上运行的实例。 模块影子 存储应用配置的JSON文档,通过云边协同同步到应用实例。 数据流转
上传容器应用镜像到SWR 应用镜像需集成边缘SDK,根据需要可分别基于ItClient/OAClient/DriverClient进行开发。此处仅演示部署步骤,故可直接拉取一个现有的可公开拉取到的镜像。 登录边缘节点硬件(例如步骤2.1购买的ECS),执行拉取镜像的命令: //1
使用paw/postman等工具调试API。 前提条件 在调用API之前需要获取token。 调用查询应用列表API。 操作步骤 查看API说明(关注API地址、请求类型、请求参数、返回参数),IoTEdge文档>API参考>API>应用管理>查询应用列表。 其包含两个必选参数 X-Auth-Token,即前面获取的token。
当完成模块配置后,可以在已部署的应用模块中确定对应的配置数据是否下发至边缘。 登录网关节点,并打开自定义应用日志,进行观察: 图1 影子数据 数据详情: { "properties": { "default_values": { "app_name":
COPY MyCApp/MyCApp $docker_path # 将依赖库和配置文件放到对应目录下,确保编译的时候不会出错 COPY MyCApp/lib /usr/lib COPY MyCApp/conf $docker_path/conf COPY MyCApp/start.sh
与EdgeHub通信的客户端 */ private AppClient appClient; public MonitorApp() throws GeneraException { appClient = AppClient.createFromEnv();