如何使用Zigbee2MQTT将温度和湿度传感器数据发送到选定的服务器?发表时间:2024-05-23 09:24 将温度和湿度传感器数据发送到本地或远程服务器对于构建智能家居解决方案非常重要。它使用户能够高效地跟踪家中、办公室或零售场所的气候,并创造舒适和有利的氛围。在本文中,我们将深入探讨Zigbee2MQTT的工作原理,以及如何使用它将Zigbee温度和湿度传感器数据发送到指定的服务器。 什么是Zigbee2MQTTZigbee2MQTT是一个开源程序,它将MQTT支持的平台与Zigbee设备连接起来。有了它的帮助,用户可以轻松地收集、发送和存储重要的环境数据到本地或远程云服务器。Zigbee2MQTT已成为智能家居自动化领域的革命性关键角色,它使用物联网提供灵活且成本效益的解决方案,用于管理Zigbee设备。 例如,您可以将Zigbee温度和湿度传感器连接到您的Zigbee网络,并使用Zigbee2MQTT程序将收集到的数据集成到您首选的服务器进行实时监控。 所需设备和工具是什么? 为了使用Zigbee2MQTT传输智能传感器数据,我们首先必须知道我们将使用哪些设备以及Zigbee2MQTT的工作原理。为了确保我们理解这些组件如何协同工作以促进高效的数据传输,请确保以下设备可用: 一个Zigbee温度和湿度传感器温湿度传感器将捕获环境温度和湿度数据并将其发送到Zigbee网关。然后,数据将被转发到MQTT软件。 一个Zigbee网关在这种情况下,我们使用DSGW-030-1 Zigbee MQTT网关。 Zigbee网关管理Zigbee网络,包括设备配对、路由和配置。在Zigbee2MQTT生态系统中,它还充当翻译器,将Zigbee协议和MQTT协议之间的消息进行转换,将其转换为MQTT服务器可以理解的格式。同时,Zigbee网关还是一个发布者,向MQTT服务器发送包含从Zigbee设备收集的数据的消息。 一台计算机在这种情况下,我们使用计算机作为本地服务器并托管MQTT软件。它在MQTT通信范式中充当订阅者和发布者。 作为订阅者,它监听在网关上运行的MQTT客户端的消息,确保实时接收相关数据更新,并使其可供指定的应用程序或服务消费并利用接收到的传感器数据。 作为发布者,它向Zigbee2MQTT网关发送包含控制命令的消息,旨在指示网关在Zigbee网络内执行特定操作或配置。 Zigbee2MQTT在传感器、网关和MQTT服务器之间的通信工作流程Zigbee2MQTT的工作原理涉及一系列步骤,如下所示:
逐步设置Zigbee2MQTT设备上的Zigbee2MQTT通信在这一部分中,我们将展示在前面列出的设备上设置Zigbee2MQTT通信的逐步过程。 步骤1:找到一个MQTT程序并构建MQTT服务在本教程中,我将使用Eclipse Mosquito来构建MQTT服务。Mosquito是我选择的MQTT消息代理的首选,因为它是开源的,这意味着您可以自由使用,无需支付任何许可费。此外,它轻量级,适用于从低功耗单板计算机到全服务器的所有设备。在选择Mosquito时我考虑的其他功能包括其易用性、跨平台兼容性、轻量级、TLS加密支持和积极的社区支持。 要使用Mosquito,您可以从https://mosquitto.org/download/下载并安装mosquito程序。 之后,您可以使用命令Mosquitto -p 1888 –v创建一个MQTT服务器,如下所示: 确保网关和MQTT服务器在同一个局域网内,并找到服务器的IP地址。在我自己的例子中,它是192.168.1.2(这是一个本地IP)。 步骤2:设置Zigbee网关通过路由器将Zigbee网关和PC连接到同一个本地网络。 通过登录路由器找到网关的IP地址。在我的例子中,我使用Advanced IP Scanner程序来帮助我找到它。红色矩形中的IP地址是我的网关IP地址。 在计算机上打开一个网页浏览器 > 输入网关IP地址 > 输入用户名和密码(默认用户名:root,密码:root)> 登录到网关用户界面。这个过程在下面的图片中显示。 步骤3:在Zigbee网关上配置MQTT在网关用户界面上找到MQTT配置页面,输入MQTT服务器的IP(192.168.1.2)和服务器端口号(1888)。这样,您可以将MQTT服务器与在网关上运行的MQTT客户端连接起来(确保MQTT设置与您的MQTT客户端匹配)。 您可以使用mqtt.Fx.来检查MQTT连接。这一步的目的是验证您的MQTT代理的配置,测试网关和代理之间的MQTT通信,并在配置过程中出现问题时允许调试和故障排除。 步骤4:在网关Web界面内为发布消息配置MQTT主题MQTT主题将用于组织和路由从Zigbee网关到MQTT服务器的数据。 您需要选择一个有意义的主题名称,反映在云平台上发布数据的类型。在我的例子中,网关将消息发布到主题‘temperature’并从主题‘temperature/mac’订阅。 例如,如果网关的Mac是30:ae:7b:64:00:28,那么它将从主题‘temperature/30:ae:7b:64:00:28’订阅,并将数据发布到主题‘temperature’。 如果您需要设置更多的MQTT主题,您需要在网关Web和MQTT服务器中设置相同的主题。 注意:心跳(上传数据到服务器的时间间隔)可以根据您自己的需求进行自定义。 步骤5:将Zigbee温度和湿度传感器与Zigbee网关配对通过访问网关用户界面添加Zigbee传感器 Dusun Zigbee网关具有用户友好的设备配置和管理界面。以下是您可以将设备添加到网关的一般概述: 打开网关用户界面,找到Zigbee3.0管理网页。这一步非常简单。然后您可以点击允许按钮,网关将进入配对模式。如果配对过程成功,您将在网上看到温度和湿度传感器。 提示:如何配置Zigbee温度和湿度传感器 您可能有两种情况。 一种情况是使用Dusun IoT自己的智能传感器,这将确保兼容性,因为网关和传感器之间的集成已经经过多次严格测试。在这种情况下,传感器只需要在背面长按五秒钟,然后再按一次,使红色LED继续闪烁,表示进入配对模式。 第二种情况是使用第三方Zigbee传感器,您可以根据用户手册进行操作。在这种情况下,您必须确认您的设备的Zigbee版本。比如如果是标准的Zigbee 3.0协议,如果其软件部分已经被修改,等等。这可能导致配对失败。 通过MQTT代理添加Zigbee传感器 您也可以选择通过MQTT代理添加Zigbee传感器。下面是一个简化的例子,说明如何使用代码通过MQTT代理将Zigbee温度和湿度传感器添加到Zigbee网关: { "data": { "arguments": { "attribute": "mod.add_device", "ep": 1, "value": { "mac": "00158d0001b61234" }, "mac": "00158d0001b61234" }, "id": "eb92016c-320d-4619-aca2-a401352e806f", "command": "setAttribute" }, "from": "CLOUD", "mac": "30:ae:7b:2b:41:60", "messageId": 25607, "time": 1553909170, "to": "NXP", "type": "cmd"}通过MQTT代理添加设备涉及向特定主题发送MQTT消息,触发目标设备上的行动。这简化了Zigbee网络内设备配对的过程。例如,通过MQTT代理添加设备提供了一种集中化的方法,简化了网络内Zigbee设备的配置和管理。 步骤6:设置过程完成!当配对成功时,您可以在MQTT服务器中接收到温度和湿度传感器状态,如下所示: 这里我们将展示更多关于温度和湿度数据的信息。 附近的温度数据将每15分钟上传一次,数据包含属性、温度值、设备类型、电池电量、时间戳等。 { "data" : { "attribute" : "device.temperature", "mac" : "842e14fffe1e9bb2", "value" : { "value" : "29.58", "ep" : 1, "zone" : "RoomBank-TemperatureHumidity", "unit" : "C", "ModelStr" : "RoomBank-TemperatureHumidity", "battery" : 100 }, "ep" : 1 }, "from" : "GREENPOWER", "to" : "CLOUD", "time" : 1599706766, "deviceCode" : "010123f3-c750-43e7-ad41-6672126fa416", "mac" : "30:ae:7b:64:00:c6", "type" : "reportAttribute" } 附加信息:
附近的湿度数据将每15分钟上传一次,数据包含属性、湿度值、设备类型、电池电量、时间戳等。 { "data" : { "attribute" : "device.humidity", "mac" : "842e14fffe1e9bb2", "value" : { "value" : "56.44", "ep" : 1, "zone" : "RoomBank-TemperatureHumidity", "unit" : "%", "ModelStr" : "RoomBank-TemperatureHumidity", "battery" : 100 }, "ep" : 1 }, "from" : "GREENPOWER", "to" : "CLOUD", "time" : 1599706766, "deviceCode" : "010123f3-c750-43e7-ad41-6672126fa416", "mac" : "30:ae:7b:64:00:c6", "type" : "reportAttribute" } 附加信息:
如何管理Zigbee2MQTT设备和系统实施最佳安全实践您可以为您的Zigbee2MQTT温度和湿度传感数据上传系统实施以下最佳安全实践:
实施定期维护任务您可以为您的Zigbee2MQTT温度和湿度传感数据上传系统实施以下定期维护任务:
总结将传感器数据发送到本地或远程服务器是智能家居应用中的强烈需求。无论您喜欢通过可定制的仪表板还是专有移动应用程序来监控温度和湿度数据,Dusun IoT的智能家居解决方案都提供了带有标准MQTT API的智能网关,以便顺利集成到您自己的平台中。 如果您使用AWS或Azure等公共云服务,我们提供预安装的插件,以便与这些平台轻松集成。此外,作为Thingsboard的官方网关硬件合作伙伴,我们提供广泛的Thingsboard IoT网关,确保兼容性和简化集成。我们所有的智能传感器和网关已经集成并准备好被纳入您的特定智能家居解决方案中。欢迎咨询批量订单价格。 声明:此篇为东胜物联原创文章,转载请标明出处链接:https://www.hzdusun.com/blog/zigbee2mqtt-zigbee-tem-hum.html
|