外观
AI-on-the-edge-device
这个项目让你给「老」仪表装上数字化的眼睛:一块带摄像头的 ESP32 对着水表、燃气表或电表的机械表盘拍照,在设备上用小型神经网络把数字读出来,再通过 MQTT、REST 或 Home Assistant 发出去。适合想监控用水量、用电量,但又不能换智能表的家庭。
项目概况
| 项目 | 内容 |
|---|---|
| 仓库 | github.com/jomjol/AI-on-the-edge-device,文档站 jomjol.github.io/AI-on-the-edge-device-docs |
| 作者 / 组织 | jomjol 及社区 |
| 开源协议 | 不是传统开源协议:2025 年 1 月 5 日起使用自定义的 Dual Use License 1.0,私人非商业用途可自由使用、修改和分享,商业使用需另行授权(见仓库 Licence.md)。因此 frontmatter 标为「免费使用」而非「开源」 |
| 支持芯片 | ESP32(需 PSRAM 和摄像头,AI-Thinker ESP32-CAM 是典型板) |
| 首次发布 | 仓库创建于 2020 年 7 月 28 日 |
| 最新版本 | v16.1.0(2026 年 1 月 11 日) |
| 热度 | 约 8900 星(2026 年 10 月) |
协议这一点很重要:GitHub 元数据显示为 NOASSERTION,因为它不是标准协议。如果你要把它做进商品,必须先读懂 Licence.md。
它是怎么工作的
README 的功能列表勾勒了整个流水线:
- ESP32-CAM 定时拍照,板载 LED 补光。
- 图像预处理:特征检测、对齐、截取感兴趣区域 (ROI),把表盘的每一位数字切出来。
- 用 TensorFlow Lite (TFLite) 的小型神经网络对每一位数字分类;对指针式表盘也有对应模型。
- 把识别结果组合成读数,做合理性检查(例如不应倒退)。
- 通过 MQTT、REST API、InfluxDB 1/2 发出数据,并与 Home Assistant 集成。
- 网页界面用于配置、查看图片、OTA 升级。
整体设备尺寸约 3 x 4.5 x 2 cm,README 称成本低于 10 欧元。
需要的硬件
| 部件 | 说明 |
|---|---|
| 主板 | ESP32-CAM,带 OV2640 摄像头;文档站的 Hardware Compatibility 页列出兼容摄像头和板型 |
| 存储 | microSD 卡(存放配置、图像和日志),需要单独烧录卡上的文件 |
| 供电 | 稳定的 5V 电源;ESP32-CAM 对供电质量敏感 |
| 外壳 | 项目有 3D 打印外壳,用于固定相机与表盘的距离和角度 |
上手路径
- 买一块 ESP32-CAM 与 microSD 卡,再准备 USB 串口烧录器。
- 根据官方文档,用网页烧录或 esptool 刷入固件(参见 烧录工具),再把配置文件拷到 SD 卡。
- 打印外壳,让相机正对表盘,补光均匀。
- 在网页里框选数字区域,选择识别模型,设置数据发布方式。
- 对接 Home Assistant,参考 摄像头玩法 与 智能家居。
生态与衍生
- 社区在 YouTube 上有不少教程,作者与德国 heise 的 make: 杂志也有文章(付费)。
- 文档站同时提供多语言文档与硬件兼容列表。
- 相关框架:ESPHome 也能驱动 ESP32-CAM,但本项目的数字识别流水线是自带的。
局限与注意事项
- 光照、反光、角度、表盘污渍都会显著影响识别,调试要有耐心。
- 如果表计的数据已有现成接口(光脉冲、M-Bus、红外读取),那些方案通常比图像识别更可靠。
- 摄像头安装在含水环境(水表井)时,要注意防水与结露。
- 版本升级时配置格式会变,先备份 SD 卡内容。
- 许可证限制商业使用,见项目概况。