Skip to content

Edge Engine 新手教程 ​

← 返回使用指南
适用平台:OpenHarmony 标准系统(ZhihongOS · RK3588)


目录 ​

章节内容
一、开始之前学什么、怎么读这份文档
二、连接开发板hdc 连接、确认服务在跑
三、快速开始5 分钟完成首次推理
四、从 EdgeHub 安装模型浏览市场、在线安装
五、工作原理ModelHub、推理管道、组件协作
六、功能一览模块与能力速览
七、命令手册子命令与参数说明
八、进阶专题edge_pipe 联调、ASR、插件开发
九、常见问题装不上、推不动怎么办
十、附录命令速查、练手 checklist

一、开始之前 ​

1.1 这份文档帮你做什么 ​

Edge Engine 是跑在 OpenHarmony 板子上的端侧 AI 推理引擎:从 EdgeHub 安装模型包,在板端做目标检测、图像分类、语音识别等,RK3588 上可走 NPU 加速。

按下面顺序读,可以从零完成首次推理:

  1. 第二章:hdc 连上板子,确认 Edge Engine 服务在运行
  2. 第三章:安装模型、对测试图推理,约 5 分钟跑通
  3. 第四章:从 EdgeHub 浏览、安装更多模型
  4. 第五章:理解 ModelHub、推理管道、EdgeHub 如何配合——读懂前几章在干什么
  5. 第七章:需要查某个子命令或参数时当字典用

第三章跑通后,就可以边做边回头看第五章;不必一次读完。

1.2 你需要准备 ​

项目说明
开发板RK3588 开发板,已烧录 ZhihongOS
宿主机已安装 hdc,能 hdc shell 进板子
网络(可选)从 EdgeHub 在线装模型时需要访问 zhihongos.cn
基础命令会复制粘贴 Shell;JSON 输出看得懂字段名更好

1.3 CLI 用法 ​

官方命令是 edgeengine:

bash
edgeengine --version
edgeengine schema
edgeengine schema model.infer
环境标识说明
宿主机【宿主机】hdc shell 等
板端【板端】先 hdc shell,再执行 edgeengine

脚本解析 JSON 时推荐加 --format json。

1.4 术语速查 ​

术语含义
ModelHub板端模型仓库:安装、列表、卸载
EdgeHub云端模型市场
manifest模型包内的推理管道定义
model_name完整标识,如 global/people_count_yolov10
engine推理后端:rknn(NPU)或 onnx(CPU)

二、连接开发板 ​

ZhihongOS 开机后 Edge Engine 随系统自动启动,一般无需手动 service_control start。本章确认你能连上板子、服务在线,再进入第三章做首次推理。

2.1 硬件要求 ​

项目说明
开发板RK3588 开发板(含 NPU)
系统ZhihongOS 6.1.0
CLIedgeengine v1.0.0

2.2 连接开发板 ​

bash
# 【宿主机】列出已连接设备
hdc list targets

# 进入板端 shell
hdc shell

连接成功后,提示符类似:

#

后续标注 【板端】 的命令均在此 shell 中执行。

2.3 确认 Edge Engine 服务已运行 ​

进入板端后执行:

bash
edgeengine --format json service status

"available": true 即表示服务正常。仅在第九章遇到异常时,才考虑 service_control restart edge_engine_service。

2.4 第一步验证 ​

bash
edgeengine --version
edgeengine --format json service status
edgeengine schema
命令期望
--version1.0.0 (schema 1)
service status"available": true

2.5 EdgeHub 网络与鉴权(可选) ​

从 EdgeHub 在线安装模型需要网络可达及有效 Token:

bash
# 查看当前 EdgeHub URL 配置
param get persist.ai_engine.edgehub.url

# 设置 Token(若 EdgeHub 需要鉴权)
param set persist.ai_engine.edgehub.token "your-token-here"

三、快速开始 ​

目标:5 分钟内完成「确认服务 → 安装模型 → 推理 bus.jpg → 看到 5 个检测框」。

3.1 一键流程 ​

