【台风走了,井盖的活儿来了】玩转一个 4G 井盖传感器的二次开发实录(基于 AI Skills)
一、井盖传感器这件事,到底有多难做
先说一个反直觉的结论:做一个"井盖翻了就报警"的设备,一点都不难。
一个陀螺仪 + 一个 4G 模块,大学生一个周末就能做出来。
难的是这三件事:
1. 它装在井盖背面,你怎么给它供电?
拉市电?那你得挖沟。太阳能?对不起,它在井盖下面,一辈子晒不到太阳。
所以只能用电池。而一旦用电池,低功耗就成了这个产品的生死线。
2. 装完之后,你怎么给它更新?
一个城市几千上万个井盖。哪天算法要改了,协议要变了,难道你派人挨个撬开井盖(几十斤重的铸铁盖子)、接上烧录器、蹲在井口刷固件?
一个人一天能弄几个?
3. 误报,是压垮运维的最后一根稻草
这个是真正的杀手。
井盖天天被车轮碾、被人踩、被雨水冲。你的算法要是做得糙一点,后台一天能收到几百条"井盖翻动"告警。运维小哥跑了三次现场,发现全是虚惊,第四次真的翻了——他不去了。
告警一旦失去可信度,这个系统就废了。
所以我说,井盖传感器的难点,从来不在"能不能测出来",而在**“能不能活得久、能不能改得动、能不能不添乱”**。
二、井盖传感器要认出的四件事
在讲技术之前,先明确它到底要"看懂"什么:

| 事件 | 检测手段 | 为什么重要 |
|---|---|---|
| ① 井盖翻动/被盗 | 六轴 IMU 测倾角,>30° 且持续 >5s | 防盗 + 防跌落,最高优先级 |
| ② 水溢/内涝 | 水浸 + 水位传感器 | 台风天的核心场景 |
| ③ 轻微位移/松动 | 加速度 + 姿态微变化 | 在出事之前先发现 |
| ④ 误报过滤 | 瞬时冲击 ≠ 持续翻动 | 车轮/踩踏自动排除 |
第 ③ 条是我个人最欣赏的设计。
井盖不是突然翻的,它是先松动、再晃动、最后才翻。如果能在"松动"阶段就报出来,市政去紧一紧螺丝,后面那一整条事故链就断了。
最好的安全设备,是让事故根本不发生的那个。
三、核心难点:3 年不换电池,功耗预算是怎么算出来的
好,现在进正题。
装在井底下的设备,换一次电池的成本(人工 + 开盖 + 交通管制)可能比设备本身还贵。所以续航就是这个产品的命根子。
先看一张我最爱的图——功耗预算表:

