將溫度和濕度傳感器數據發(fā)送到本地或遠程服務器對于構建智能家居解決方案非常重要。它使用戶能夠高效地跟蹤家中、辦公室或零售場所的氣候,并創(chuàng)造舒適和有利的氛圍。在本文中,我們將深入探討Zigbee2MQTT的工作原理,以及如何使用它將Zigbee溫度和濕度傳感器數據發(fā)送到的服務器。
什么是Zigbee2MQTT
Zigbee2MQTT是一個開源程序,它將MQTT支持的平臺與Zigbee設備連接起來。有了它的幫助,用戶可以輕松地收集、發(fā)送和存儲重要的環(huán)境數據到本地或遠程云服務器。Zigbee2MQTT已成為智能家居自動化領域的革命性關鍵角色,它使用物聯(lián)網提供靈活且成本效益的解決方案,用于管理Zigbee設備。
例如,您可以將Zigbee溫度和濕度傳感器連接到您的Zigbee網絡,并使用Zigbee2MQTT程序將收集到的數據集成到您的服務器進行實時監(jiān)控。
所需設備和工具是什么?
為了使用Zigbee2MQTT傳輸智能傳感器數據,我們首先必須知道我們將使用哪些設備以及Zigbee2MQTT的工作原理。為了確保我們理解這些組件如何協(xié)同工作以促進高效的數據傳輸,請確保以下設備可用:
一個Zigbee溫度和濕度傳感器
溫濕度傳感器將捕獲環(huán)境溫度和濕度數據并將其發(fā)送到Zigbee網關。然后,數據將被轉發(fā)到MQTT軟件。
一個Zigbee網關
在這種情況下,我們使用DSGW-030-1 Zigbee MQTT網關。
Zigbee網關管理Zigbee網絡,包括設備配對、路由和配置。在Zigbee2MQTT生態(tài)系統(tǒng)中,它還充當翻譯器,將Zigbee協(xié)議和MQTT協(xié)議之間的消息進行轉換,將其轉換為MQTT服務器可以理解的格式。同時,Zigbee網關還是一個發(fā)布者,向MQTT服務器發(fā)送包含從Zigbee設備收集的數據的消息。
一臺計算機
在這種情況下,我們使用計算機作為本地服務器并托管MQTT軟件。它在MQTT通信范式中充當訂閱者和發(fā)布者。
作為訂閱者,它在網關上運行的MQTT客戶端的消息,確保實時接收相關數據更新,并使其可供的應用程序或服務消費并利用接收到的傳感器數據。
作為發(fā)布者,它向Zigbee2MQTT網關發(fā)送包含控制命令的消息,旨在指示網關在Zigbee網絡內執(zhí)行特定操作或配置。
Zigbee2MQTT在傳感器、網關和MQTT服務器之間的通信工作流程
Zigbee2MQTT的工作原理涉及一系列步驟,如下所示:
-
傳感器與網關配對:將Zigbee溫度和濕度傳感器置于配對模式,以便與Zigbee MQTT網關建立連接。
-
網關連接到MQTT端口:一旦啟動配對,Zigbee MQTT網關通過連接到的MQTT端口和代理來建立通信通道。
-
傳感器狀態(tài)報告:Zigbee傳感器持續(xù)監(jiān)控環(huán)境參數,無線捕獲數據,并定期將其傳輸到Zigbee MQTT網關。
-
網關發(fā)布消息:Zigbee2MQTT網關在的MQTT主題上發(fā)布傳感器數據到MQTT代理。這些消息包含傳感器收集的溫度讀數、測量的時間戳或傳感器的標識符。
-
MQTT服務器訂閱和發(fā)布消息:在PC上運行的MQTT服務器訂閱相關MQTT主題,使其可供感興趣的客戶端使用,這些客戶端可能是儀表板應用程序、專有移動應用程序或其他服務。這使得每當發(fā)布新的傳感器數據時,它們都能實時更新,使它們能夠根據接收到的信息顯示、分析或采取適當的行動。然后服務器可以發(fā)布相關的控制命令。
-
控制命令檢索和中繼:Zigbee MQTT網關將從服務器檢索控制命令,然后向Zigbee傳感器發(fā)送控制命令。這些命令指示傳感器執(zhí)行某些操作,例如調整設置和配置。
逐步設置Zigbee2MQTT設備上的Zigbee2MQTT通信
在這一部分中,我們將展示在前面列出的設備上設置Zigbee2MQTT通信的逐步過程。
步驟1:找到一個MQTT程序并構建MQTT服務
在本教程中,我將使用Eclipse Mosquito來構建MQTT服務。Mosquito是我選擇的MQTT消息代理的,因為它是開源的,這意味著您可以自由使用,無需支付任何許可費。此外,它輕量級,適用于從低功耗單板計算機到全服務器的所有設備。在選擇Mosquito時我考慮的其他功能包括其易用性、跨平臺兼容性、輕量級、TLS加密支持和積極的社區(qū)支持。
要使用Mosquito,您可以從https://mosquitto.org/download/下載并安裝mosquito程序。
之后,您可以使用命令Mosquitto -p 1888 –v創(chuàng)建一個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通信,并在配置過程中出現(xiàn)問題時允許調試和故障排除。
步驟4:在網關Web界面內為發(fā)布消息配置MQTT主題
MQTT主題將用于組織和路由從Zigbee網關到MQTT服務器的數據。
您需要選擇一個有意義的主題名稱,反映在云平臺上發(fā)布數據的類型。在我的例子中,網關將消息發(fā)布到主題‘temperature’并從主題‘temperature/mac’訂閱。
例如,如果網關的Mac是30:ae:7b:64:00:28,那么它將從主題‘temperature/30:ae:7b:64:00:28’訂閱,并將數據發(fā)布到主題‘temperature’。
如果您需要設置更多的MQTT主題,您需要在網關Web和MQTT服務器中設置相同的主題。
注意:心跳(上傳數據到服務器的時間間隔)可以根據您自己的需求進行自定義。
步驟5:將Zigbee溫度和濕度傳感器與Zigbee網關配對
通過訪問網關用戶界面添加Zigbee傳感器
Dusun Zigbee網關具有用戶友好的設備配置和管理界面。以下是您可以將設備添加到網關的一般概述:
打開網關用戶界面,找到Zigbee3.0管理網頁。這一步非常簡單。然后您可以點擊允許按鈕,網關將進入配對模式。如果配對過程成功,您將在網上看到溫度和濕度傳感器。
提示:如何配置Zigbee溫度和濕度傳感器
您可能有兩種情況。
一種情況是使用Dusun IoT自己的智能傳感器,這將確保兼容性,因為網關和傳感器之間的集成已經經過多次嚴格測試。在這種情況下,傳感器只需要在背面長按五秒鐘,然后再按一次,使紅色LED繼續(xù)閃爍,表示進入配對模式。
第二種情況是使用第三方Zigbee傳感器,您可以根據用戶手冊進行操作。在這種情況下,您必須確認您的設備的Zigbee版本。比如如果是標準的Zigbee 3.0協(xié)議,如果其軟件部分已經被修改,等等。這可能導致配對失敗。
通過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代理添加設備涉及向特定主題發(fā)送MQTT消息,觸發(fā)目標設備上的行動。這簡化了Zigbee網絡內設備配對的過程。例如,通過MQTT代理添加設備提供了一種集中化的方法,簡化了網絡內Zigbee設備的配置和管理。
步驟6:設置過程完成!
當配對成功時,您可以在MQTT服務器中接收到溫度和濕度傳感器狀態(tài),如下所示:
這里我們將展示更多關于溫度和濕度數據的信息。
附近的溫度數據將每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" }
附加信息:
Option | Meaning |
Value | 0-100, 0 means temperature is 0℃, 100 means temperature is 100℃. |
Unit | C for Celsius degree |
附近的濕度數據將每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" }
附加信息:
Option | Meaning |
Value | 0-100, 0 means humidity is 0%, 100 means humidity is 99%. |
Unit | % for percentage |
如何管理Zigbee2MQTT設備和系統(tǒng)
實施安全實踐
您可以為您的Zigbee2MQTT溫度和濕度傳感數據上傳系統(tǒng)實施以下安全實踐:
-
加密:您應該使用SSL加密連接MQTT代理,以確保數據的保密性。您還可以使用各種加密方法,例如Zigbee Trust Center Link Key (ZLL)或Zigbee Network Key (ZNP),AES-128;
-
認證:使用強認證通過預共享密鑰或數字證書來驗證設備身份;
-
定期固件更新:定期更新固件以修補漏洞;
-
網絡分割:分割網絡以隔離傳感器網絡并減少攻擊面。您可以使用防火墻或VLAN。
-
訪問控制:利用強訪問控制,例如基于角色的訪問控制(RBAC),有效管理權限。
-
定期審計和測試:定期進行安全審計和滲透測試,以識別和解決漏洞,增強整體安全性。
實施定期維護任務
您可以為您的Zigbee2MQTT溫度和濕度傳感數據上傳系統(tǒng)實施以下定期維護任務:
-
更新軟件以修補漏洞,修復錯誤并添加新功能。這對于確保功能和安全性至關重要;
-
監(jiān)控傳感器健康狀況,例如信號強度、電池電量和傳感器響應性。如果您發(fā)現(xiàn)溫度讀數或通信錯誤中的任何異常,請立即解決,以防止停機或數據丟失;
-
根據需要定期更換電池或電源,以確保不間斷或連續(xù)運行;
-
定期備份和恢復傳感器配置和數據,以防止硬件故障或數據損壞時的丟失。
總結
將傳感器數據發(fā)送到本地或遠程服務器是智能家居應用中的強烈需求。無論您喜歡通過可定制的儀表板還是專有移動應用程序來監(jiān)控溫度和濕度數據,Dusun IoT的智能家居解決方案都提供了帶有標準MQTT API的智能網關,以便順利集成到您自己的平臺中。
咨詢批量購買
如果您使用AWS或Azure等公共云服務,我們提供預安裝的插件,以便與這些平臺輕松集成。此外,作為Thingsboard的網關硬件合作伙伴,我們提供廣泛的Thingsboard IoT網關,確保兼容性和簡化集成。我們所有的智能傳感器和網關已經集成并準備好被納入您的特定智能家居解決方案中。歡迎咨詢批量訂單價格。
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.lfljgfsj.com。違反者本網將追究相關法律責任。
- 企業(yè)發(fā)布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯(lián)系,否則視為放棄相關權利。
2025第十一屆中國國際機電產品交易會 暨先進制造業(yè)博覽會
展會城市:合肥市展會時間:2025-09-20