bash
# 【板端】

# 步骤 1:确认服务可用
edgeengine --format json service status

# 步骤 2:确认 CLI 版本
edgeengine --version

# 步骤 3:确保模型已安装(不存在则自动从 EdgeHub 下载)
edgeengine --format json modelhub ensure global/people_count_yolov10 --version v1.1

# 步骤 4:对 bus.jpg 执行推理
edgeengine --format json model infer global/people_count_yolov10 \
  --engine rknn \
  --input /system/etc/edge_pipe/fixtures/images/bus.jpg

3.2 期望结果摘要 ​

步骤关键字段期望值
--version文本1.0.0 (schema 1)
service statusavailabletrue
modelhub ensuremessageinstalled 或 already_installed
model inferdetection_count5
model inferclass_nameperson(4 个)、bus(1 个)

3.3 推理结果说明 ​

json
{
  "command": "model.infer",
  "data": {
    "detection_count": 5,
    "detections": [
      { "class_id": 0, "class_name": "person", "confidence": 0.526, "x1": 0, "y1": 551, "x2": 59, "y2": 874 },
      { "class_id": 5, "class_name": "bus",  "confidence": 0.941, "x1": 8,  "y1": 231, "x2": 802, "y2": 739 },
      { "class_id": 0, "class_name": "person", "confidence": 0.908, "x1": 219, "y1": 406, "x2": 344, "y2": 863 },
      { "class_id": 0, "class_name": "person", "confidence": 0.901, "x1": 49,  "y1": 396, "x2": 246, "y2": 905 },
      { "class_id": 0, "class_name": "person", "confidence": 0.825, "x1": 671, "y1": 394, "x2": 810, "y2": 875 }
    ],
    "engine": "rknn",
    "model_name": "global/people_count_yolov10"
  },
  "ok": true
}

坐标说明:x1, y1, x2, y2 为原图像素坐标,左上角 (x1,y1),右下角 (x2,y2)。

3.4 快速开始常见问题 ​

现象快速处理
available: false先按 2.3 节确认;仍异常见第九章
ensure_failed + HTTP 错误检查网络与 EdgeHub Token
detection_count: 0确认 --input 图片路径正确且可读
推理很慢(>5s)首次推理含模型加载,可用 model load 预加载

四、从 EdgeHub 安装模型 ​

4.1 浏览模型市场 ​

EdgeHub 提供浏览器访问的模型市场:

  • 默认地址:https://zhihongos.cn/edgehub
  • 可浏览模型、查看版本、获取安装命令

EdgeHub 首页

4.2 在线安装流程 ​

bash
# 1. 查看本地候选(通常为空)
edgeengine modelhub packages

# 2. 在线安装
edgeengine --format json modelhub install global/people_count_yolov10 --version v1.1

# 3. 验证 info + infer
edgeengine --format json modelhub info global/people_count_yolov10 --version v1.1
edgeengine --format json model infer global/people_count_yolov10 --engine rknn \
  --input /system/etc/edge_pipe/fixtures/images/bus.jpg

4.3 鉴权失败处理 ​

若返回 HTTP 401:

bash
param set persist.ai_engine.edgehub.token "your-valid-token"

五、工作原理 ​

读完第二~四章动手操作后,本章说明 Edge Engine 各组件如何协作。需要查命令参数时,直接看第七章。

5.1 整体架构 ​

Edge Engine 分三层:

层级组件职责
客户端edgeengine 命令、edge_pipe、业务 SDK发起推理请求
服务ModelHub、插件管理、资源监控调度模型、路由算法、管理本地仓库
插件CV / ASR 算法插件执行预处理、NPU/CPU 推理、后处理

客户端与服务之间通过系统 IPC 通信;edge_pipe 等业务模块用同样方式调用。

5.2 一次推理怎么走 ​

  1. 准备:根据 model_name、版本、engine(rknn / onnx)找到对应模型包
  2. 推理:按 manifest 定义的预处理 → 推理 → 后处理依次执行
  3. 返回:输出结构化 JSON(如检测框、分类结果、ASR 文本)

