K10行空板,走出课堂,走近煤炭生产环境

2026-10-094

我是一位煤矿行业工作者,同时也是孩子的爸爸,带着孩子们一起玩电子设备。

因为从小就对这方面着迷,小时候因为没有这么多像DF的电子元器件,主控板,还有很多开源的电子元器件。好多想法就搁置了,孩子慢慢长大了,跟我的爱好也一样,就带着孩子们一起玩,同时也弥补一下自己的童年。

近期我正研究一个录像机旁路监测系统,煤矿里差不多有将近400路视频监控,每个通道是否正常,还得人员去看,录像机自带的状态监测系统不是很好用,伙计们都不愿意用,索性就自己定制开发一套。现在软件都已经上线使用了。有一天突发奇想把K10当成一个电脑桌面副屏,来实时显示哪些通道异常。好了,开干。惯例先上成果视频

一、技术路线

旁路只读监测,端侧拉取展示——不侵入摄像头,只从服务器"借"数据:

1.服务器以只读方式周期性轮询海康录像机(monitor/hikvision 模块,默认 60s 一次),把各通道在线状态写入本地 SQLite。

2.K10 连上同局域网 WiFi 后,每 5 秒用 HTTP + JWT 向服务器 GET /api/dashboard/abnormal-channels,拉取所有"离线/异常"通道。

3.K10 把结果用 LVGL 标签画到 240×320 屏上,A 键上一页 / B 键下一页分页。

4.中文字库 font_cn.bin 由服务器静态托管,K10 首次开机自动下载并永久存到板子,之后离线也能显示中文。

K10行空板,走出课堂,走近煤炭生产环境_image_1.webp

二、核心模块

层角色关键构成
采集数据源海康威视 NVR / 摄像头(被监测对象)
服务数据中转FastAPI 接口 + SQLite 库 + JWT 鉴权
端侧计算+联网行空板 K10(ESP32-S3)+ WiFi
展示人机界面LVGL 标签 + 中文 binfont + A/B 按键
资源字体font_cn.bin(GB2312 常用字子集,~131KB/16px)

三、软件部分

K10行空板,走出课堂,走近煤炭生产环境_image_2.webp
K10行空板,走出课堂,走近煤炭生产环境_image_3.webp

四、过程踩坑处理

字库的问题,跟各位老师请教一下,在mind2.0版本中,MicroPython代码模式中,怎么把字库拷贝到K10。试了几次不成功,索性就把字库嵌入到服务器端,每次连接服务器数据的时候,从服务器自动下载一下字库。时间稍微长一点,其他没有任何影响。

  1. 服务器侧:在 backend/app.py 新增专用接口 GET /api/font_cn.bin,从前端目录绝对路径返回字库文件。它优先级高于静态挂载,不再依赖"前端目录是否包含该文件"​,重部署也不怕丢。
  2. K10 侧:ensure_font() 现在优先请求 /api/font_cn.bin,失败再退回到 /font_cn.bin、/static/…、/assets/…;download_font() 增加 体积校验(<10KB 判定为 404 错误页并丢弃)+ 打印 [FONT-DIAG] 真实状态码,方便你从串口一眼看出是"连不上"还是"服务器没字库"。
K10行空板,走出课堂,走近煤炭生产环境_image_4.webp

五、最终成果,桌面副屏

K10行空板,走出课堂,走近煤炭生产环境_image_5.webp

创作许可协议

本项目采用 CC BY(署名) 进行许可。

评论(0)
- 没有更多了 -