数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 51|回复: 0

[ARM] 老外拆中国制造蓝牙温湿度计,突破App封锁,获得控制权

[复制链接]
发表于 4 小时前 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
本帖最后由 纯今 于 2026-6-2 18:03 编辑

我感觉这种卖国外比买国内便宜,有点 “量中华之物力,结与国之欢心”的味道

大家好,我最近在阿里速卖通(AliExpress)上买了这个无线温湿度传感器。买它的唯一理由就是它实在太便宜了,只要0.99美元左右,而且没有任何品牌标识。好吧,我觉得这钱花得绝对值。上面写着型号是 TH05Y,除此之外,没有任何相关的资料信息。
我觉得如果能把它逆向工程一下,刷个我们自己的第三方固件(Custom Firmware),应该会很有意思。这样一来,我们就不用装他们提供的App,也能用自己的手机连接它,甚至还能把它接入 Home Assistant(家庭助理开源智能家居平台)。如果你想买一个,直接在搜索栏里搜“Bluetooth LCD temperature”(蓝牙LCD温度计),按最佳匹配排序,大概率就能找到同款设备。
看看这玩意儿,温湿度传感器,只要0.99美元,而且各种杂牌满天飞。它们比小米的同类产品便宜不少,除了这块LCD显示屏,其实两者没太大区别。我在网上逛的时候发现,除了小米之外的几款不同型号,里面的PCB电路板几乎长得一模一样。
包装盒上印着“深圳市永远年轻科技有限公司”之类的字眼,但我觉得这东西就是换了个牌子在不同公司卖而已。不出所料,盒子里也没什么特别的。
里面有一台带LCD屏的温湿度传感器,屏幕甚至还贴了保护膜;还有一个背胶贴纸,你可以把它贴在墙上什么的。附带了一份英文说明书,这确实是件好事。当然,他们也有配套的手机App。
我不太放心把这种中国App装在我手机上,不过嘛,那是你的手机你的生活,没人拦着你。这就是所有的配件了。他们连保护膜都送了,虽然我现在不打算撕掉,但这确实是个不错的加分项。
我想它应该是自带电池的,我们来看看。嗯,确实能用,开箱即用。这玩意儿还不赖,看起来还行,小巧玲珑,只要测温准,那完全够用。
如果蓝牙功能也能正常工作,那简直是锦上添花了。绝对对得起你花的这点钱。我们来看看撕掉保护膜后的样子。
嗯,可读性相当不错。背面有个按钮,按一下可以在华氏度和摄氏度之间切换。运气好的话,我们甚至能给这玩意儿加点新功能。
我之前试着在手机上看它的广播数据,但它一直没显示出来。后来我才意识到蓝牙连接标志没有闪烁。你需要按一下或者长按那个按钮,它就会开始闪烁。
之后,设备就开始广播(Advertising)信号了,你在手机上就能看到它。设备名是 Kies2,但除了名字,你看不到任何其他标准配置文件。所有的蓝牙服务都是自定义的(Custom Profiles),你必须用他们的App才能跟设备通信。
也就是说,如果你不想装他们的App,这蓝牙功能就是废的。来把它拆开看看里面有什么吧。要打开后盖,你得用撬棒之类的工具,因为它扣得很紧,徒手是打不开的。
它用的是标准的纽扣电池供电。PCB上的元件不多,我猜这一颗是微控制器(Microcontroller),因为旁边是蓝牙PCB天线,长的那颗可能是LCD驱动芯片,这里是按键,这里是温湿度传感器,还有一处空焊盘。我估计厂家还有其他版本的产品,只是把这里焊上变成了另一款产品。
这一面没什么测试点。我把PCB整个拆下来,看看背面有什么。这款产品没有直接选用带LCD驱动的MCU,而是采用了单芯片加独立LCD驱动的方案。
这跟我之前做厨房计时器时用的LCD替换方案是一个道理。当时我用的是ESP8266作为微控制器,外加一个LCD驱动。看来这里也是类似的设计。
把PCB拆下来比我想象的要费劲一点,不过这也是好事。毕竟你肯定不希望摇一摇它就响。现在它是死寂一片,一点声音都没有。
拆下来还挺费劲的,我猜我也得弄个撬棒才行。我们试试看。
其实根本不需要工具,我只在这边稍微用了点力,轻轻推了一下LCD,PCB就弹出来了。LCD嵌得比较紧,不像那种廉价货一抠就掉,但稍微用点力也就下来了。这就是那种廉价的LCD模组。
这是斑马条(Zebra Strip,导电橡胶条),这种廉价LCD常用这个,上面没有任何驱动电路。而这一面有好消息——有测试焊盘(Test Pads)。估计是他们设计完PCB后就没去掉。
我们可以通过丝印来识别PCB,上面写着 TH05Y。而且所有的测试焊盘都标好了名称,这比在PCB上满地找线要方便多了。
这是正反面高清照片。正面这颗微控制器丝印是 PHY 6222,就是那个小黑块。这里是我们的温湿度传感器,型号是 CHT 8305
我还没搞清楚LCD驱动芯片是什么,但估计是国产市场里那种通用的LCD驱动。我们接着看。这张照片还揭示了引脚定义。
你可以看到这里有第一组 UART(串口)通信焊盘和电池接口。还有第二组UART和复位引脚(Reset Pin)。这些都是引出来的。
你还可以看到温湿度传感器的连接线。这些焊盘都是用来驱动段码LCD的。这颗MCU来自 PHY Plus 微电子,搭载 ARM Cortex-M0​ 内核。
除了参数,它的功耗表现相当惊人。如果数据手册没骗人,这电池应该能撑很久。这是温湿度传感器的数据手册,来自 SensiLiq Microelectronics,走的是 I2C 通信总线
这颗MCU好的一点是,你可以在GitHub上找到官方的 SDK(软件开发套件)。而且文档是英文的,总比去啃中文文档强。链接我会放在简介里。读完文档我发现,你可以通过UART接口给这颗MCU刷机。
但这里有两个UART。一个是下面的 TX1 和 RX1,另一个是这里的 TX2 和 RX2。我打算先用第一个UART尝试刷入自定义固件。当然,电源就用电池接口。
可能我们不需要动传感器那边的I2C引脚,所以我就先不动它们了。另外,我们还需要接一下复位引脚(RST)。
我按刚才说的焊了几根线。线的另一端我用了压线钳压上了杜邦头。要刷固件,你还需要一个 USB转TTL串口模块(USB to UART Converter)。
不过我这模块没有复位引出脚,所以你需要在刷机前,快速地把复位引脚碰一下地(GND)。这有点技巧性,但试几次就好了。我还要把这些接到面包板上。这就是我最终的接线图。
接线方式是:适配器的GND接电池负极(VBAT-),3.3V接电池正极(VBAT+)。还有 TX2 接 RX1,RX2 接 TX1。(注:原文口误,实际应为交叉连接)。如果你的适配器有复位按钮,也可以把复位脚接上。
试了几个SDK里的例程后,我本来想用 BT Home​ 标准广播协议,好让它能直接接入Home Assistant。但查了下GitHub,发现已经有人把苦活累活干完了,还提供了各种版本。所以我决定直接用现成的,没必要重新造轮子。链接放简介了。
首先,从GitHub下载文件,然后在文件夹里打开终端,运行命令安装所需的依赖库。如果你想要文字版教程,简介里也有。
准备工作做完后就可以刷机了。你需要快速地把复位引脚碰一下地,然后松开,刷写就会继续。这一步只需要做一次,刷进去的是一个OTA(空中升级)引导固件。之后你就可以通过蓝牙无线更新固件了。
这一步完成后,设备就支持OTA了。你需要用浏览器打开那个链接。注意,这功能只支持 Chrome、Brave 和 Edge 浏览器。
我现在用的是 Brave 浏览器。新建标签页,输入 brave://flags,搜索 Bluetooth,开启 Web Bluetooth 功能。
开启后,输入你的设备前缀名,点击连接。记得也要按一下设备上的按钮开启广播模式,选择正确的设备(通常以特定前缀开头),点击配对。
然后点击 OTA(Over-The-Air),选择你想安装的固件。我要装的是 Beta 版固件,点击 Start。顺便说一句,因为我之前已经刷过了,所以这里能看到温湿度数值。除了这一行,步骤都是一样的。等进度跑完就行了,大概需要一分钟。
完成后,如果你想更新,重复同样的步骤就行。为了信号稳定,尽量把设备靠近电脑。
至于接入 Home Assistant,进入设置 -> 设备与服务 -> 添加集成。搜索 BT Home,如果没安装就安装它。因为我已经装过了,它已经在自动发现设备了。点击它,提交,像往常一样分配给对应的区域就行了。
然后你就能在仪表盘上看到传感器数值了。你可以把它当作 Home Assistant 的温度计,或者用这些值来触发自动化动作。除此之外,板子上还有两个 UART 端口,你也可以用它们去触发其他设备。感兴趣的话,简介里有链接可以参考。
说实话,如果你在市场上找这类设备,买这种就行。原厂固件我是一点都不想用。但刷了第三方固件后,它就完全可用了。跟小米温度计比,我觉得这些廉价克隆版反而更好。至少可读性更强,而且比小米便宜太多了。当然,也有人会选择小米,这就看个人喜好了。有些人可能喜欢右边那种深色LCD。
有了新固件,电池续航大概能撑一年。如果喜欢这个视频,别忘了点赞,我们下期见!