5.3 推理管道(manifest) ​

每个模型包带有 manifest,描述从输入到输出的处理步骤,例如:

  • 图像预处理:颜色转换、缩放填充
  • 推理:RKNN(NPU)或 ONNX(CPU)
  • 后处理:解码检测框、过滤低置信度结果、坐标还原到原图

不同算法(YOLO、MobileNet 等)manifest 不同,安装后可用 model manifest 查看。

5.4 ModelHub 与 EdgeHub ​

  • EdgeHub:云端模型市场,提供 zip 包下载
  • ModelHub:板端本地仓库,负责安装、索引、供推理时查找

在线安装走 EdgeHub;已安装模型即使断网也可推理。EdgeHub 地址与 Token 通过 param 配置(见 2.5 节)。

5.5 模型标识 ​

字段示例说明
namespaceglobal命名空间
namepeople_count_yolov10模型名
model_nameglobal/people_count_yolov10命令中使用的完整标识
versionv1.1版本号
algorithm_idyolov10算法类型,决定加载哪个插件
enginerknn / onnx推理后端:NPU 或 CPU

在 RK3588 上优先使用 rknn 以启用 NPU 加速。

5.6 与其他服务的关系 ​

服务与 Edge Engine 的关系
edge_pipe主要调用方,流水线节点经 SDK 发起推理
EdgeHub模型包下载来源
EdgeClaw可通过 Skill 间接使用推理能力
EdgeComputer / EdgeMCP无直接依赖,可并行部署

六、功能一览 ​

模块CLI 入口作用
ModelHubmodelhub从 EdgeHub 或本地 zip 安装、列出、卸载模型
Modelmodel单次推理、预加载、查看 manifest
Serviceservice status查看服务是否可用
Metricsmetrics getNPU/CPU/内存等资源采样
Schemaschema查询子命令与参数(建议用子路径,见第九章)

支持的 CV 算法包括 YOLOv10 检测、MobileNet/ResNet 分类等;部分镜像可选 Whisper 语音识别。算法由插件按 algorithm_id 路由。


七、命令手册 ​

7.1 命令树总览 ​

edgeengine
├── [全局选项]
├── modelhub
│   ├── install <model_name> [--version <ver>] [--namespace <ns>]
│   ├── ensure <model_name> [--version <ver>] [--namespace <ns>]
│   ├── list [--namespace <ns>]
│   ├── uninstall <model_name> [--version <ver>]
│   ├── info <model_name> [--version <ver>]
│   └── packages [--namespace <ns>]
├── model
│   ├── infer <model_name> [--engine <eng>] [--input <path>] [--version <ver>]
│   ├── manifest <model_name> [--version <ver>]
│   ├── resolve <model_name> [--version <ver>] [--engine <eng>]
│   ├── load <model_name> [--version <ver>]
│   └── unload                          # 注意:不带模型名参数
├── service
│   └── status
├── metrics
│   └── get
└── schema [path]

7.2 全局选项 ​

全局选项可放在命令任意位置(推荐放在子命令前)。

选项简写类型默认值说明
--format—auto|json|tableauto输出格式;脚本建议固定 json
--quiet—flagfalse减少日志输出
--verbose—flagfalse增加调试日志
--version-Vflag—打印 CLI 版本并退出
--help-hflag—打印帮助

示例:

bash
# 以下两种写法等价
edgeengine --format json modelhub list
edgeengine modelhub list --format json

--version 示例输出:

1.0.0 (schema 1)

7.3 service status ​

查询 edge_engine_service 是否可用。

bash
edgeengine --format json service status
响应字段类型说明
availablebool服务是否可用

| service_name | string | edge_engine_service | | installed_count | int | ModelHub 已安装模型数 | | ipc_list_models | bool | IPC 是否支持列出模型 |

7.4 modelhub 子命令 ​

7.4.1 modelhub install ​

从 EdgeHub 或本地 zip 安装指定模型。