3.1 关键认知:4G 一开就是 100mA
这是很多刚入行的兄弟容易忽略的:
| 状态 | 典型电流 | 说明 |
|---|---|---|
| L1 · 深度休眠 | < 8 μA | 99.9% 的时间都待在这里 |
| L2 · 动作识别 | ~3 mA | MCU 高频采样,每次约 2 秒 |
| L3 · 定位 | 30 mA | 井盖场景可关闭(位置固定) |
| L4 · 4G 上报 | 100 mA | 仅事件触发,每次约 8 秒 |
L4 的 4G 上报,电流是 L1 深度休眠的 12,500 倍。
所以低功耗的核心,根本不是"省着用"这种模糊的话,而是一句非常具体的工程原则:
能不唤醒,就不唤醒。
3.2 分级唤醒:让它 99.9% 的时间都在睡觉
这套架构和锥桶是一样的(又是复用的好处):
L1 深度休眠 (<8μA)
↓ IMU 硬件中断:检测到晃动
L2 动作识别 (~3mA) ← 在这里判断:是车轮碾过?还是井盖真翻了?
↓ 确认是有意义的事件
L4 4G 上报 (100mA) ← 只有确认了,才舍得开 4G
↓ 上报完立刻关闭
回到 L1 深度休眠
关键在 L2 这一层。 它是一道闸门——车轮碾过、行人踩踏这些"无意义的晃动",在 L2 就被拦下来了,根本不会惊动 4G 模块。
如果没有这一层,一个装在主干道上的井盖,一天被碾几百次,4G 就要开几百次——电池三个月就干光了。
3.3 算一笔年度电量账
用 ER34615 锂亚电池(19Ah),按典型场景算:
| 项目 | 计算 | 年耗电 |
|---|---|---|
| 深度休眠(全年 99.9% 时间) | 8μA × 8760h | ≈ 0.07 Ah |
| 心跳上报(365 次 × 8 秒) | 100mA × 0.81h | ≈ 0.08 Ah |
| 事件上报(24 次 × 10 秒) | 100mA × 0.07h | ≈ 0.01 Ah |
| 合计 | ≈ 0.16 Ah / 年 |
当然这是理想值。实际工程上还要扣掉:
- 锂亚电池自放电(约 1%/年)
- 低温下的容量衰减(北方冬天井下能到 -20℃)
- 现场频繁触发的余量(比如某个井盖天天被大货车碾)
所以标称"3 年",其实是留足了安全边际的保守说法。 真实场景4年以上不换电池,完全做得到。
四、BLE 现场更新:不用开井盖,站在旁边就能刷
解决了"活得久",下一个问题是"改得动"。
前面说了,井盖传感器装在几十斤重的铸铁盖子背面。传统方式要更新固件,你得:
- 拿撬棍撬开井盖
- 蹲在井口接烧录器
- 一天弄不了几个
而这个设备,支持 BLE 现场更新。

