目录

智巡鸿图

基于OpenHarmony 的多模态智能体工业现场多端协同作业系统

智巡鸿图面向变电站、输电线路、铁路供电和大型制造现场的巡检与检修任务,将现场移动终端、巡检机器人、无人机、边缘节点、远程专家大屏和控制中心组织为同一可信作业网络。系统采用 KaihongOS / OpenHarmony Stage 模型开发,通过 ArkTS、ArkUI、分布式数据服务和 Node-API 原生模块完成设备接入、工单流转、机器人控制、多模态诊断与生产安全管控。

本仓库可直接导入 DevEco Studio。openharmony/ 是 API 18 应用工程,kaihong-meta/ 是 KaihongOS Meta 超级设备配置,database/opengauss/ 是国产数据库模型,tests/native/ 用于验证舵机控制协议、MQTT协议和可信凭据比较模块。

一、赛题响应

1. 多端协同作业与流转

现场端、专家端和控制中心运行同一套 OpenHarmony 应用,通过加密分布式 KVStore 同步工单、诊断结果、安全审查和遥测摘要。工单支持待处理、现场处理中、远程会诊、受阻和已完成等状态。现场图像、设备型号、状态码和诊断结论可随工单流转至专家大屏。

2. 智能体辅助决策

诊断智能体接收故障文字、设备型号、状态码和现场图像,输出故障类型、风险等级、置信度、标准化操作指引和合规提醒。高风险结果自动进入双端复核流程。规划与诊断数据通过统一设备编号、时间戳和空间点位与数字孪生场景关联。

3. 可信接入与生产安全

系统采用设备白名单、终端角色权限、常量时间凭据比较、加密分布式存储和全流程审计。未登记设备、非法主题、异常遥测数据、越权手册访问和越权控制操作会被阻断。高风险控制必须完成现场端确认、专家端复核和物理联锁确认,软件审批不能直接绕过现场安全边界。

二、总体架构

┌──────────────────────────── KaihongOS / OpenHarmony 多端应用 ────────────────────────────┐
│ 现场巡检终端              远程专家大屏                控制中心大屏                        │
│ ArkUI现场主控             故障会诊与复核              数字孪生总览与安全审计              │
│        └──────────── 加密分布式KVStore与分布式设备发现 ────────────┘                     │
└──────────────────────────────────────┬───────────────────────────────────────────────────┘
                                       │
                    ┌──────────────────┴──────────────────┐
                    │ KaihongOS Meta 超级设备与规则引擎   │
                    │ 物模型、MQTT适配、白名单、告警规则   │
                    └───────────────┬─────────────────────┘
                                    │
               ┌────────────────────┴────────────────────┐
               │                                         │
      Node-API C++ 原生能力                      国产 openGauss 数据归档
  UART舵机控制 / MQTT 3.1.1                遥测 / 工单 / 诊断 / 审计 / 审批
               │
     四足履带机器人 / 云台 / 补光灯

三、核心功能

1. KaihongOS 云平台总览

  • 接收 ele\_report MQTT主题中的设备温度与湿度数据。
  • 展示各设备温度、湿度、更新时间和运行状态。
  • 展示温湿度变化趋势、红外温度状态、紫外放电状态和巡检任务完整性。
  • 显示数字孪生设备点位、现场视频和跨端诊断摘要。
  • 将关键属性与安全事件上报 KaihongOS Meta。

2. 机器人主控

  • 支持前进、后退、左转、右转和停止。
  • 支持履带模式与四足步行模式切换。
  • 支持六组预置动作。
  • 支持云台俯仰、云台水平和补光灯控制。
  • ArkTS通过Node-API调用C++串口模块,向控制器发送固定11字节控制帧。
  • 控制帧以100 ms周期保持心跳,确保舵机控制状态连续。

3. 多端协同工单

  • 现场终端创建或更新巡检工单。
  • 专家端接收远程会诊任务并回写处置结论。
  • 控制中心查看全量工单和终端状态。
  • 分布式数据同步保证各端工单状态一致。

4. 多模态诊断智能体

  • 支持文字、设备型号、状态码和故障图像输入。
  • 支持设备热异常、局部放电和外观异常等风险识别。
  • 推送现场复检步骤、安全距离提醒和权限合规要求。
  • 诊断结果与图像可流转至专家端。

5. 主动安全防御

  • 设备发现结果与Meta白名单交叉校验。
  • 不可信节点默认拒绝接入并写入安全审计。
  • 角色权限控制机器人操作、工单流转、敏感手册调阅和专家审批。
  • MQTT订阅限定授权主题并校验载荷范围。
  • 高风险操作执行现场端、专家端和物理联锁三级约束。

四、技术栈