bash
edgeengine --format json modelhub install <model_name> [--version <ver>] [--namespace <ns>]
参数必填说明
<model_name>是格式 namespace/name 或仅 name(配合 --namespace)
--version否版本号,如 v1.1;省略则安装最新
--namespace否当 model_name 不含 / 时指定命名空间,默认 global

行为:若已存在同版本,通常返回错误或跳过(取决于实现版本)。

7.4.2 modelhub ensure(推荐) ​

幂等操作:模型不存在则安装,已存在则直接返回成功。

bash
edgeengine --format json modelhub ensure global/people_count_yolov10 --version v1.1
响应字段说明
messageinstalled(新安装)或 already_installed(已存在)
algorithm如 yolov10
install_path本地安装目录
platforms支持的平台列表,如 ["generic","rk3588"]

首次安装示例:

json
{
  "command": "modelhub.ensure",
  "data": {
    "algorithm": "yolov10",
    "install_path": "/data/edge_engine/models/global/people_count_yolov10/v1.1",
    "message": "installed",
    "model_name": "global/people_count_yolov10",
    "name": "people_count_yolov10",
    "namespace": "global",
    "platforms": ["generic", "rk3588"],
    "version": "v1.1"
  },
  "ok": true
}

再次执行示例(full_eval):

json
{
  "data": {
    "message": "already_installed",
    "state": "installed"
  },
  "ok": true
}

7.4.3 modelhub list ​

列出本地已安装模型。

bash
edgeengine --format json modelhub list
# 或
edgeengine modelhub list --format json

示例输出:

json
{
  "command": "modelhub.list",
  "data": {
    "count": 1,
    "models": [
      {
        "algorithm": "yolov10",
        "install_path": "/data/edge_engine/models/global/people_count_yolov10/v1.1",
        "model_name": "global/people_count_yolov10",
        "state": "installed",
        "version": "v1.1"
      }
    ]
  },
  "ok": true
}

7.4.4 modelhub info ​

查看单个模型详情。

bash
edgeengine --format json modelhub info global/people_count_yolov10 --version v1.1
参数必填说明
<model_name>是namespace/name
--version否省略则返回最新已安装版本

7.4.5 modelhub uninstall ​

卸载本地模型包。

bash
edgeengine --format json modelhub uninstall global/people_count_yolov10 --version v1.1

卸载后 modelhub list 的 count 应减少,磁盘上对应目录被删除。

7.4.6 modelhub packages ​

扫描本地 zip 候选包(不访问 EdgeHub)。

bash
edgeengine modelhub packages

示例输出(无本地 zip 时):

json
{
  "command": "modelhub.packages",
  "data": { "count": 0, "packages": [] },
  "ok": true
}

7.5 model 子命令 ​

7.5.1 model infer ​

对单张图片(或音频)执行推理。

bash
edgeengine --format json model infer <model_name> \
  --engine rknn \
  --input <file_path> \
  [--version <ver>]
参数必填说明
<model_name>是global/people_count_yolov10
--engine建议rknn(NPU)或 onnx(CPU);RK3588 推荐 rknn
--input是输入文件绝对路径
--version否模型版本,默认使用已安装最新版

检测任务响应字段:

字段说明
detection_count检测框数量
detections[]数组,每项含 class_id、class_name、confidence、x1/y1/x2/y2
engine实际使用的后端
output_image可视化输出路径(若启用)

7.5.2 model manifest ​

打印平台 manifest 内容(推理管道定义)。

bash
edgeengine model manifest global/people_count_yolov10 --version v1.1

返回的 data.manifest 为转义后的 JSON 字符串,包含 pre_stages、decoder_stages、post_stages 等。

7.5.3 model resolve ​

按 engine 解析模型文件路径,不执行推理。

bash
edgeengine model resolve global/people_count_yolov10 --engine rknn --format json

示例输出:

