米家温湿度计刷入定制固件解锁隐藏功能

By | 2021年4月4日

前段时间用红包捡便宜入了一个小米米家温湿度计,后来在网上搜索发现这个小玩具居然还能刷入定制固件解锁更多的隐藏功能,于是便有了这篇文章。

刷入固件采用的是类似原生 OTA 的形式,所以并不需要拆机或者编程器什么的,有一台带蓝牙的电脑就可以。不过刷入定制固件之后原本的米家 app 就无法连接了,好在玩腻了也可以用同样的方法再刷回去,非常灵活自由。

定制固件支持上面三款小米/米家温湿度计,型号分别为 LYWSD03MMC , MHO-C401 , CGG1-Mijia 。其中 LYWSD03MMC 也就是小米温湿度计2的性价比是最高的,非常容易找到50元以下3个包邮的卖家。

1.准备工作

温湿度计本身没什么需要特别设置的地方,将它放在电脑蓝牙接收器的附近即可。电脑上使用现代浏览器打开这个网址。如果是 Linux 系统下,需要使用 Chrome 并打开 chrome://flags/#enable-experimental-web-platform-features 这个开关并重启电脑后才能继续下一步。

2.刷入固件

点击网页上的 Connect 按钮,在浏览器弹出的蓝牙设备选择框中点选正确的设备,最后点击配对。有时搜索设备可能需要比较长的时间,原厂米家温湿度计2的设备名应该是 LYWSD03MMC 。

如果是原厂固件,还需要点击一次 Do Acivation 按钮,此时网页会变为以上所示的画面。reizhi 的设备已经刷入定制固件,所以没有 Do Acivation 按钮。

点击 Custom Firmware ,再点击 Start Flashing 就可以刷鞋定制固件到米家温湿度计了。刷写完成后需要重新点击 Connect 来连接。

3.固件设置

在重新连接到米家温湿度计后,可以利用这个网页来定制非常多的隐藏设置。

例如温度单位,轮换显示日期电量,蓝牙广播间隔,广播功率等都可以直接在网页上修改,再点击 Send Config 即可将设置上传到温湿度计中保存。也可以点击 Get Config 来下载当前设置值,或者使用 Set default 来恢复默认设置。

为了弥补不能连接米家 app 的缺陷,网页上的 GraphMemo.html 链接提供了读取历史数据并绘图的功能。当然你也可以在页面上选择下载所有的温湿度数据到本地保存。

由于定制固件默认开启了蓝牙广播温湿度数据的功能,耗电量相比原厂固件可能会略微增加。不过比起蓝牙连接的方式,蓝牙广播消耗的电量会更少。有关如何监听并保存蓝牙广播数据的教程,会放在下一篇文章中。

相关项目:https://github.com/pvvx/ATC_MiThermometer

26 thoughts on “米家温湿度计刷入定制固件解锁隐藏功能

  1. leelei

    现在问题是刷了自定义固件再刷官方固件后,无法连接米家app,虽然能够找到设备,但在连接过程中提示“标准认证失败”,最终导致失败,这样是不是再也不能恢复原厂了?

    Reply
    1. reizhi Post author

      你试一下连接后 set default 再 send ,或者 advertising type 切一下,勾上 Mi beacon 。
      原始 type 是什么我忘了。

      Reply
  2. 就是就是就是觉得

    你好 我这个刷上之后温度湿度显示异常 无论怎么复位拔电池都没用 网页上虽然能显示检测到设备但是无法读取温度 变砖了怎么办

    Reply
    1. reizhi Post author

      可以尝试连接之后在网页上 set default ,如果不行可以尝试在线刷回原厂固件,就是页面上 Original_OTA 那个按钮。
      如果都不行,项目页面提供了 USB-TTL 刷机指导,需要有一点动手能力。

      Reply
      1. diamondda

        你好 我还是那个人 感谢回复 我看到github项目写着这个型号说什么最新版固件无法进行控制了 但是我刷上之后比如设置华氏度什么都能生效 就是温湿度好像严重不灵敏 并且我看现在的页面都跟你文章不太一样了 你文章提到的温度记录折线图是怎么看的? 还有我看了你的蓝牙广播教程 我尝试用教程里那个网站连接机器 都是一直connecting 连不上 但是使用作者原装的网页又可以连上 发指令也有效果

        Reply
      2. diamondda

        补充 我使用atc的tenki flasher网页是可以连接 但是用你这边提供的这个3.2z版本就无法连接

        Reply
        1. reizhi Post author

          我这里两个3.2都正常,显示也都正常。
          图形历史就是刷机页面上的 GraphMemo.html 。

          Reply
          1. diamondda

            用你这边的网站
            我这边这个graph memo 能链接 但是得不到数据 graph atc都能用 3.2z直接一直connecting连不上 但是机子上面有蓝牙图标

    2. reizhi Post author

      回复嵌套最多3层,重新回复下。
      出3.3固件了你可以去试试。

      Reply
  3. diamondda

    兄弟 我真不知道我这玩意为什么这么坑爹
    买过了刷自定义之后 温度显示明显异常 灵敏度严重下降
    刚刚刷上了十天前的固件 原本昨晚可以使用网页的蓝牙广播功能 今天也失效了
    想链接米家结果选择了mi like 还是无效 按你说的做了都是无效

    Reply
    1. reizhi Post author

      我这两个都是 B1.4 的硬件,刷几个版本的固件,和家里机械式温湿度计的读数都是对得上的。
      你如果想要刷回旧版 DIY 固件,项目页面的 releases 里都有。

      Reply
  4. diamondda

    请问我使用GraphMemo功能时显示
    Send command get-memo (0..19632 samples
    持续好久都没反应是为什么 是需要等待吗

    Reply
  5. Amoour

    大佬,我点击了DO Acivation 按钮,ID TOKEN KEY 都生成了,为啥没有出现Custom Firmware 按钮呢?

    Reply
        1. reizhi Post author

          试一下:Advertising type MIJIA,选上Encrypted beacon

          Reply
  6. LY

    你好,为什么我卡在最后一步
    网页出现了 Send command get-memo (0..19632 samples)…
    紧接着就是 ReferenceError: Connected is not defined
    我的advertising type 不管是设置成ATE还是其他的都不行
    哪里出错了呢

    Reply
    1. reizhi Post author

      你的蓝牙信号不好?GraphMemo 直接读闪存,和 advertising type 无关。

      Reply

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滑动到最右以进行验证 *