层级 技术实现
操作系统 KaihongOS / OpenHarmony API 18
应用模型 Stage Model、ArkTS、ArkUI
多端协同 分布式设备管理、加密分布式KVStore
网络接入 Network Kit、原生MQTT 3.1.1、KaihongOS Meta协议适配
原生扩展 Node-API、C++17、POSIX UART、POSIX Socket
智能体 端侧规则诊断、风险分级、知识指引、诊断跨端同步
安全 白名单、角色权限、常量时间比较、审计、高风险双端复核
数据库 openGauss
硬件 国产RISC-V或国产ARM平台、KaihongOS标准系统设备

五、仓库结构

.
├── README.md
├── openharmony/                 KaihongOS / OpenHarmony Stage应用工程
│   ├── AppScope/                应用级资源与包信息
│   └── entry/src/main/
│       ├── ets/                 ArkTS界面、模型与业务服务
│       ├── cpp/                 Node-API、UART、MQTT与安全原生模块
│       ├── resources/           页面资源
│       └── module.json5         能力与权限声明
├── kaihong-meta/                KaihongOS Meta超级设备配置
│   ├── super-device-model.json  工业巡检超级设备物模型
│   ├── protocol/                MQTT协议字段映射
│   ├── rules/                   告警、安全与断链补偿规则
│   └── whitelist/               可信终端白名单模板
├── database/opengauss/          国产数据库表结构与初始化数据
├── tests/native/                Node-API底层核心逻辑的C++测试
└── docs/                        架构、接口、安全、构建与操作文档

全部文件的用途见 docs/FILE_INDEX.md

六、快速部署

1. 配置 KaihongOS Meta

  1. 在 KaihongOS Meta 创建工业巡检产品。
  2. 导入 kaihong-meta/super-device-model.json
  3. 导入 kaihong-meta/protocol/mqtt-ele-report.json
  4. 导入 kaihong-meta/rules/inspection-rules.json
  5. kaihong-meta/whitelist/trusted-devices.example.json 注册现场端、专家端、控制中心、机器人和无人机。
  6. 为各终端签发独立设备账号、令牌和证书。

2. 初始化 openGauss

\i database/opengauss/schema.sql
\i database/opengauss/seed.sql

3. 构建 OpenHarmony 应用

  1. 使用支持 OpenHarmony API 18 的 DevEco Studio 与 Full SDK 打开 openharmony/
  2. AppConfig.ets 中设置本机设备编号、角色、Meta地址、MQTT地址和UART节点。
  3. 按KaihongOS系统应用方式配置签名,使设备管理接口获得 ohos.permission.ACCESS\_SERVICE\_DM
  4. 连接 KaihongOS 标准系统设备。
  5. 执行 Build Hap(s)/APP(s)
  6. 将生成的 HAP 安装到现场终端、专家大屏或控制中心设备。

4. 多端角色配置

终端 LOCAL\_DEVICE\_ROLE 主要职责
现场巡检终端 FIELD\_OPERATOR 机器人控制、现场采集、工单处理、诊断提交、物理联锁确认
远程专家大屏 REMOTE\_EXPERT 远程会诊、敏感手册调阅、高风险专家复核
控制中心大屏 CONTROL\_CENTER 全局监控、白名单管理、专家复核、物理联锁监督

七、MQTT遥测格式

终端订阅主题:

ele\_report

消息示例:

{
  "id": "station-A-01",
  "name": "设备1",
  "t": "72.5",
  "h": "43.1"
}

原生MQTT模块完成连接、订阅、QoS 1消息确认、心跳和断线重连。ArkTS层完成主题白名单、JSON解析和温湿度安全范围校验。

八、演示流程

  1. 启动现场端、专家端和控制中心端。
  2. 在Meta平台确认各设备已进入白名单并在线。
  3. ele\_report 发布温湿度数据,云平台总览实时更新。
  4. 在机器人主控页面执行模式切换、移动、云台和补光灯控制。
  5. 在协同工单页面将任务流转到远程会诊。
  6. 在智能体页面输入设备型号、状态码和故障描述并上传现场图像。
  7. 将诊断流转至专家端,发起高风险双端复核。
  8. 在可信安全页面完成专家审批与现场物理联锁确认。
  9. 演示非法节点接入,系统阻断连接并生成安全审计记录。

九、开发人员

  • 刘艺雯:KaihongOS端侧应用、巡检终端硬件集成、多模态数据采集、机器人与无人机联调。
  • 郭尚青:多设备分布式通信、云边协同平台、规划与诊断智能体、可信接入和权限控制。

十、文档入口

十一、全部文件职责

为便于评委在单一页面内完成代码定位,以下列出仓库全部文件及职责。

展开查看全部文件职责

根目录

