如何使用Beetle ESP32-C6實現(xiàn)基本的Zigbee網(wǎng)絡(luò),創(chuàng)建一個具有開/關(guān)開關(guān)和燈的功能性智能照明系統(tǒng)
使用Zigbee,使用ESP32-C6構(gòu)建您自己的無線智能照明系統(tǒng),實現(xiàn)可靠、低功耗的通信。
Zigbee是智能家居生態(tài)系統(tǒng)中最流行的無線通信協(xié)議之一,以其可靠性、低功耗和強大的網(wǎng)狀網(wǎng)絡(luò)功能而聞名。在本教程中,我們將探討如何利用Zigbee在強大而緊湊的DFRobot Beetle ESP32-C6微控制器上創(chuàng)建一個簡單但功能強大的智能照明系統(tǒng),具有開/關(guān)開關(guān)和燈。
無論您是家庭自動化愛好者還是希望擴展物聯(lián)網(wǎng)技能的開發(fā)人員,該項目都將為您構(gòu)建基于zigbee的應(yīng)用程序提供堅實的基礎(chǔ)。
你會學(xué)到什么
?Zigbee是什么,為什么它對物聯(lián)網(wǎng)應(yīng)用很重要
?如何設(shè)置BeetleESP32-C6用于Zigbee開發(fā)
?實現(xiàn)一種Zigbee開/關(guān)燈裝置
?創(chuàng)建Zigbee開/關(guān)開關(guān)控制器
?測試設(shè)備間的通信
?實際應(yīng)用和下一步
硬件需求
?2塊甲殼蟲ESP32-C6開發(fā)板
?編程用USB線
?LED(或控制實光的繼電器模塊)
?按鈕(或內(nèi)置啟動按鈕)
?面包板和跳線
?可選:外部供電
軟件需求
?Arduino IDE
?ESP32- c6單板支持包(ESP32 Core V 3.x)。x在Arduino IDE上)
什么是Zigbee,為什么它很重要
了解Zigbee技術(shù)
Zigbee是一種基于IEEE 802.15.4標(biāo)準(zhǔn)的低功耗無線網(wǎng)狀網(wǎng)絡(luò)協(xié)議。它工作在2.4 GHz頻段(全球可用),專為個人局域網(wǎng)(pan)中的低數(shù)據(jù)速率、短距離通信而設(shè)計。
Zigbee的主要優(yōu)點
?網(wǎng)狀網(wǎng)絡(luò):Zigbee設(shè)備可以相互傳遞消息,在不需要額外基礎(chǔ)設(shè)施的情況下擴展網(wǎng)絡(luò)范圍。
?低功耗:Zigbee被設(shè)計為非常節(jié)能,使其成為需要運行數(shù)月或數(shù)年而無需更換電池的電池供電設(shè)備的理想選擇。
?可靠性和安全性:Zigbee包括AES-128加密和網(wǎng)絡(luò)身份驗證等強大的安全功能,確保您的智能家居設(shè)備安全通信。
?互操作性:來自不同制造商的設(shè)備在遵循Zigbee標(biāo)準(zhǔn)的情況下可以相互通信。
?可擴展性:單個Zigbee網(wǎng)絡(luò)可以支持超過65,000個設(shè)備,使其既適合簡單的家庭設(shè)置,也適合大規(guī)模部署。
為什么ESP32-C6是Zigbee的完美選擇
甲殼蟲ESP32-C6是Zigbee開發(fā)的絕佳平臺,因為:
?它具有對802.15.4無線電的內(nèi)置支持,這是Zigbee的基礎(chǔ)
?它的雙核處理器為處理網(wǎng)絡(luò)任務(wù)提供了足夠的處理能力
?低功耗模式允許節(jié)能運行
?緊湊的外形使其適合集成到小型設(shè)備中
?它還支持Wi-Fi、藍牙和Thread,支持多協(xié)議應(yīng)用
設(shè)置您的開發(fā)環(huán)境
安裝必備軟件
?從Arduino .cc安裝最新版本的Arduino IDE
?為Arduino IDE添加ESP32板支持:
?開放Arduino IDE
?轉(zhuǎn)到File > Preferences
?在“附加董事會管理器url”中,
?進入Tools > Board > Boards Manager
搜索“esp32”并安裝最新版本
?配置甲殼蟲ESP32-C6
?通過USB連接ESP32-C6到計算機
?在Tools中選擇正確的單板> board > ESP32 Arduino >Beetle ESP3C6或ESP32C6 Dev Module
?在“Tools > port”中選擇正確的端口
構(gòu)建Zigbee開/關(guān)燈
電路連接
對于照明設(shè)備,我們將使用一個簡單的LED電路:
?將LED連接到ESP32-C6的GPIO引腳4(使用限流電阻220Ω)
?將LED(陰極)負支接至GND
?ESP32-C6 GPIO4—> 220Ω電阻—> LED—> GND
Zigbee光設(shè)備的代碼
這段代碼可以找到導(dǎo)航到文件>示例> Zigbee > Zigbee_On_Off_Light
我們將使用GPIO 4,確保led引腳定義為4,如下所示,并且打開或關(guān)閉它的按鈕是BOOT_PIN(內(nèi)置引導(dǎo)引腳),您可以使用外部按鈕,但您必須在這里定義它
上傳代碼前,請確保選擇的單板正確,并勾選以下設(shè)置
選擇協(xié)調(diào)器Zigbee模式:Tools > Zigbee模式:Zigbee ED(終端設(shè)備)
選擇“Zigbee分區(qū)方案:Tools >”分區(qū)方案:Zigbee 4MB with spiffs。
構(gòu)建Zigbee開/關(guān)開關(guān)
在這種情況下,我們將使用內(nèi)置的啟動按鈕作為我們的開關(guān),你也可以使用外部按鈕,但要確保你在代碼中添加了它
Zigbee交換設(shè)備的代碼
這段代碼可以找到導(dǎo)航到文件>示例> Zigbee > Zigbee_On_Off_Switch
上傳代碼前,請確保選擇的單板正確,并勾選以下設(shè)置
選擇協(xié)調(diào)器Zigbee模式:Tools > Zigbee模式:Zigbee ZCZR (Coordinator /router)。
選擇“Zigbee分區(qū)方案:Tools >”分區(qū)方案:Zigbee 4MB with spiffs。
搭建網(wǎng)絡(luò)
創(chuàng)建Zigbee網(wǎng)絡(luò)
?首先,將光器件代碼上傳到ESP32-C6
?然后,將交換設(shè)備代碼上傳到第二臺ESP32-C6
?兩個設(shè)備都上電
通電時:
?光設(shè)備將創(chuàng)建一個Zigbee網(wǎng)絡(luò)作為協(xié)調(diào)器
?交換設(shè)備將掃描可用的網(wǎng)絡(luò)并自動加入
?一旦連接上,開關(guān)將發(fā)現(xiàn)光裝置
測試系統(tǒng)
?按下與交換設(shè)備相連的按鈕
?連接到照明設(shè)備的LED應(yīng)處于開/關(guān)狀態(tài)
?串行監(jiān)視器將顯示有關(guān)正在發(fā)送和接收的命令的調(diào)試信息
了解守則
Zigbee網(wǎng)絡(luò)構(gòu)成
?所述光設(shè)備配置為作為協(xié)調(diào)器啟動Zigbee網(wǎng)絡(luò)
?交換機作為終端設(shè)備加入網(wǎng)絡(luò)
這兩個設(shè)備都實現(xiàn)了家庭自動化配置文件,具有特定的設(shè)備類型(開/關(guān)燈和開/關(guān)開關(guān))。
命令處理
?當(dāng)按下開關(guān)設(shè)備上的按鈕時,它發(fā)出開/關(guān)命令
?該命令專門針對光設(shè)備的端點
?照明設(shè)備接收到命令并相應(yīng)地更新其LED狀態(tài)
?兩個設(shè)備都使用標(biāo)準(zhǔn)Zigbee集群庫(ZCL)命令進行通信
設(shè)備發(fā)現(xiàn)
?交換機使用Zigbee設(shè)備對象(ZDO)匹配描述符請求來查找具有開/關(guān)集群的設(shè)備
?當(dāng)它發(fā)現(xiàn)光設(shè)備時,它會存儲其通信地址
?這樣可以實現(xiàn)自動發(fā)現(xiàn),而無需對設(shè)備地址進行硬編碼
現(xiàn)實世界的應(yīng)用程序
這個簡單的項目展示了Zigbee設(shè)備交互的基礎(chǔ),可以擴展到:
?智能家居集成:通過Zigbee網(wǎng)關(guān)將您的設(shè)備連接到流行的平臺,如Home Assistant,三星SmartThings或亞馬遜Alexa。
?多設(shè)備網(wǎng)絡(luò):添加更多的燈和開關(guān),以創(chuàng)建一個完整的家庭照明系統(tǒng)。
?傳感器集成:結(jié)合運動傳感器,光傳感器,或門/窗傳感器自動觸發(fā)照明。
?能源監(jiān)控:增加電力監(jiān)控,跟蹤連接燈的能源使用情況。
?場景控制:實現(xiàn)不同燈光場景的多按鈕控制器。
故障排除
常見問題及解決方案
未連接的設(shè)備:
?確保兩臺設(shè)備使用相同的頻道
?請檢查ESP32-C6 Zigbee射頻初始化是否正確
?檢查設(shè)備是否通電并在彼此的范圍內(nèi)
編譯錯誤:
?確保您安裝了最新版本的ESP32 Core
?確認(rèn)ESP32-C6單板選擇正確
結(jié)論
在本教程中,我們探討了如何使用BeetleESP32-C6實現(xiàn)基本的Zigbee網(wǎng)絡(luò),創(chuàng)建一個具有開/關(guān)開關(guān)和燈的功能性智能照明系統(tǒng)。本項目演示了Zigbee通信的基本概念,包括網(wǎng)絡(luò)形成、設(shè)備發(fā)現(xiàn)和命令處理。
ESP32-C6是Zigbee開發(fā)的優(yōu)秀平臺,在緊湊的外形中提供內(nèi)置802.15.4無線電支持和強大的處理能力。通過了解這些基礎(chǔ)知識,您可以擴展您的項目,包括更復(fù)雜的功能,并與現(xiàn)有的智能家居生態(tài)系統(tǒng)集成。
本文編譯自hackster.io