OpenHarmony 5.0+ 原生安防 MVP:单设备端侧 AI 自检、多场景告警中心、状态总览,面向后续分布式与多媒体扩展。
- AI 自检:ArkTS 调用 N-API(C++ 桩)运行 MindSpore Lite 推理,展示 ret/outN/inferMs/firstValue/modelHash,缺模型时返回结构化错误。
- 多场景告警模拟:徘徊 / 跌倒 / 宠物外逃 / 烟雾火情,包含设备来源、置信度、严重级别、详情;支持节流;JSON 日志导出。
- 系统状态:单设备模式、分布式占位、总事件数、最新事件时间与类型。
- 可演示、可扩展:预留分布式 KV 同步、摄像头/RTSP 输入、软硬解码、多模态联动、KPI 面板等升级路径。
apps/entry/src/main/ets/:ArkTS UI 页面与事件总线。apps/entry/src/main/cpp/:N-API C++ 桩(MindSpore Lite 集成待接入)。models/:模型放置目录(默认models/mobilenetv2.ms)。scripts/:模型获取、构建、安装、日志收集脚本(安全占位)。NEXT_STEPS.md:远程同事需要做什么的清单(路径填写、构建、安装、后续开发)。
- AI Self-Check:输入模型路径,运行一次/多次推理(原生桩或真实接入),展示 ret/outN/inferMs/firstValue/modelHash。
- 告警模拟:徘徊、跌倒、宠物外逃、烟雾火情;事件含设备来源、置信度、严重级别,列表即时刷新、节流、导出日志。
- 系统状态:单设备模式、分布式占位、总事件数、最新事件时间/类型。
- 填写环境变量(放入 shell/CI):
export OHOS_SDK_HOME=/绝对路径/到/sdk # 填写
export OHOS_NDK_HOME=/绝对路径/到/ndk # 填写
export OHOS_TOOLCHAIN_FILE=${OHOS_NDK_HOME}/native/build/cmake/ohos.toolchain.cmake # 确认实际位置
- 模型准备:将
.ms模型放到models/mobilenetv2.ms;或运行ALLOWED_DOWNLOADS=true bash scripts/model_fetch.sh(默认不下载)。 - 构建/安装占位:
bash scripts/build.sh(需确认 hvigor/ohpm 工具链后补全命令)。HAP_PATH=out/entry-default-signed.hap HDC_BIN=hdc bash scripts/install.sh(HAP 路径/hdc 位置可覆盖)。
- CLion 配置:CMake Toolchain 选择
OHOS_TOOLCHAIN_FILE,参数-DOHOS_ARCH=arm64-v8a -DOHOS_PLATFORM=OHOS -DOHOS_STL=c++_shared,构建目录可用apps/entry/src/main/cpp/cmake-build-ohos。
- 启动应用 → AI Self-Check:保持模型路径
models/mobilenetv2.ms,点击 Run Inference,查看 ret/outN/inferMs/firstValue/modelHash。 - Alert Center:点击徘徊/跌倒/宠物外逃/烟雾火情模拟,列表刷新;点击 Export Logs,记录导出路径。
- System Status:查看模式 SINGLE_DEVICE、最后事件时间、总数,分布式状态 OFF 占位。
- 构建信息:OpenHarmony 版本、设备序列。
- 推理日志:模型路径、SHA256、ret、inferMs、firstValue/outN。
- 告警日志:导出的 JSON(ts/type/duration/confidence/mode/severity/device/details)。
- UI 截图/录屏:三页各一。
- 参见
NEXT_STEPS.md的“待补全开发项”:分布式 KV 同步、真实徘徊检测(摄像头/RTSP)、软硬解码切换、多模态校验、KPI 面板等。
- 不要写死 SDK/NDK 路径;全部使用环境变量和可查找的 toolchain 文件。
- 原生 C++ 目前为 MindSpore Lite 调用桩,接入真实 OH_AI_ API 后更新
apps/entry/src/main/cpp/与 CMake 链接库。