文件 用途
.gitignore 忽略DevEco Studio缓存、Hvigor产物、OHPM依赖、HAP、测试构建目录和部署证书。
README.md 项目总览、赛题响应、技术架构、核心功能、部署方式和演示流程。

KaihongOS Meta

文件 用途
kaihong-meta/README.md KaihongOS Meta配置导入顺序和各配置文件说明。
kaihong-meta/super-device-model.json 定义现场端、专家端、控制中心、机器人、无人机和边缘节点的统一物模型。
kaihong-meta/protocol/mqtt-ele-report.json 将MQTT主题 ele\_report 的设备编号、温度和湿度映射为超级设备属性。
kaihong-meta/rules/inspection-rules.json 定义温湿度告警、高风险双端复核、非法节点阻断和断链补偿规则。
kaihong-meta/whitelist/trusted-devices.example.json 可信终端白名单模板,采用默认拒绝策略。

openGauss

文件 用途
database/opengauss/schema.sql 建立可信设备、遥测、工单、诊断、高风险审查和安全审计数据表。
database/opengauss/seed.sql 写入现场端、专家端、控制中心、机器人和无人机的示例可信设备记录。

OpenHarmony工程根配置

文件 用途
openharmony/AppScope/app.json5 声明应用包名、厂商、版本、图标和应用名称。
openharmony/AppScope/resources/base/element/string.json 应用级名称资源。
openharmony/AppScope/resources/base/media/app\_icon.png 应用图标。
openharmony/build-profile.json5 声明API 18、OpenHarmony运行环境、产品和entry模块。
openharmony/hvigorfile.ts OpenHarmony工程级Hvigor构建入口。
openharmony/hvigor/hvigor-config.json5 Hvigor构建参数。
openharmony/oh-package.json5 工程级OHPM元数据。

entry模块构建与资源

文件 用途
openharmony/entry/build-profile.json5 配置Stage模型、CMake Native构建和C++17编译。
openharmony/entry/hvigorfile.ts entry模块Hvigor构建入口。
openharmony/entry/obfuscation-rules.txt ArkTS发布构建的混淆规则位置。
openharmony/entry/oh-package.json5 entry模块元数据并声明 librobot\_native.so 依赖。
openharmony/entry/src/main/module.json5 声明EntryAbility、适配设备类型、网络权限、分布式数据权限和系统级设备管理权限。
openharmony/entry/src/main/resources/base/element/color.json 启动窗口背景色。
openharmony/entry/src/main/resources/base/element/string.json 模块名称、能力名称和权限申请理由。
openharmony/entry/src/main/resources/base/media/app\_icon.png entry模块图标。
openharmony/entry/src/main/resources/base/media/start\_icon.png 应用启动图标。
openharmony/entry/src/main/resources/base/profile/main\_pages.json 注册ArkUI页面入口。

ArkTS配置、能力与数据模型

文件 用途
openharmony/entry/src/main/ets/config/AppConfig.ets 集中配置终端身份、角色、UART、MQTT、Meta地址、刷新周期和可信设备编号。
openharmony/entry/src/main/ets/entryability/EntryAbility.ets Stage模型UIAbility入口,加载页面并申请分布式数据同步权限。
openharmony/entry/src/main/ets/model/CloudModel.ets 定义遥测、设备角色、权限动作、诊断交换和高风险审查模型。
openharmony/entry/src/main/ets/model/RobotModel.ets 定义机器人命令、工单、诊断结果、可信设备和安全审计模型。
openharmony/entry/src/main/ets/pages/Index.ets 主界面,集成云平台、机器人主控、协同工单、智能体和可信安全五个页面。

ArkTS业务服务

文件 用途
services/DistributedStoreService.ets 创建加密S3级分布式KVStore,提供JSON和字符串读写。
services/SensorRepository.ets 保存MQTT遥测,生成设备看板数据并提供温湿度趋势。
services/MqttTelemetryService.ets 调用Native MQTT模块,轮询消息,校验主题、JSON和数值范围。
services/MetaGatewayService.ets 使用Network Kit向KaihongOS Meta上报超级设备属性和事件。
services/RobotControlService.ets 统一机器人命令、权限校验、状态维护和传输选择。
services/NativeUartTransport.ets 通过Node-API打开UART、发送控制帧并维持100 ms心跳。
services/HttpRobotTransport.ets 通过KaihongOS网络控制桥发送机器人兼容控制指令。
services/WorkOrderService.ets 管理多端工单状态机并写入分布式KVStore。
services/DiagnosisSyncService.ets 将多模态诊断输入摘要、结果和现场图像同步至其他终端。
services/AgentService.ets 根据文字、状态码、设备型号和图像完成端侧风险诊断与指引生成。
services/KnowledgeService.ets 提供标准化公开操作指引和受权限保护的检修手册调阅。
services/ControlReviewService.ets 管理现场审批、专家审批和物理联锁三级高风险审查。
services/TrustedDeviceService.ets 发现OpenHarmony分布式设备并与Meta白名单交叉校验。
services/AccessPolicyService.ets 按终端角色执行最小权限控制并调用Native常量时间凭据比较。
services/AuditService.ets 记录并分布式同步操作事件、安全阻断和审批日志。
services/MediaPickerService.ets 调用系统PhotoViewPicker选择现场故障图像。
services/MediaPayloadService.ets 读取图像、执行大小校验并编码为跨端同步载荷。

