使用树莓派定时读取小米温湿度传感器数据并发送到微信

前面有文章讲过可以在线把小米温湿度传感器刷定制固件,同时还会开启其蓝牙广播功能,参考文章:小米温湿度传感器刷入定制固件,开启自定义功能

因为手头刚好有树莓派,就想着怎么可以利用树莓派采集小米温湿度传感器的广播数据然后发送到手机上,通过蓝牙广播来读取数据不用建立蓝牙连接,更加省电,这样就相当于可以远程监控家里温湿度情况了,而且使用树莓派可以做很多定制,比如温度达到多少进行提醒等等。

在网上有找到一个项目,可以在树莓派上运行python来读取温湿度传感器的广播数据,项目地址:https://github.com/JsBergbau/MiTemperature2

使用wget远程下载到树莓派中,然后解压缩得到一个叫MiTemperature2-master的文件夹

接下来还需要先设置一下小米温湿度传感器的蓝牙广播配置:参照前面文章在电脑上通过这个链接:https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html连接上小米温湿度传感器

然后参考图中所示,将Advertising type设置为ATC441,设置广播时间Advertising interval为2500ms,设置广播功率RF TX Power,可以参考树莓派与传感器距离进行调整,最后点击Send Config进行设置。

之后进入MiTemperature2-master文件夹中

里面的LYWSD03MMC.py就是我们接下来要用到的文件,使用教程可以看项目中介绍或者使用命令:

python3  LYWSD03MMC.py -h

最简单的用法是输入命令:

python3  LYWSD03MMC.py -a

 此时就可以获取到温湿度传感器数据了

至此已经可以顺利读取数据了,但我想要的是可以定时读取数据并发送到我的微信中,这里就要借用项目进行爆改了

参考文件LYWSD03MMC.py文件中蓝牙连接及数据解码的内容,同时参考文章https://blog.csdn.net/m0_49475727/article/details/115401631,然后在再代码中加入发送到微信和telegram的代码,这里参考我之前的文章:弃用server酱,python使用企业微信小程序发送消息到微信中python使用telegram机器人发送消息进行推送

就可以实现将读取到的数据传输到手机上了,至于定时读取就可以参考文章:宝塔面板设置定时执行python脚本,这些结合后就实现定时读取温湿度传感器数据然后发送到手机中的目的了,结果如图所示:

这是微信中的:

这是telegram中的:

还可以在代码中加入各种其他通知或者警告等功能

代码放在这里了:https://strivefysfxyh.lanzoub.com/iNLkx049756h下载解压缩,有两个文件,把里面发送微信和telegram的代码参考之前文章进行修改,然后运行读取并发送温湿度传感器数据.py即可

访问密码:

抱歉,只有登录并在本文发表评论才能阅读隐藏内容

 

点赞
  1. demon demon说道:
    Google Chrome Windows 10
    1楼

发表回复

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