用于读取米家植物土壤传感器数据的库
项目描述
miflora - 小米植物传感器的库
此存储库曾位于 open-homeautomation/miflora 命名空间下,最初由 @open-homeautomation 创建。
此库允许您从小米植物土壤传感器读取传感器数据。
- 最新版本下载:https://pypi.python.org/pypi/miflora
- 构建状态:https://github.com/basnijholt/miflora/actions
- 测试覆盖率:https://coveralls.io/github/basnijholt/miflora
功能
它支持读取传感器上的不同测量值
- 温度
- 湿度
- 导电性
- 亮度
使用此库,您需要在电脑上连接蓝牙低功耗适配器。您还需要一个小米米家植物传感器。
后端
遗憾的是,目前没有适用于Python的通用蓝牙低功耗库,因此该项目目前支持两种蓝牙实现
- bluepy库
- bluez工具(已弃用,通过gatttool包装器)
- pygatt库
bluepy(推荐)
要使用bluepy库,您必须在您的机器上安装它,在大多数情况下,可以通过以下方式完成:pip3 install bluepy
使用bluepy后端的示例
from miflora.miflora_poller import MiFloraPoller
from btlewrap.bluepy import BluepyBackend
poller = MiFloraPoller("some mac address", BluepyBackend)
这是要使用的后端库。
bluez/gatttool包装器(已弃用)
:warning: bluez团队已将gatttool标记为已弃用。此解决方案可能仍然在某些Linux发行版上工作,但不再推荐。
要使用bluez包装器,您需要在您的机器上安装bluez工具。不需要额外的python库。一些发行版已将gatttool二进制文件移动到单独的包中。请确保您机器上有此二进制文件。
使用bluez/gatttool包装器的示例
from miflora.miflora_poller import MiFloraPoller
from btlewrap.gatttool import GatttoolBackend
poller = MiFloraPoller("some mac address", GatttoolBackend)
如果您的平台不受bluepy支持,则应仅使用此后端。
pygatt
如果您有一个由Blue Giga支持的设备,并且该设备受pygatt支持,您必须在本机上安装bluepy库。在大多数情况下,可以通过以下方式完成:pip3 install pygatt
使用pygatt后端的示例
from miflora.miflora_poller import MiFloraPoller
from btlewrap.pygatt import PygattBackend
poller = MiFloraPoller("some mac address", PygattBackend)
依赖项
miflora依赖于btlewrap库。如果您通过PIP安装miflora,btlewrap将自动安装。如果不安装,您将需要手动安装btlewrap
pip3 install btlewrap
故障排除
用户经常遇到蓝牙适配器与传感器之间的通信问题。以下是一些常见的尝试方法。
电池耗尽
电池通常可以持续约一年,但在那之前也可能因未知原因而失效。因此,首先要检查电池是否良好:取出电池,等待3秒,然后放回。传感器的灯应该闪烁。如果不是:更换新电池。
范围
蓝牙适配器和传感器之间的距离应小于5米。尝试将传感器和适配器放得更近,看看是否能解决问题。如果范围是问题,有一些通过MQTT提供的代理/中继器。
- Linux
- ESP32
室外
如果您在室外操作传感器,请确保传感器已防雨。电池在-10°C以下的功率会降低。因此,您可能无法在此温度下读取数据。还要确保您附近有蓝牙适配器。
无线电干扰
蓝牙低功耗通信并不总是可靠的。由于其他无线电干扰,可能会出现中断。标准解决方案是重试或更频繁地轮询您的传感器。这也是最难分析和调试的问题。
Raspberry Pi
如果您正在使用Raspberry Pi,请确保您的操作系统是最新的,包括最新的内核和固件。有时有一些有用的蓝牙修复。还要确保您有一个良好的电源供应(建议3 A)因为这会导致许多地方出现间歇性问题。
贡献
依赖于miflora
的项目
以下列出了一些使用此库的项目
- https://github.com/ThomDietrich/miflora-mqtt-daemon - 用于智能家居解决方案集成的MQTT客户端/守护进程
- https://home-assistant.io/components/sensor.miflora/ - 集成到Home Assistant中
- https://github.com/zewelor/bt-mqtt-gateway - 一个支持MiFlora传感器和其他设备的蓝牙到MQTT网关
- https://github.com/ChristianKuehnel/plantgateway - 一个中继传感器数据的MQTT客户端
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码发行版
构建发行版
miflora-0.7.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1df7a28b728af57b7cad4726e4b9d576f9e0652528d3b1f6c3ca1ca1066f7640 |
|
MD5 | 7ed8c3cfb13cc289ac8a5e6bdf5255de |
|
BLAKE2b-256 | 829e5a32beeed638c8c13c5cf343783d3e25c947a5101762d57d7a9c7e9e5dbe |
miflora-0.7.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a059c450849f79854a4a4eec18f37628274c9f0419c2e3dde451e9115069b8b |
|
MD5 | fbbd0689cfbb3fbbfd2312db3fe4ec97 |
|
BLAKE2b-256 | 41a0d144178d490426e5dc13c4c62722bcb5457fb7ce5d2d58932beb597351b4 |