json
{
  "command": "model.resolve",
  "data": {
    "algorithm_id": "yolov10",
    "backend": "rknn",
    "manifest_path": "/data/edge_engine/models/global/people_count_yolov10/v1.1/rk3588/manifest.json",
    "model_path": "/data/edge_engine/models/global/people_count_yolov10/v1.1/rk3588/yolov10n_fp16.rknn",
    "package_root": "/data/edge_engine/models/global/people_count_yolov10/v1.1",
    "platform": "rk3588",
    "version": "v1.1"
  },
  "ok": true
}

7.5.4 model load ​

预加载模型到服务内存,适合流水线高频推理场景。

bash
edgeengine model load global/people_count_yolov10 --version v1.1

示例输出:

json
{
  "command": "model.load",
  "data": {
    "algorithm": "yolov10",
    "engine": "auto",
    "model_name": "global/people_count_yolov10"
  },
  "ok": true
}

7.5.5 model unload ​

释放当前预加载的模型会话。

bash
# ✅ 正确用法(不带模型名)
edgeengine model unload

# ❌ 错误用法(v1.0.0 已知问题,会报错)
edgeengine model unload global/people_count_yolov10

错误示例:

The following argument was not expected: global/people_count_yolov10
Run with --help for more information.

这是 v1.0.0 的已知 CLI 参数解析问题:unload 子命令不接受位置参数。请始终使用无参的 edgeengine model unload。

7.6 metrics get ​

获取服务资源快照。

bash
edgeengine --format json metrics get

空闲时示例(tutorial_cases):

json
{
  "command": "metrics.get",
  "data": {
    "active_sessions": 0,
    "cpu_usage_percent": 0.0,
    "disk_available_mb": 51662,
    "last_infer_latency_ms": 0.0,
    "npu_present": true,
    "npu_utilization_percent": 0.0,
    "npu_cores": [
      { "core_id": 0, "utilization_percent": 0.0 },
      { "core_id": 1, "utilization_percent": 0.0 },
      { "core_id": 2, "utilization_percent": 0.0 }
    ],
    "process_rss_mb": 17,
    "source": "edge_engine_service"
  },
  "ok": true
}

推理后示例(full_eval,NPU 有负载):

json
{
  "data": {
    "npu_utilization_percent": 5.0,
    "process_rss_mb": 350,
    "last_infer_latency_ms": 0.0
  }
}

7.7 schema ​

输出命令树 JSON schema,供自省与文档生成。

bash
# ⚠️ 裸跑可能崩溃(UTF-8 异常)
edgeengine schema

# ✅ 推荐使用子路径
edgeengine schema model.infer
edgeengine schema modelhub.ensure
edgeengine schema service.status

裸跑异常:

libc++abi: terminating due to uncaught exception of type nlohmann::json_abi_v3_11_3::detail::type_error: [json.exception.type_error.316] invalid UTF-8 byte at index 24: 0x89

原因:完整 schema 输出中混入了二进制或非 UTF-8 字符(如 0x89 PNG 魔数),导致 JSON 解析器崩溃。子路径查询仅返回对应命令的 schema,可规避此问题。


八、进阶专题 ​

8.2 与 edge_pipe 联调 ​

edge_pipe 是 Edge Engine 最主要的调用方,通过 CvBackendSdk 经 IPC 推理。

8.2.1 联调架构 ​

8.2.2 联调步骤 ​

bash
# 1. 确认 Edge Engine、edge_pipe 服务已运行(系统开机自启)
edgeengine --format json service status

# 2. 确保模型
edgeengine --format json modelhub ensure global/people_count_yolov10 --version v1.1

# 3. 运行 edge_pipe 流水线
edgepipe pipeline run /system/etc/edge_pipe/pipelines/person_detect_yolov10_cloud.yaml

8.2.3 YAML 中的模型引用 ​

yaml
- id: detect1
  type: edge.algorithm
  config:
    algorithm_id: yolov10
    model_name: global/people_count_yolov10
    model_version: v1.1
    engine: rknn
字段说明
algorithm_id必须与 manifest 中一致
model_namenamespace/name 格式
model_version如 v1.1
enginerknn 或 onnx