以上 services/ 路径均位于 openharmony/entry/src/main/ets/

Node-API与C++原生模块

文件 用途
openharmony/entry/src/main/cpp/CMakeLists.txt 构建 librobot\_native.so 并链接OpenHarmony NAPI库。
openharmony/entry/src/main/cpp/napi\_init.cpp 注册UART、MQTT和可信比较Node-API接口。
openharmony/entry/src/main/cpp/packet\_codec.h 声明机器人控制命令和11字节帧编码接口。
openharmony/entry/src/main/cpp/packet\_codec.cpp 执行控制字段边界钳制并生成UART控制帧。
openharmony/entry/src/main/cpp/uart\_transport.h 声明线程安全UART传输类。
openharmony/entry/src/main/cpp/uart\_transport.cpp 使用POSIX termios打开串口并可靠写入完整控制帧。
openharmony/entry/src/main/cpp/mqtt\_codec.h 声明MQTT连接、订阅、确认、心跳和PUBLISH解析接口。
openharmony/entry/src/main/cpp/mqtt\_codec.cpp 实现MQTT 3.1.1报文编解码。
openharmony/entry/src/main/cpp/mqtt\_client.h 声明原生MQTT客户端、消息队列和连接配置。
openharmony/entry/src/main/cpp/mqtt\_client.cpp 实现TCP连接、MQTT握手、QoS 1订阅、心跳、重连和消息队列。
openharmony/entry/src/main/cpp/trust\_guard.h 声明常量时间凭据比较接口。
openharmony/entry/src/main/cpp/trust\_guard.cpp 实现避免提前返回的凭据比较逻辑。
openharmony/entry/src/main/cpp/types/librobot\_native/index.d.ts 向ArkTS暴露Native函数和MQTT消息类型。
openharmony/entry/src/main/cpp/types/librobot\_native/oh-package.json5 Native动态库的OHPM类型包描述。

Native测试

文件 用途
tests/native/CMakeLists.txt 构建四个C++测试并注册CTest。
tests/native/run\_host\_tests.sh 一键配置、编译并执行Native测试。
tests/native/packet\_codec\_test.cpp 验证11字节舵机帧和参数边界。
tests/native/mqtt\_codec\_test.cpp 验证MQTT报文生成和PUBLISH解析。
tests/native/mqtt\_client\_integration\_test.cpp 使用本地模拟Broker验证MQTT连接、订阅、QoS 1接收和PUBACK。
tests/native/trust\_guard\_test.cpp 验证常量时间凭据比较结果。

项目文档

文件 用途
docs/ARCHITECTURE.md 端、边、云、Native和数据库总体架构。
docs/DEVELOPMENT\_DESIGN.md 功能模块、数据模型、生命周期、状态机和异常处理设计。
docs/CONTEST\_MAPPING.md 逐项对应赛题三大业务模块、环境要求和评分重点。
docs/NAPI\_DESIGN.md UART、MQTT、可信比较的Node-API接口与实现原理。
docs/SECURITY\_DESIGN.md 白名单、角色权限、数据保护、三级审批和审计设计。
docs/AI\_SAFETY\_DESIGN.md 说明多模态输入校验、智能体输出约束、双端复核和物理联锁安全门。
docs/API\_PROTOCOL.md MQTT、Meta、UART和分布式键空间协议。
docs/BUILD\_AND\_RUN.md DevEco Studio、KaihongOS Meta、openGauss和HAP部署步骤。
docs/USER\_MANUAL.md 面向现场人员与评委的功能操作说明。
docs/DEMO\_SCRIPT.md 面向现场答辩的多端协同、机器人、智能体和安全机制演示流程。
docs/NON\_FUNCTIONAL\_REQUIREMENTS.md 可用性、性能、稳定性、安全性和可维护性要求。
docs/TEST\_REPORT.md Native测试项目、结果和静态检查结论。
docs/FILE\_INDEX.md 当前文件,说明仓库全部文件用途。
docs/GITLINK\_PUBLISH.md 说明GitLink仓库初始化、提交检查和评审入口。
关于
9.0 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号