使用 NE503 和 Claude Code 构建边缘 AI 逗留警报
大多数 AI 编码演示仅停留在生成的 Python 代码层面。真正的嵌入式部署通常会遇到问题:错误的摄像头流无法返回可用帧,占位符模型 ID 始终无法开始推理,缺少沙盒权限会阻断运行时访问,即使构建干净,也无法证明应用确实已在硬件上运行。
我想测试一下 Claude Code 是否能从一个简单的一句话需求,真正实现一个在真实设备上运行的验证性边缘 AI 应用,而不仅仅是在仓库中生成源文件。目标平台是 CamThink NE503,这是一款内置 Hailo 加速器并配有 Web 控制台用于部署和运行时检查的边缘 AI 摄像头。
本项目的作用
该项目为 NE503 构建了一个“逗留警报”应用程序。当有人在画面中停留足够长时间后,程序将启动停留计时器,并在 10 秒后触发警报。该警报以事件形式发布到设备上,同时还会开启摄像头的白光作为物理响应。
输入要求非常简单:
有趣的是,实现这个句子在真实硬件上运行所需的一切。
真正的问题
在嵌入式硬件上构建边缘AI应用速度很慢,而缓慢的部分往往并非应用程序逻辑本身。真正脆弱的环节是那些设备特定的规则,这些规则通常从未被记录在文档中。
- 哪个流传输原始推理帧而非编码视频
- 哪个已部署的模型ID实际上在实时运行时可用
- 当解析对象未提供时,检测器输出如何编码
- 应用程序清单中的沙箱权限必须与SDK调用匹配
- 如何打包、上传、安装、启动并验证应用在设备上的运行
本项目之所以可行,是因为这些规则被编码为Claude Code技能,而不是留存在他人脑海中。
系统概览
在应用程序内部,推理流程如下:
所使用的硬件和软件
- CamThink NE503边缘AI摄像头
- 开发机器使用Docker buildx(适用于linux/arm64)
- Claude Code
- 从NE503源代码仓库自定义的ne503-dev技能
- NE503 SDK和运行时环境
- 模型:hailo_yolov8n_384_640
开始前的注意事项
- NE503必须可通过网络访问
- 设备应运行HALv2
AI运行时必须正常运行。
模型 hailo_yolov8n_384_640 必须在实时运行时注册表中被扫描并加载。
对于 ARM64 包装,开发机器上必须安装 Docker。
如果模型仅存在于磁盘上但未加载到实时运行时环境中,部署可能成功,但在推理时仍无法输出结果。
1:为 Claude 提供需求
我从一句话开始,在 Claude Code 中调用了 ne503-dev 技能。该技能将请求路由至正确的 NE503 工作流,并根据实际设备限制调整应用程序模板。
此处有三个关键决策:
- 使用真实部署的模型 ID:hailo_yolov8n_384_640
- 使用子流(sub stream)进行原始推理帧,而非编码后的主流
- 启用原始输出订阅,并直接解码检测器输出
2:生成应用程序和清单
生成的应用程序包含两个重要部分:app.py 中的推理逻辑,以及 app.yaml 中的沙箱/运行时合约。
该应用程序订阅 NE503 的推理流,将类为 0 的检测结果视为人,首次检测后启动停留计时器,并在计时器超过 10 秒后触发一次警报。
清单文件声明了对原始视频访问、推理访问、事件发布和设备灯光控制的匹配权限。如果代码与清单文件不一致,运行时沙箱将拒绝该应用程序。
3:构建与部署
ne503-dev 工作流包含一个一次性部署脚本,用于处理构建、上传、安装、启动和验证。
该脚本会生成 ARM64 包,上传到设备,完成安装并启动应用,同时检查实时推理而非仅在 API 调用成功后停止。
首次运行时,启动时间可能稍长,因为运行时需要加载图像。首次启动超时是正常现象;重新启动应用通常可解决此问题。
4:在真实硬件上验证
最终结果不仅是一个正在运行的容器。Web控制台显示了实时日志,应用程序报告了首个推理结果,约10秒后触发了滞留警报。当警报触发时,NE503的白灯按预期亮起。
•已完成3个警报周期
•平均触发时间为约10.1秒
•该会话中未记录0次误报
•每次警报都会亮起白灯
这为何值得关注
应用程序的逻辑本身很简单:整个设备工作流程实现了可重复性——需求分析、生成、打包、部署和验证。而这正是大多数编码演示所忽略的关键环节。
对于边缘AI团队而言,这种工作流程至关重要,因为实际部署中的摩擦往往源于平台隐藏的规则,而非模型代码本身。
限制
•这是一个专为NE503设计的工作流,而非适用于所有边缘AI设备的通用方案。
•演示版本使用了简化的全局停留计时器:当人超过10秒后触发一次,且在人离开时不会重置。
•该演示依赖于已加载的检测模型已在NE503运行环境中可用。
•本项目仅专注于人体检测功能。
最终成果
从一句意图中,Claude Code生成了一款可部署的NE503应用程序,并在真实硬件上完成构建、安装、启动和验证。这才是该项目的真正成果:不仅生成了代码,更实现了一个可运行的边缘AI部署路径。
本文编译自hackster.io





