「使用飞书调试开发板」—— 让 AI 智能体接管海思 Hi3519DV500


你是第几次打开串口终端然后发现------

电源插了、网线插了、板子亮了,但不知道该敲什么?

又或者------

驱动加载成功了、RTSP 推流也启动了,但摄像头画面出不来,日志太长看不懂,不知道该查哪个寄存器,该翻手册的第几页。

这些场景在 Hi3519DV500 开发过程中每天都在发生。

过去三个月,我把 Hermes AI Agent 接入了鸿鸥派 Hi3519DV500 开发板的调试流程。效果是这样的:

在飞书上说一句话,AI 自动 SSH 连开发板、设时钟、加载驱动、跑 AI 推理、返回实时结果


效果先行:三条命令做完一天的事

先看一个真实的工作场景。打开飞书,对 AI 说:

「上电启动开发板」

AI 自动执行:

  1. bspmm 0x11018440 0x4001 # 设置传感器时钟(掉电丢)
  2. cd /komod && ./load3519dv500 -a -sensor0 os04a10 -vo_intf mipitx
  3. 验证摄像头:i2cdetect -y -r 3 → 0x36 已检测到
  4. 启动 RTSP 推流服务
  5. ✅ 推流地址已就绪:live0 / live265 / live264

然后说一句:「跑 YOLOv8」

AI 自动执行 ./sample_svp_npu_main 8 8 0 3,画面直接推流到 live264。

再说:「每隔一小时检查一次温度,超过 75°C 通知我」

AI 自动创建定时任务,不需要碰 crontab。

全程不需要手动开终端、不需要记参数、不需要翻笔记。所有的操作都在飞书聊天框里完成。


一、架构:飞书 ↔ Hermes ↔ 开发板,三层怎么转的

这套系统的核心架构很清晰:

*三层架构:用户层(飞书)→ 桥接层(Hermes Agent)→ 设备层(Hi3519DV500)

三层分工:

用户层(飞书) 你作为入口。发文字消息,收执行结果。不需要安装任何专用工具,手机和电脑都能操作。

桥接层(Hermes Agent) 中间的大脑。读取飞书消息 → 理解意图 → 生成 SSH 命令 → 发送到开发板 → 读取返回结果 → 返回到飞书。如果出错,它还会拿日志去 LLM 分析原因,给出修复建议。

设备层(开发板) 鸿鸥派 Hi3519DV500 + OS04A10 摄像头。接受 SSH 指令执行,返回实时结果。


二、基础能力:7 个平时最常用的调试场景

2.1 一键上电启动

每次开发板上电必须走这三步,AI 已封装成一条指令:

  1. bspmm 0x11018440 0x4001 # 传感器时钟 24MHz
  2. cd /komod && ./load3519dv500 -i -sensor0 os04a10 -vo_intf mipitx
  3. i2cdetect -y -r 3 | grep 36 # 验证摄像头在线

关键点: 第 1 步的时钟寄存器是芯片内部寄存器,掉电丢失。出厂默认是 37.125MHz(适配 IMX347),OS04A10 需要 24MHz,每次上电都要重设。我当初在这里卡了三天。

2.2 RTSP 三路推流

Hi3519DV500 支持三路不同的推流,分别对应不同的调试需求:

*三路推流:常规监控 / AI ISP 增强 / NPU 推理叠加

推流地址 程序 用途
rtsp://192.168.1.10/live0 sample_venc 常规 H.264 监控画面
rtsp://192.168.1.10/live265 sample_aiisp AI ISP 细节优先/全图模式
rtsp://192.168.1.10/live264 sample_svp_npu_main NPU 检测框+人体姿态+跟踪

注意 摄像头图像默认倒立,拉流时加 -vf "vflip,hflip" 翻转。

2.3 NPU 模型推理(YOLOv8 / HRNet / MOTR)

三条命令跑三种不同的模型:
./sample_svp_npu_main 8 8 0 3 # YOLOv8 目标检测
./sample_svp_npu_main a 0 3 # HRNet 关键点检测
./sample_svp_npu_main b 0 0 3 # MOTR 多目标跟踪

已确认全部在 Hi3519DV500 上跑通。

SVP 的三个分支功能分别为:

  • YOLOv8(参数 8 8 0 3) 画面中所有目标打上检测框,标注类别和置信度
  • HRNet(参数 a 0 3) 人体 17 个关键点骨架图
  • MOTR(参数 b 0 0 3) 多目标跨帧跟踪,带跟踪 ID

2.4 AI ISP 图像调优

sample_aiisp 启动后需要选 AI 降噪模型。选 2(detail_priority),画面立刻变锐利。默认选 1(denoise_priority)画面偏糊,我当时差点以为摄像头坏了。

2.5 系统状态查询

free -m # 内存使用
cat /proc/stat | grep cpu # CPU 占用
cat /proc/meminfo # 更多内存信息
top -b -n 1 | head -20 # 进程排行榜
lsmod # 已加载模块

