开屏动画

电动车充满不停,白花我一块钱:从抓包、青龙到微信一句话控制

生活 技术 2 评 9 度

dc04f54bacb793287e1794e7a11d85b4.png

事情是这样的。

那天下午去骑车,充电桩的灯亮着,但是充电器的灯已经熄灭了。这就可以证明车已经不充电了但是电还在给钱还在烧!我立马结束充电,退了我接近一块钱。

一块钱不多。但那种「明明充满了还在扣钱」的感觉挺膈应的——就像水龙头没拧紧,一滴一滴往外漏。

于是我就想:能不能让它充满就自己停?

一、先抓包:功率是每 5 分钟更新一次

我用的桩是「莱充」。没有充满自动停。

既然它不停,那我自己来停。

抓了一下「莱充」小程序 的包,发现充电过程中它会周期性上报一个功率值,大概每 5 分钟刷新一次。这就好办了——功率掉下去,就说明充满了。

道理很简单:电池充满之后,桩子不会立刻断电,而是转入涓流,功率会掉得很低。所以只要盯住这个功率,就能反推「充没充满」。

我定的阈值是 30W。

二、第一版:青龙脚本,每 5 分钟看一眼

我把逻辑写成一个 Python 脚本,挂到青龙面板上,定时规则就一行:

*/5 * * * *

判定逻辑也不复杂,核心是防抖——不能看一次就下结论:

读当前功率
  ├─ 功率 < 30W ?
  │    ├─ 上一次也 < 30W → 判定充满 → 停止充电 + 推送消息
  │    └─ 上一次不低     → 记一笔,下次再看
  └─ 功率 ≥ 30W          → 清空计数,继续

为什么是「连续两次」?因为充电过程中功率本来就会抖,单次低于 30W 可能只是瞬时波动。连续两次都低,才敢认定是真充满了。

跑起来确实管用:充满自动停,还会推消息给我。那一刻挺爽的。

三、新麻烦:我不是时时刻刻都在充电

但很快问题就来了。

我一星期也就充两三次。剩下的时间,这个脚本每 5 分钟跑一次,跑了个寂寞,哈哈哈。虽然不怎么费电,但看着它一直在那儿空转、还时不时去请求一次接口,我这种有点强迫症的人是真难受。

摆在面前两条路:要么让它自己判断「现在到底在不在充电」,要么……干脆我手动开关它。

我选了后者。

四、第二版:给 WorkBuddy 写个 skill,微信一句话搞定

我写了个 skill,接进 WorkBuddy,再绑到微信。

现在流程变成这样:要充电了,我在微信里发一句

开启充电提示

它就去青龙面板上把那个任务启用;充满了想关掉,发一句「关闭充电提示」,它就禁用掉。

全程不用打开青龙面板,不用记任务 id,也不用去点手机上的 App。

技术上没什么玄机:这个 skill 就是一小段说明 + 一个脚本,通过青龙的开放平台 API(/open/*)去读任务、启用、禁用。认证用的是一个应用的 Client ID / Secret,权限勾上「定时任务」就行。

有个小细节我特意加了:关闭之前,它会先把命中的任务名和 id 回显给我确认。毕竟关错的是自己的任务,多问一句不亏。

五、复盘

  1. 抓包是第一步。 不知道数据从哪来、多久更新一次,就别谈自动化。
  2. 阈值 + 连续次数,是防抖的经典组合,别只看单次读数。
  3. 自动化不是越自动越好。 该手动的地方手动,反而更省心。
  4. 把「一直在跑的定时任务」和「随手能喊停的入口」拆开,是这次我最满意的设计。

一块钱没白花。

📅 那年今日·10月16日
广告图片
AD

2 评论
    obaby Chrome 152 OSX 未知
    一小时前回复

    好创意

      湘铭呀! Chrome 155 Windows 10 未知
      一小时前回复

      @obaby 有了AI 后啥都方便了!😂

搜索文章

输入关键词,找一篇旧文章。