跳转到主要内容

将达拉斯1线传感器的读数发布到MQTT

项目描述

达拉斯MQTT是一个服务,它将定期轮询任意数量的达拉斯1线传感器,并将数据发布到MQTT代理。

安装

达拉斯MQTT可通过pypi获取,因此您只需运行以下命令

pip install -U dallasMQTT

假设您已安装pip。(这是推荐的方式安装。如果您需要使用达拉斯MQTT的开发版本,您可以克隆存储库并在本地使用以下命令安装它

git clone https://github.com/mtreinish/dallasMQTT.git

然后使用以下命令安装

pip install -e dallasMQTT

这将使达拉斯MQTT在您的Python环境中以可编辑模式安装,以便进行本地开发。

如果您未安装pip,您可以通过克隆存储库并使用以下命令从存储库基本目录手动安装dallasMQTT

python setup.py install

但是,请注意,通过pip安装是推荐和支持的安装方式。(即使是本地git克隆)

配置

要配置达拉斯MQTT,您需要创建一个配置yaml文件,该文件将告诉达拉斯MQTT如何访问传感器,如何使用MQTT等。该文件具有3个部分的格式是

mqtt:
    hostname: foo

sensors:
    - id: id number
      name: 'My Sensor'

default:
    poll_rate: 60
    base_topic: a_topic

MQTT部分配置

此部分用于配置达拉斯MQTT如何连接到MQTT代理。要配置mqtt部分,它目前有3个选项

  • 主机名

  • 用户名

  • 密码

其中只有主机名必需的。其他2个选项是可选的。您可以使用用户名和密码,如果需要客户端认证(或MQTT代理要求)。

传感器部分配置

yaml配置文件中的传感器部分用于指定要轮询哪些传感器以及如何在mqtt主题中标记它们。它接受任意大小的传感器列表,包括传感器ID和名称的组合,例如,如果有3个传感器,它看起来可能像这样:

sensors:
    - id: 28-000001
      name: Sensor1
    - id: 28-000002
      name: Sensor2
    - id: 28-000003
      name: Sensor3

此模式将重复用于您想让dallasMQTT轮询的任意数量的传感器。名称字段相当直观,它只是用作mqtt主题第二部分的传感器名称,例如:

$base_topic/$name

id字段用于指定要轮询的传感器ID。dallasMQTT将轮询位于

/sys/bus/w1/devices/``$id``/w1_slave

因此,确保在这里使用正确的ID非常重要,否则dallasMQTT将无法读取传感器数据。

本节编写得足够广泛,以便在将来可以向dallasMQTT添加额外的传感器类型。这将是一个非常简单的添加,只需要在每个列表元素中添加一个可选的驱动器字段,告诉dallasMQTT使用哪个类来轮询传感器。(这些额外的传感器不一定必须是dallas 1 wire)但是,目前只有一个类,即DallasTemp,用于1线温度传感器,因此该字段不存在。然而,如果/当dallasMQTT更新以包含其他传感器类型时,文档将更新。(并且将遵守向后兼容性,以免破坏任何人)

默认部分配置

默认部分是您配置控制dallasMQTT基本操作的设置的地方。目前该部分有3个选项:

  • base_topic

  • poll_rate

  • max_threads

所有3个选项都是可选的。

base_topic用于设置用于在mqtt上发送传感器数据的基本主题。消息将按照以下方式在mqtt上发送:

$base_topic/$sensor_name

默认情况下,此设置设置为dallasMQTT

poll_rate用于指定在工作者线程之间轮询传感器的时间(秒)。请注意,这不是单个传感器之间的时间,而是单个线程处理的多个传感器之间的时间。该组中的每个传感器都将依次轮询,它们之间没有任何等待时间。

max_threads用于指定dallasMQTT将启动以轮询传感器的最大线程数。如果配置文件中的传感器少于线程数,将为每个传感器启动一个工作者线程。如果有更多的传感器,则传感器将平均分配到指定的工作者数量。每个工作者将处理其收到的传感器列表。

用法

运行dallasMQTT相当直接。安装dallasMQTT后,只需运行

dallasMQTT config.yaml

其中config.yaml是您的yaml配置文件的路径。

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

dallasMQTT-0.1.0.tar.gz (22.6 kB 查看哈希)