8.3 ONNX 后端对比实验 ​

RK3588 上也可使用 generic 平台的 ONNX 模型(CPU 推理,无需 NPU):

bash
# 解析 ONNX 路径
edgeengine model resolve global/people_count_yolov10 --engine onnx --format json

# CPU 推理(较慢,适合无 NPU 环境验证)
edgeengine --format json model infer global/people_count_yolov10 \
  --engine onnx \
  --input /system/etc/edge_pipe/fixtures/images/bus.jpg
对比项rknnonnx
硬件NPUCPU
典型延迟~百毫秒级秒级
平台目录rk3588/generic/
模型文件.rknn.ort

8.4 Whisper ASR 语音识别 ​

8.4.1 原理 ​

8.4.2 预置资源路径 ​

资源路径
Encoder RKNN/system/etc/edge_engine/whisper/whisper_encoder_base_20s.rknn
英文词表/system/etc/edge_engine/whisper/vocab_en.txt
中文词表/system/etc/edge_engine/whisper/vocab_zh.txt
Mel 滤波器/system/etc/edge_engine/whisper/mel_filters.bin

8.4.3 使用示例 ​

bash
# 若 EdgeHub 提供 whisper 包
edgeengine --format json modelhub ensure global/whisper_base --version v1.0 2>/dev/null || true

# 推理(需 16kHz mono WAV)
edgeengine --format json model infer global/whisper_base \
  --engine rknn \
  --input /data/test/sample.wav

期望响应含 text 字段。

注意事项:

  • 部分镜像未编入 whisper 插件,model infer 可能报插件不存在
  • 输入建议:16 kHz、单声道、最长约 20 秒
  • CV 与 ASR 共用 model infer 接口,由 manifest 的 algorithm_id 区分

8.5 插件开发入门 ​

8.5.1 IPlugin 接口 ​

插件须实现 IPlugin(services/server/plugin/i_plugin.h):

方法说明
GetName()插件名称
Prepare()加载模型、分配资源
SyncProcess()同步推理
AsyncProcess()异步推理(可选)
Release()释放资源

8.5.2 开发步骤 ​

  1. 在 services/server/plugin/cv/ 或 asr/ 下创建插件目录
  2. 实现 IPlugin + 导出工厂函数
  3. 编写 {platform}/manifest.json 定义推理管道
  4. 在 BUILD.gn 中注册插件 target
  5. 编译:./build.sh --build-target edge_engine

参考实现:

  • CV:services/server/plugin/cv/yolov8/
  • ASR:services/server/plugin/asr/whisper/

8.5.3 与 ModelHub 集成 ​

模型包 manifest 声明 algorithm_id → ModelHub 安装后 → PluginManager 按 ID 路由到对应 .so。

8.6 SDK 编程接入(libai_client) ​

除 CLI 外,应用可通过 libai_client SDK 直接 IPC 调用,生命周期与 3.2 节一致:

cpp
// 伪代码示意
AieClientInit();
Prepare(modelInfo);
SyncProcess(inputBuffer);
Release();
Destroy();

edge_pipe 的 CvBackendSdk 即基于此封装,业务应用可通过 SDK 接入。

8.7 性能优化建议 ​

场景建议
流水线高频推理启动前 model load,结束後 model unload
降低首帧延迟服务启动后预热一次 model infer
磁盘不足modelhub uninstall 清理旧版本
监控瓶颈对比 metrics get 的 last_infer_latency_ms 与 NPU 利用率
批量图片复用 load 会话,避免每张图重新加载

九、常见问题 ​

9.1 诊断流程图 ​

9.2 常见问题速查 ​