流程简单到有点离谱:
- 运维小哥走到井盖旁边
- 手机打开 MCPIOT Studio,蓝牙连上(BLE 能穿透铸铁盖)
- 点一下"下发",几秒生效
不用开盖。
对做过市政运维的人来说,"不用开盖"这四个字,值一整个工种的时间。过去一个班组一周的活,现在一个人一个下午能刷完一条街。
而且它做了断电续传 + 失败自动回滚——刷一半没电了、信号断了,设备不会变砖,下次重连接着刷。这个细节很关键,毕竟井下的设备刷成砖,那就真得开盖了。
五、【重头戏】AI Skills:老张不会写代码,但他改了 300 个井盖的算法
好,现在到了我最想讲的部分。
前面那些——低功耗、BLE 更新——说白了都还是"工程师的能力"。会写代码的人才玩得转。
但真正用这个设备的,是市政的老张。
老张 50 多岁,管着城区的排水管网,业务懂到骨子里,但你让他写 C 代码,不如让他去挖沟。
而井盖传感器最需要调的那个参数,恰恰只有老张知道该怎么调。
5.1 真实的需求:误报太多了
台风过后,老张给我打电话,语气很暴躁:
“你这玩意儿一天报 40 多次,我人都跑麻了,过去一看,井盖好好的!”
我一问才知道:那条路是货车主干道,大车一碾,井盖"咣当"一下,加速度计就触发了。
这就是我前面说的"误报是压垮运维的最后一根稻草"。
老张的诉求特别明确:“我要的是井盖真翻了才报,车轮压一下不算。”
放在过去,这活儿的流程是:老张打电话给我 → 我改代码 → 编译 → 测试 → 找人去现场刷固件 → 三天后见效。
而现在——
5.2 老张自己搞定了
我让他打开 MCPIOT Studio,里面有一个专门的井盖 AI Skill(相当于给这个产品定制的 AI 技能包,懂井盖的业务语义)。
老张直接跟它说话:
老张:最近误报太多了。车轮压过去也报警。能不能改成:倾斜超过 30 度、并且持续 5 秒以上才报?
AI Skill:明白。车轮碾压是瞬时冲击,井盖翻动是持续倾斜,两者可以用"倾角 + 持续时长"双条件区分。已生成 Skill 脚本:
tiltAlarm({ angle: 30, // 倾角阈值 30° holdTime: 5000, // 持续 5 秒 filter: 'impulse' // 过滤瞬时冲击 });老张:水浸报警也一起改,水位超过 5cm 才报
AI Skill:已更新。两条规则已打包,BLE 下发到 300 台设备 ✓
误报率从 18% 降到 2% 以下。老张全程没写一行代码。
5.3 为什么 AI Skills 比"通用 AI"更靠谱
这里我想多说两句,因为这是很多人容易搞混的地方。
你直接拿一个通用大模型来改硬件逻辑,是不靠谱的。 它不知道你的传感器采样率是多少、不知道你的 API 长什么样、不知道改完之后会不会把电池干光。
而 AI Skills 是"专用技能包":
| 通用 AI | 井盖 AI Skill | |
|---|---|---|
| 懂不懂业务? | 不懂"井盖翻动"意味着什么 | 内置了井盖的领域知识 |
| 知不知道 API? | 靠猜 | 内置完整的设备 API |
| 会不会写崩? | 可能生成跑不通的代码 | 生成的脚本经过校验 |
| 知不知道功耗? | 不知道 | 会提醒你"这么改会增加唤醒次数" |
最后那一条我特别想强调。老张后来想加一条"每 10 分钟上报一次水位",AI Skill 直接回他:
“这个改动会让 4G 每天唤醒 144 次,电池续航将从 3 年降到 4 个月。建议改为:平时 6 小时一次,检测到水位上升时自动切换为 10 分钟一次。”
一个不懂功耗的人,被一个懂功耗的 AI 拦住了。 这才是"专用 Skill"和"通用聊天机器人"的本质区别。
六、这三个能力叠在一起,意味着什么
写到这儿,我想把这三件事串起来看:
AI Skills → 让不会写代码的人,也能改设备逻辑
↓
BLE 更新 → 改完的东西,不用开盖就能刷进去
↓
低功耗 → 刷进去之后,它还能安静地活三年
这三个能力,任何一个单独拿出来,都算不上惊天动地。但它们叠在一起,就形成了一个闭环:
懂业务的人,能自己把设备改成自己要的样子;改完立刻能生效;生效之后还能长期跑下去。
这个闭环一旦成立,产品的价值就完全变了:
- 它不再是一个"厂家怎么定,你就怎么用"的死设备
- 它变成了一个**"你可以持续调教"的活系统**
- 市政的老张,从"甲方"变成了"半个开发者"
写在最后
这已经是我写的第三个 MCPIOT 生态的产品了。从「拇指三兄弟」串口中枢,到智能锥桶,再到今天的井盖传感器。
我越来越强烈地感觉到,这个团队在做一件很朴素但很难的事:
把物联网的门槛,一层一层往下降。
- 硬件平台化 → 降低了做新产品的门槛
- BLE 现场更新 → 降低了运维部署的门槛
- AI Skills → 降低了写代码的门槛
- 低功耗 → 降低了长期使用的门槛
当门槛低到"市政的老张都能自己改算法"的时候,物联网才算真的落地了。
台风走了,井盖的活儿来了。
如果你也在做市政、排水、地下管网相关的事情,这个东西我建议你了解一下。不是让你买,是让你知道——原来这个问题,已经有这样的解法了。
版权声明:本文系原创,文中"老张"为化名,场景基于真实需求整理。转载需注明出处。
产品与团队
- 产品:4G 物联网井盖传感器(翻动 / 水溢 / 位移检测)
- 平台:MCPIOT Studio(支持 AI Skills 二次开发 + BLE OTA)
- 技术:低功耗分级唤醒 · 锂亚电池 3 年+ 续航 · 4G Cat1 全网通
- 团队:MCPIOT · 全栈硬件自研 + 快速打样
- 产地:江苏无锡(物联网城市)


互动话题:你所在的城市,井盖出过事吗?如果给你一个能"自己举手"的井盖,你还想让它报什么?欢迎评论区聊聊。
关于作者:老码农Ewin,多年嵌入式 / 工控经验,常年在 CSDN 分享硬件踩坑笔记。写过「拇指三兄弟」串口中枢、智能锥桶传感器,这是第三篇。
如果觉得这篇有用,点个 👍 + 收藏 ⭐ + 关注。下次继续挖有意思的硬件。
更多推荐

所有评论(0)