硬件精选

从不愿配合的血压计里读出数据

Tomasz Burzy 改造基础血压计:先试逻辑分析仪,最终用 ESP32-CAM 光学识别 LCD,让数据通过 WiFi 发出。

现代血压计越来越喜欢把一切连上网络。市面上应该已经有人在卖能把测量结果推送到各种云服务的产品,但这类设备往往要求注册新账户或服务,背后甚至可能藏着订阅费用。

为了按自己的方式记录生命体征,Tomasz Burzy 决定改造一台基础血压计,让它通过 WiFi 发送数据。他最终成功了,而过程本身也很有参考价值。

先用逻辑分析仪试探

他最初的想法是用逻辑分析仪接触血压计的 PCB。很快,他找到一个测试点,可以读出压力传感器的原始值;经过一番处理,他甚至写出了能把原始值换算成大致血压的代码。但结果与屏幕显示并不完全一致。查资料后他发现,这类血压计通常会使用某种不公开的算法,从原始数据推导最终结果。

单芯片堵住了截获路线

于是他又尝试在主芯片把最终数值送到显示驱动之前截获它。问题在于,主芯片本身就是显示驱动:设备集成度非常高,很可能为了压低成本,用一颗 IC 包办了几乎全部操作。逻辑分析仪这条路线也就走不通了。

让 ESP32-CAM 直接看屏幕

最后,他选择了一个更直接的办法:在设备顶部安装摄像头,用光学方式读取 LCD 上的数据。不是让电脑跑计算机视觉软件,而是让 ESP32-CAM 模块完成识别。原因是他清楚每个 LCD 段的位置,只需要检查摄像头图像中一组固定坐标是否点亮即可。这大大降低了任务复杂度,也让性能有限的单片机足以胜任。

光学检测哪些 LCD 段被点亮。

虽然我们更希望医疗设备能对黑客友好,不必经过重重阻碍就能交出数据,但也必须承认 Tomasz 在这件事上的投入。这是一个很好的逆向工程案例,对类似改造也有启发。

项目源码:GitHub

收录于

讨论

0 条评论

同分类推荐

硬件