现象可能原因解决方案
available: false服务未正常运行按 2.3 节确认;见第九章,必要时 service_control restart edge_engine_service
model not found未安装模型edgeengine modelhub ensure global/people_count_yolov10 --version v1.1
ensure_failed + HTTP 错误网络或 EdgeHub 不可达检查网络、persist.ai_engine.edgehub.url
EdgeHub 401Token 未配置或过期param set persist.ai_engine.edgehub.token "..."
engine rknn failed平台目录缺失model resolve 确认 rk3588/manifest.json 存在
detection_count: 0输入路径错误或图片损坏ls -l <input_path>
unload 报 unexpected argumentv1.0.0 已知问题使用 edgeengine model unload(不带模型名)
edgeengine schema 崩溃UTF-8 解析异常改用 edgeengine schema model.infer 等子路径
推理极慢使用 onnx 或未预加载改用 --engine rknn,或先 model load
NPU 利用率始终 0空闲或驱动未上报推理时再采样 metrics get

9.3 已知问题(v1.0.0) ​

ID问题规避方法状态
K-001model unload <name> 不接受模型名参数使用 edgeengine model unload已知
K-002edgeengine schema 裸跑 UTF-8 异常退出使用 edgeengine schema <subpath>已知
K-003modelhub list 部分字段 name/namespace 为空以 model_name 为准已知
K-004people_count_yolov8 v1.0 在 EdgeHub 不可用使用 people_count_yolov10 v1.1预期行为

9.4 日志与进一步诊断 ​

bash
# 查看服务进程
ps -ef | grep edge_engine_service

# 查看模型目录
ls -la /data/edge_engine/models/
cat /data/edge_engine/models/.registry.json

# 查看插件配置
cat /system/etc/edge_engine_plugin.ini

# 确认测试图存在
ls -l /system/etc/edge_pipe/fixtures/images/bus.jpg

# EdgeHub 配置
param get persist.ai_engine.edgehub.url
param get persist.ai_engine.edgehub.token
cat /data/edge_engine/edgehub.conf 2>/dev/null

9.5 重置 ModelHub(慎用) ​

bash
# 停止服务
service_control stop edge_engine_service

# 备份后清空(会删除所有已安装模型)
mv /data/edge_engine/models /data/edge_engine/models.bak.$(date +%s)
mkdir -p /data/edge_engine/models

# 重启并重新 ensure
service_control start edge_engine_service
edgeengine --format json modelhub ensure global/people_count_yolov10 --version v1.1

十、附录 ​

附录 A:命令速查表 ​

场景命令
查看版本edgeengine --version
服务状态edgeengine --format json service status
安装/确保模型edgeengine --format json modelhub ensure global/people_count_yolov10 --version v1.1
列出模型edgeengine --format json modelhub list
模型详情edgeengine --format json modelhub info global/people_count_yolov10 --version v1.1
解析路径edgeengine model resolve global/people_count_yolov10 --engine rknn --format json
图片推理edgeengine --format json model infer global/people_count_yolov10 --engine rknn --input /system/etc/edge_pipe/fixtures/images/bus.jpg
预加载edgeengine model load global/people_count_yolov10 --version v1.1
卸载会话edgeengine model unload
资源监控edgeengine --format json metrics get
命令 schemaedgeengine schema model.infer

附录 B:练手 checklist ​

步骤做什么怎么确认
1hdc shell 连板子edgeengine --version 有输出
2确认服务就绪service status → available: true
3安装模型modelhub ensure global/people_count_yolov10 -v v1.1 成功
4图片推理model infer + bus.jpg → detection_count: 5
5列出模型modelhub list → count >= 1
6预加载与卸载model load 后 model unload 无报错
7edge_pipe 联调(可选)流水线跑通人员检测

附录 C:五服务教程体系导航 ​

顺序服务本地教程角色依赖
1EdgeComputeredgecomputer.mdJetLinks 网关—
2EdgeMCPedgemcp.mdMCP 设备桥EdgeComputer
3EdgeClawedgeclaw.mdAI 管家EdgeComputer + EdgeMCP
4Edge Engineedgeengine.md(本文)推理运行时—
5EdgePipeedgepipe.md视觉流水线Edge Engine
文档路径
使用指南总览/training/

附录 D:JSON 响应通用格式 ​

成功时 ok 为 true,data 为业务字段;失败时 ok 为 false,含 error 与 message。


AIOS 官方文档