对 AI 说「看下系统状态」它会挑最关键的告诉你:CPU 多少、内存还剩多少、NPU 使用率、芯片温度。

2.6 日志诊断

开发板出问题,最痛苦的是翻日志。AI 做了这件事:

「刚才启动报错了,帮我看看原因」

AI 自动去 /var/log//tmp/ 找最新的日志文件,提取报错行,结合 LLM 分析根因,在飞书上直接告诉你问题出在哪。

调试过的一个真实场景:驱动加载到第 31 个模块卡住,AI 分析日志发现是某个 .ko 文件版本不匹配。以前要自己一行一行翻日志对比,现在发一句话就行。

2.7 文件操作与配置管理

远程查看或修改开发板上的配置文件:
cat /komod/load3519dv500 | grep SNS # 查看传感器配置
cat /etc/network/interfaces # 查看网络配置
cat /proc/mpp/driver_class_info # 检查驱动类信息

「帮我把 load3519dv500 里的 SNS_TYPE 值读出来」------ 秒回。


三、智能增强:7 个传统调试做不到的功能

3.1 复合指令:一句话做一串操作

传统调试要分步执行、每步等结果。AI 可以串联:

「启动开发板,跑 YOLOv8,然后把画面截图发给我」

AI 的逻辑:
→ 设置时钟 → 加载驱动 → 验证摄像头
→ 启动 sample_svp_npu_main 8 8 0 3
→ 等待画面稳定 → 截图到本地
→ 把图片发回飞书

3.2 三路画面同时对比

同时启动三个推流,拉流到三个不同播放器窗口。VENC 的 H.264 做参考画面,AI ISP 的 live265 看细节增强效果,SVP 的 live264 看 NPU 检测效果。

3.3 自动诊断异常

模型跑出来结果不对。AI 不只看结果,还能排查链路:

「检测框全是 0 置信度,怎么办」

AI 的排查思路:

  1. 检查 NPU 驱动是否加载 --- lsmod | grep npu
  2. 检查模型文件是否存在 --- ls /mnt/svp/model/
  3. 检查模型格式是否正确 --- .wk 格式
  4. 查看 sample 程序参数 --- 解析 main() 参数表
  5. 给出修复建议

3.4 错误自动修复

有些错误 AI 不仅能诊断,还能直接修:

「显示内存不足」

AI 自动执行:
free -m # 检查当前内存
kill -9 $(pidof sample_venc) # 终止不需要的进程
cat /proc/meminfo | grep MemAvailable # 确认可用内存恢复

3.5 跨会话记忆

开发板有两块,一块新板一块旧板,配置不同。AI 记得

「这块新板上次跑过 AI ISP 吗?」------ 不需要翻自己的文档,AI 会回答「上次测试时只跑了 VENC 推流,AI ISP 还没测过」。

3.6 自动记录到知识库

每次调试遇到的问题和解决方案,AI 自动写入 LLM Wiki。下次再遇到类似问题,AI 会自动调取历史记录给出方案。

*执行 → 记录 → 查询 → 复用,四个节点形成完整闭环

3.7 知识检索增强

遇到不懂的参数,直接在飞书问:

「sample_venc 的四个参数分别是什么」

AI 从之前保存的知识库中调取信息,回答:
sample_venc 四个参数(缺一不可):
第1个 index --- 0 为 normal 编码模式
第2个 rtsp_enable --- 1 启用 RTSP
第3个 vo_intf_type --- 0 为 MIPI_TX
第4个 sensor0_type --- 3 为 OS04A10 WDR
来源:知识库 → Hi3519DV500 → sample_venc 参数速查


四、无人值守:让开发板自己跑

这是 AI 调试对比传统调试最核心的升级------开发板不需要你盯着了。

4.1 定时健康检查

设置好之后,AI 每隔一段时间自动检查开发板状态:

*从早到晚全自动运行,出现问题主动通知你

4.2 异常自动重启

如果 AI 发现开发板掉线或服务挂了:

  1. 自动尝试重启服务
  2. 重启无效就远程重置
  3. 发飞书消息通知你:「异常告警:RTSP 推流已自动重启,请确认画面正常」

4.3 无人值守跑测试

晚上睡觉前:

「今晚跑一宿 YOLOv8 稳定性测试,每 30 分钟截图一次,明早给我总结」

第二起来,AI 已经准备好了运行报告:
📊 YOLOv8 通宵稳定性测试报告
运行时长:10小时23分钟
总帧数:1,045,832
平均帧率:27.9fps
异常中断:0次
最高温度:68°C(03:47 凌晨)
结论:✅ 系统稳定,适合长期运行

4.4 自动化运维场景汇总

场景 传统做法 AI 做法(一句话)
每日上电 SSH 登录,敲 5 条命令 「上电启动」
切换模型 停进程,改参数,重启 「切换到 HRNet 看下效果」
系统监控 自己写脚本 + 定期查看 「每隔 1 小时记一次系统状态」
故障排查 翻日志,找问题,查手册 「刚才报错了,分析原因」
批量测试 手动记录测试结果 「跑一宿稳定性测试,明早出报告」
知识管理 记在笔记里,下次找不到 「把这次的参数配置记下来」

