小米工厂传感器蓝牙到mqtt网关

plantgatewa的Python项目详细描述


plantgateway

用于小米工厂传感器的蓝牙le-to-mqtt网关。有关详细信息,请参见documentation overview

用例

对于许多装置来说,小米工厂的传感器离你的 家庭服务器直接通过蓝牙连接。 在这种情况下,plantgatway将从 小米工厂传感器蓝牙乐用 miflora。 然后,数据通过mqtt发布到您的家庭自动化服务器。

plantgateway打算在小型linux机器上运行(例如 Raspberry Pi 或者是一个既有蓝牙le又有wifi的C.H.I.P)。

安装和更新

sudo apt-get install python3-pip build-essential libglib2.0-dev libyaml-dev
  • 从PYPI安装工厂网关:
sudo pip install --upgrade plantgateway

或者如果您有多个python和pip安装:

sudo pip3 install --upgrade plantgateway
  • 要更新安装,只需再次运行pip。

如果pyyaml安装有问题,请更新pip版本 用sudo pip3 install --upgrade pip再试一次。

配置

plantgw.yaml(在这个存储库中)复制到主目录并 将其重命名为“.plantgw.yaml”。 然后更改此文件以符合您的要求。

执行

使用pip安装后,您只需从命令行运行该工具即可:

plantgateway

没有命令行参数,也不需要交互。 您可能希望将脚本添加到cron选项卡中以执行 定期(每小时一次)。

家庭自动化集成

家庭助理

如果启用MQTT discovery 通过在 配置文件中,所有已配置的传感器都自动在Home助手中可用。 要监视植物的状态,可以使用 "plant" component

FHEM

在家庭自动化工具fhem中检查工厂, 你可以使用 gardener模块。 安装过程在模块的github页面上进行了说明。

如果还没有这样做,则需要在fhem中配置mqtt服务器 一个MQTT模块。 对于每个传感器,设置一个MQTT_Device 自动订阅主题 您在plantgateway中进行了配置:

define <plant_name> MQTT_Device
attr <plant_name> autoSubscribeReadings <prefix_in_config>/<plant alias>/+

之后,将园丁配置为符合您的要求

安全性

关于安全的评论: 在Internet上运行MQTT服务器之前,请确保启用 SSL/TLS加密和客户端身份验证。

问题分析

如果您对plantgateway有任何问题,请检查:

  • 配置文件是有效的yaml文件吗?
  • 您的蓝牙加密狗是否支持Bluetooh低能耗?与sudo hcitool lescan核对,这应该列出所有低能耗设备。
  • 如果您有连接问题,请尝试系统更新sudo apt update; sudo apt dist-upgrade。这通常可以解决这些问题。

如果所有这些都没有帮助,请在github中提交一个错误通知单。

许可证

除非另有说明,否则此存储库中的所有软件都是根据apache许可证2.0授权的 http://www.apache.org/licenses/LICENSE-2.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java利用Android的surfaceView   服务器不通过socket接受java中的客户端请求   带有文本标签和文本字段的用户界面java fx验证问题   java是否可以使用Wine在Linux上运行Eclipse Portable?   运行时的java意图参数   java不支持新的白俄罗斯卢布。util。通货   java Struts2文件上载NullPointerException   为什么PowerShell显示“找不到符号”错误,而VS代码Java进程控制台运行得很好?   创建意图的java空指针异常   ArrayList的java打印索引<String[]>   xpath java。伊奥。IOException:服务器返回了URL:http://www.w3.org/TR/html4/strict.dtd   java KeyListener未激活   java导入编译为jar的包:坏的类文件,类文件包含错误的类,包不存在错误   java将图像路径从onActivityResult传递到onClick函数   java Catch block不允许用户继续执行程序   java Spring Mvc不适用于除`/`