为了确保翻译准确,避免外行笑话,以下是文中几个关键术语的处理说明:

原文
翻译
解释
PHY 6222​
PHY 6222​
这是芯片型号,属于奉加微(Phyplus)的BLE射频芯片,绝不可翻译成“物理层6222”。
Zebra Strip​
斑马条 / 导电胶条​
指连接LCD和PCB的那条黑白相间的导电橡胶,不是斑马纹贴纸。
UART / WART​
串口 / 通用异步收发器​
视频中口误将UART读成WART,翻译统一修正为UART。
Blob​
黑块 / 邦定片​
指COB封装(Chip On Board)的软封装芯片,也就是电路板上的黑色圆点。
OTA​
空中升级 / 无线刷机​
Over-The-Air,指不通过有线连接,直接用蓝牙/WiFi更新固件。
Reverse Engineer​
逆向工程​
硬件圈黑话,指拆解分析别人的产品原理。

总结流程复盘
为了更清晰地理解,我们把整个视频的逻辑串起来:
  • 硬改阶段(物理层面):
    • 焊线到 PHY 6222​ 的 UART 引脚(TX/RX/GND/VCC/RST)。
    • 用 USB-TTL 转换器插电脑,第一次把 “OTA Bootloader(引导程序)”​ 刷进去。这一步必须接线,因为设备里原本没有接收无线信号的程序。

  • 软改阶段(无线层面):
    • 拔掉焊线,设备重启。
    • 电脑打开浏览器,访问那个特殊的网页。
    • 网页通过蓝牙连接设备,把 “完整功能的固件”(包含I2C驱动 + BT Home协议)推送给设备。

  • 使用阶段:
    • 设备现在变成了一个标准的BT Home传感器。
    • Home Assistant 直接接收广播数据,大功告成。


所以,不要以为OTA一定需要HTTP服务器,但实际上这里是“浏览器直连蓝牙传输”。

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|数码之家-技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2026-6-2 21:58 , Processed in 0.124800 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz!

© MyDigit.Net Since 2006

快速回复 返回顶部 返回列表