五、即战力:拿来就用的命令速查

一口气跑完全部功能的最短路径:

5.1 飞书到开发板的完整命令链

=== 基础操作 ===

打开开发板 # 自动完成时钟+驱动+验证全套
跑 YOLOv8 # sample_svp_npu_main 8 8 0 3
跑 HRNet # sample_svp_npu_main a 0 3
跑 MOTR # sample_svp_npu_main b 0 0 3
切到 AI ISP # 启动 sample_aiisp 选 detail_priority

=== 图像调优 ===

当前用什么模式 # 查看当前 AI ISP 模型
切换细节模式 # 切换到 detail_priority
图像倒立了 # 自动加 -vf vflip,hflip

=== 无人值守 ===

每 30 分钟检查一次 CPU 温度 # 创建定时监控
明早 8 点启动推流 # 创建定时任务
跑一宿稳定性测试 # 长期运行+自动报告

=== 故障诊断 ===

查看系统状态 # CPU/内存/温度/NPU
刚才报错了 # 自动分析最近日志
摄像头检测不到 # 三板斧:时钟→排线→地址
画面模糊 # 检查 AI ISP 模式,选 detail

=== 知识管理 ===

把这个参数记下来 # 存到知识库
之前跑 YOLOv8 用的参数 # 从知识库检索历史记录
有没有遇到过类似的问题 # 查历史调试记录

5.2 一键上电脚本(开发板端)

实际保存到开发板 /mnt/board_start.sh 的完整脚本:
#!/bin/sh

鸿鸥派 Hi3519DV500 一键上电

echo "1/4 设置传感器时钟..."
bspmm 0x11018440 0x4001
echo "2/4 加载驱动..."
cd /komod && ./load3519dv500 -a -sensor0 os04a10 -vo_intf mipitx
echo "3/4 验证摄像头..."
i2cdetect -y -r 3 | grep 36 && echo "✅ 已检测到 OS04A10"
echo "4/4 启动 VENC 推流..."
cd /root && ./sample_venc 0 1 0 3 &
echo "✅ 开发板就绪 | RTSP: rtsp://192.168.1.10/live0"


六、部署指引:从零开始搭

6.1 前置条件

项目 说明
开发板 鸿鸥派 HongOU PI(Hi3519DV500)
摄像头 OS04A10,MIPI 接口
服务器 Ubuntu 24.04 + Hermes Agent
网络 局域网,开发板固定 IP

6.2 三步配通

第 1 步:SSH 免密登录
ssh-keygen -t ed25519 -f ~/.ssh/board_key -N ""
ssh-copy-id -i ~/.ssh/board_key.pub root@192.168.1.10
ssh root@192.168.1.10 "uname -a"

第 2 步:配置 Hermes 飞书机器人

参考我之前的文章「Hermes AI Agent 搭建与飞书配置全流程」,完成飞书开放平台的应用注册和配置。

第 3 步:验证连通

在飞书上发:「ping 开发板」

AI 应返回:「192.168.1.10 在线 ✅」


总结:从工具到伙伴

用 AI Agent 调试嵌入式开发板,最大的变化不是省了敲几行命令------而是把开发板从一个需要你时刻盯着的外设,变成了一个可以自己运行、自己报错、自己修复的智能设备。

过去三个月的使用感受:

第一周: 新鲜感为主。把常用命令封装好,省了来回敲命令的时间。

第二周: 开始依赖。不想手动开终端了,所有操作先在飞书上问一下。

第一个月: 回不去了。定时任务让开发板通宵跑测试,早上醒来报告已摆在聊天框。故障日志 AI 自动分析,不再自己一行一行翻。

第三个月: 知识闭环形成。每次踩坑自动存入 LLM Wiki,后续再遇到同类问题,AI 直接给出之前验证过的解决方案,不需要再查笔记。

你现在最简单的一步就是:先在开发板上配好 SSH,把 board_start.sh 扔上去,然后给 Hermes 说一声------「帮我把开发板启动了。」



关注「AI的探索之旅」,你将获得:

内容 频率 适合谁
AI Agent 嵌入式实战 不定期 嵌入式 Linux + AI 开发者
开发板调试深度解析 双周 Hi3519DV500 / 海思芯片用户
知识管理 + RAG 方法论 双周 资料多、踩坑多的工程师
AI 开发工具链 有新的就发 AI 工具爱好者

往期精华推荐:

Hi3519DV500 嵌入式开发全攻略:从环境搭建到固件打包

AI ISP vs 传统 ISP:海思芯片的图像处理到底强在哪?

从 RAG 到 LLM Wiki:我的嵌入式知识管理进化之路

Hermes + RAG 搭建本地知识库:比 Wiki 更聪明的文档检索方案

量子位报道链接

👇 长按识别关注,不错过每一篇干货

📌 关注| AI的探索之旅 | 让技术发挥最大价值