韩国三级伦理在线播放_韩国伦理邻居_HD中文字幕在线播放,漂亮的嫂子3,潘甜甜手机里的悔悟,邻居老婆4

書面材料

ZGB-107: Zigbee 3.0 DIY - 從零開(kāi)始構(gòu)建 Zigbee 3.0 開(kāi)關(guān)和照明

簡(jiǎn)介

本開(kāi)發(fā)人員教程旨在說(shuō)明在 Silicon Labs EmberZNet SoC 平臺(tái)上“從零開(kāi)始”進(jìn)行基本應(yīng)用程序開(kāi)發(fā),這意味著在使用 ZCL 應(yīng)用程序框架 (AF) 及其各種插件時(shí),不會(huì)使用“示例應(yīng)用程序”場(chǎng)景中預(yù)先編寫的回調(diào)代碼。?內(nèi)容涉及 AF 提供的基本結(jié)構(gòu)以及添加插件和回調(diào)以不斷增加功能,讓開(kāi)發(fā)人員能夠?qū)θ绾窝驖u進(jìn)地構(gòu)建應(yīng)用程序有一個(gè)基本的了解。


概要

本教程包含多個(gè)部分,引導(dǎo)用戶通過(guò)一組預(yù)先編寫的說(shuō)明(基于 EmberZNet 5.10.1),來(lái)創(chuàng)建 Zigbee 3.0 開(kāi)/關(guān)開(kāi)關(guān)和開(kāi)/關(guān)燈——它們可以通過(guò)命令行界面 (CLI) 彼此通話。然后使用應(yīng)用程序框架 API 指南和 EmberZNet API 指南作為參考編寫自定義 C 代碼,擴(kuò)展生成的應(yīng)用程序,以實(shí)現(xiàn)在 Switch(開(kāi)關(guān))節(jié)點(diǎn)上按下按鈕即可遠(yuǎn)程切換 Light (燈)節(jié)點(diǎn)上的 LED。
?

要求

資源

  • Z3.0_DIY_Light_and_Switch_setup_instructionsPDF(見(jiàn)下面附件部分)
  • UG102: 應(yīng)用程序框架開(kāi)發(fā)人員指南
  • 適用于應(yīng)用程序框架 V2 的 Ember 應(yīng)用程序框架 API(和命令行)參考(HTML 格式,見(jiàn) SDK 文件夾,例如:{STUDIO_V4_INSTALL_DIR}/ developer/sdks/gecko_sdk_suite/ {SDK_SUITE_VERSION_NUMBER}/protocol/zigbee_X.Y/documentation/120-3023-000_AF_V2_API/index.html)

?

第 1 部分:準(zhǔn)備設(shè)置

  1. 啟動(dòng) Simplicity Studio v4。
  2. 確保在 Devices(設(shè)備)窗格中基于 EFR32MG12 的設(shè)備至少存在兩個(gè)節(jié)點(diǎn)(通過(guò) USB 或以太網(wǎng))。

3. 轉(zhuǎn)至 Window(窗口)> Preference(首選項(xiàng))> Simplicity Studio> SDK,并確保希望于此練習(xí)的 EmberZNet 協(xié)議棧版本顯示在列表中,并且已啟用(復(fù)選框已啟用)以供使用。?確認(rèn)/啟用后,單擊 “OK”(確定)。

a. 如果所需版本尚未安裝,請(qǐng)轉(zhuǎn)至 Help(幫助)? Update Software(更新軟件),并通過(guò) SDK 選項(xiàng)卡來(lái)安裝。

轉(zhuǎn)至 File(文件)> Preferences(首選項(xiàng))> Simplicity Studio > Toolchains(工具鏈),并確保 IAR ARM 已列出并啟用,以及確保在對(duì)話框底部的 Description(描述)區(qū)域中描述了正確的版本。?(如果 Toolchains(工具鏈)窗口上半部分的 Version(版本)列顯示“0.0.0”,也不用擔(dān)心。有時(shí),Studio 無(wú)法確定整個(gè)工具鏈的程序包版本。)?請(qǐng)注意,EmberZNet 5.8 及更高版本所需的 IAR ARM 版本為 IAR-EWARM v7.80.2)。確認(rèn)后,單擊 “OK”(確定)。如果出現(xiàn)問(wèn)題,請(qǐng)使用 “Add”(添加)按鈕將正確的 IAR ARM 裝置添加到 Studio 中。

第 2 部分:為 Switch(開(kāi)關(guān))創(chuàng)建新的 Simplicity Studio 項(xiàng)目和 AppBuilder 配置

  1. 轉(zhuǎn)到 File(文件)> New(新建)> Project(項(xiàng)目)> Silicon Labs AppBuilder 項(xiàng)目,然后選擇“Next”(下一步)。
  2. 選擇“ZCL Application Framework V2”(ZCL 應(yīng)用程序框架 V2),然后單擊“Next”(下一步)。
  3. 選擇所需的 EmberZNet SoC(非主機(jī))版本,然后單擊“Next”(下一步)
  4. 選擇“Start with a blank application”(從空白應(yīng)用程序開(kāi)始),然后單擊“下一步”。
  5. 在“Project name”(項(xiàng)目名稱)字段中,輸入“開(kāi)/關(guān)開(kāi)關(guān)”項(xiàng)目的名稱,例如“MySwitch”,然后單擊“Next”(下一步)
  6. 在“Boards”(板)列表中,確保 EFR32MG12 收音機(jī)板只有唯一條目,如“BRD4161A”或“BRD4162A”。
    • ?如果列出了其他板類型,請(qǐng)單擊其列表項(xiàng)右上角的小“x”將其刪除。
    • 要向列表項(xiàng)添加新板,請(qǐng)?jiān)谏厦娴?Search(搜索)框中輸入其名稱(如“EFR32MG12”)的一部分。
  7. 確認(rèn) IAR ARM v7.80.2 工具鏈已列于對(duì)話框底部的工具鏈列表中,然后單擊“Finish”(完成)。

觀看視頻:Silicon Labs Zigbee 3.0 DIY 燈/開(kāi)關(guān)教程:第 2 部分:開(kāi)關(guān)項(xiàng)目初始化

第 3 部分:配置和構(gòu)建開(kāi)關(guān)

  1. “ZCL clusters”(ZCL 群集)選項(xiàng)卡下,確保 “ZCL device type”(ZCL 設(shè)備類型)設(shè)置為 “HA On/Off Switch”(HA 開(kāi)/關(guān)開(kāi)關(guān))。為什么?- 這是展示 ZCL 開(kāi)/關(guān)群集客戶端的最基本 Zigbee 設(shè)備類型。
  2. 在 “Znet stack”(Znet 協(xié)議棧)選項(xiàng)卡下:

a. 在 “Network configuration”(網(wǎng)絡(luò)配置)中,將 Security Type(安全類型)更改為“ZigBee 3.0 安全”。

為什么?- 舊的家庭自動(dòng)化安全方法現(xiàn)在已棄用,Zigbee 3.0 的新設(shè)備認(rèn)證需要 Zigbee 3.0-樣式安全,這是舊的 Zigbee 家庭自動(dòng)化安全模型的超集。有關(guān) ZHA 和 Z3.0 設(shè)備之間互操作性的更多詳細(xì)信息,請(qǐng)參閱此 KBA:

http://community.silabs.com/t5/Mesh-Knowledge-Base/Zigbee-3-0-Device-Interoperability-with-Legacy-ZigBee-Devices/ta-p/201682

b. 在 “ZDO settings”(ZDO 設(shè)置)中,啟用 “Enable serial commands for sending ZDO messages”(啟用串行命令發(fā)送 ZDO 消息)復(fù)選框。為什么?- 這為設(shè)備發(fā)現(xiàn)提供了一些有用的 CLI 命令,我們可以使用這些命令從 Switch 搜索可用的 Light 設(shè)備,而無(wú)需編寫額外的代碼。

3.在 “Printing and CLI”(打印和 CLI)選項(xiàng)卡下:

a. 在 “Debug printing”(調(diào)試打?。┎糠?,啟用 “Enable debug printing”(啟用調(diào)試打印)復(fù)選框。
b. 在同一部分的 “Cluster debugging”(群集調(diào)試)下,查看“開(kāi)/關(guān)”兩列。

為什么?- 這將在 CLI 上提供額外的調(diào)試消息,以告訴我們有關(guān)“開(kāi)/關(guān)”群集活動(dòng)的信息。

4. 在 “HAL configuration”(HAL 配置)選項(xiàng)卡下,確保 “Bootloader”(引導(dǎo)加載程序)選擇列表值設(shè)置為 "Application”(應(yīng)用程序)。

為什么?- 雖然通常在開(kāi)發(fā)過(guò)程中沒(méi)有引導(dǎo)加載程序更容易進(jìn)行原型設(shè)計(jì),但所有設(shè)備最終都需要一個(gè)引導(dǎo)加載程序,因此,最好要養(yǎng)成一種確保有引導(dǎo)加載程序的習(xí)慣——具體來(lái)說(shuō),在開(kāi)始開(kāi)發(fā)應(yīng)用程序時(shí),確保有適合產(chǎn)品用例和架構(gòu)的引導(dǎo)加載程序加載到目標(biāo)芯片上。?參閱 UG103.6:引導(dǎo)加載基礎(chǔ)知識(shí) (https://www.silabs.com/documents/public/user-guides/UG103-06),了解有關(guān)不同類型引導(dǎo)加載程序的更多信息。


5. 在 “Plugins”(插件)選項(xiàng)卡下,通過(guò)為以下插件啟用 “Use?”(使用?)復(fù)選框來(lái)添加功能:

a. 在 “EmberZNet Libraries”(EmberZNet 庫(kù))下,啟用 “Install Code Library”(安裝代碼庫(kù))。

為什么?- Zigbee 3.0 的要求規(guī)定,加入設(shè)備必須支持基于安裝代碼的加入,其中預(yù)編程的種子值用于導(dǎo)出加入網(wǎng)絡(luò)的唯一設(shè)備特定密鑰。參閱 AN1089:將安裝代碼與 Zigbee 設(shè)備配合使用 (https://www.silabs.com/documents/public/application-notes/an1089-using-installation-codes-with-zigbee-devices.pdf),了解有關(guān)此功能的更多信息。

b. 在 “Network Form and Join”(網(wǎng)絡(luò)表單和加入)下,禁用 “Network Find”(網(wǎng)絡(luò)查找)。(將使用 “網(wǎng)絡(luò)轉(zhuǎn)向” 插件。)

為什么?- “網(wǎng)絡(luò)查找”插件使用舊版家庭自動(dòng)化安全設(shè)置和可用網(wǎng)絡(luò)搜索的樣式,這與我們?yōu)榇伺渲眠x擇的“Zigbee 3.0 安全”設(shè)置不兼容,因此,如果“網(wǎng)絡(luò)查找”仍然啟用(早期的“家庭自動(dòng)化安全”默認(rèn)設(shè)置),我們需要禁用它,以防止與 Zigbee 3.0-樣式插件發(fā)生沖突。

c. 在 “Utility”(實(shí)用程序)下,啟用 “General response commands”(一般響應(yīng)命令)。

為什么?- 這可讓基本的 ZCL 讀/寫屬性響應(yīng)消息被框架獲得、解析并打印到 CLI 以提供反饋,這在早期階段很有用,因?yàn)樵谠缙陔A段與應(yīng)用程序的交互仍主要由 CLI 驅(qū)動(dòng),而不是由代碼中的狀態(tài)機(jī)驅(qū)動(dòng)。

d. 在 “ZigBee 3.0” 下,啟用“Find and Bind Initiator”(查找并綁定啟動(dòng)器)、“Network Steering”(網(wǎng)絡(luò)轉(zhuǎn)向)和“Update TC Link Key”(更新 TC 鏈路密鑰)。

為什么?- 這些插件提供將 Zigbee 3.0 設(shè)備調(diào)試到網(wǎng)絡(luò)所需的狀態(tài)機(jī)器的生產(chǎn)就緒實(shí)現(xiàn),包括 “Network Steering”(網(wǎng)絡(luò)轉(zhuǎn)向)過(guò)程和 “Finding and Binding”(查找和綁定)過(guò)程。有關(guān)詳細(xì)信息,請(qǐng)參閱 UG103.2 的 “ZigBee 3.0” 章節(jié):Zigbee 基礎(chǔ)知識(shí) (https://www.silabs.com/documents/public/user-guides/UG103-02-AppDevFundamentals-ZigBee.pdf) 和 ZigBee 基礎(chǔ)設(shè)備行為規(guī)范的 “調(diào)試” 章節(jié)(文件編號(hào) 13-0402,網(wǎng)址 www.zigbee.org)。

?

觀看視頻:Silicon Labs Zigbee 3.0 DIY 燈/開(kāi)關(guān)教程:第 3.9 部分:開(kāi)關(guān)構(gòu)建

6. 通過(guò) File(文件)>? Save(保存)來(lái)保存設(shè)置。
7. 單擊右上角的 “Generate”(生成)按鈕。幾秒鐘后,出現(xiàn) “Generation successful!!”(生成成功),表示生成完成。

8. 在 Simplicity Studio 的 “Project Explorer”(項(xiàng)目資源管理器)窗格(AppBuilder 窗口左側(cè))中,右鍵單擊項(xiàng)目的頂級(jí)文件夾(與項(xiàng)目名稱相同,如 “MySwitch”),然后從上下文菜單中選擇 “Build Project” (構(gòu)建項(xiàng)目)。

9. 要確認(rèn)構(gòu)建完成沒(méi)有錯(cuò)誤,請(qǐng)?jiān)跇?gòu)建控制臺(tái)中從末端向上滾動(dòng)幾行,并查找 “Writing GBL file… DONE”(寫入 GBL 文件……完成)。

觀看視頻:Silicon Labs Zigbee 3.0 DIY 燈/開(kāi)關(guān)教程:第 3.9 部分:開(kāi)關(guān)構(gòu)建

第 4 部分:將開(kāi)關(guān)應(yīng)用程序加載到 ZigBee 開(kāi)發(fā)板

1. 在 Devices(設(shè)備)視圖中,右鍵單擊所需 Switch(開(kāi)關(guān))節(jié)點(diǎn)的調(diào)試適配器,然后選擇 Upload Application(上傳應(yīng)用程序)。
注意:在 Simplicity Studio 中,有很多方法可以將固件加載到目標(biāo)芯片上,但這是唯一一種允許您同時(shí)選擇應(yīng)用程序和引導(dǎo)加載程序固件的方法,因此您可以確保必要的引導(dǎo)加載程序已加載。

2. 啟用“Erase chip before uploading image”(上傳圖像前擦除芯片)復(fù)選框,以防止節(jié)點(diǎn)使用較早保存的網(wǎng)絡(luò)數(shù)據(jù)。
為什么?- EmberZNet 協(xié)議棧上線后,所有網(wǎng)絡(luò)參數(shù)都被提交至非易失性存儲(chǔ)器 (NVM),并且 AF 會(huì)嘗試在后續(xù)的引導(dǎo)順序中重用此數(shù)據(jù)。但是,由于我們正在開(kāi)始建立一個(gè)全新的網(wǎng)絡(luò),所以您不希望系統(tǒng)先錯(cuò)誤地恢復(fù)舊的網(wǎng)絡(luò),然后才能設(shè)置這個(gè)網(wǎng)絡(luò)。

3. 單擊“Application image path”(應(yīng)用程序圖像路徑)旁的文件夾圖標(biāo),然后瀏覽至為 Switch(開(kāi)關(guān))應(yīng)用程序新創(chuàng)建的 GBL 文件。

默認(rèn)路徑通常為:C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\ gecko_sdk_suite\{versionNumber}\app\builder\{Project Name}\IAR ARM - Debug - {ChipVariant}\{ProjectName}.gbl

4. 如果 Gecko Bootloader(Gecko 引導(dǎo)加載程序)之前未加載至此設(shè)備(可能已通過(guò)快速入門指南完成):

a. 啟用“Bootloader image”(引導(dǎo)加載程序圖像)復(fù)選框。
b. 單擊“Bootloader image”(引導(dǎo)加載程序圖像)旁的文件夾圖標(biāo),瀏覽至“Gecko 引導(dǎo)加載程序”二進(jìn)制文件 S37。本練習(xí)旨在與“bootloader-storage-internal”或“bootloader-storage-spiflash”示例配合使用。用于開(kāi)發(fā)套件測(cè)試的預(yù)構(gòu)建樣本引導(dǎo)加載程序二進(jìn)制文件可在每個(gè)芯片的文件夾中找到
C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\ {versionNumber}\platform\bootloader\sample-apps.

注意:最后,您將希望構(gòu)建自己的 Gecko 引導(dǎo)加載程序二進(jìn)制文件,其中包含您想要的安全功能和存儲(chǔ)設(shè)置,但預(yù)構(gòu)建的樣本在早期開(kāi)發(fā)中更容易使用,因?yàn)樗鼈儾恍枰獢?shù)字簽名或加密圖像。有關(guān) Gecko 引導(dǎo)加載程序的詳細(xì)信息,請(qǐng)參閱 UG266:Gecko 引導(dǎo)加載程序用戶指南 (https://www.silabs.com/documents/public/user-guides/ug266-gecko-bootloader-user-guide.pdf)。

5. 單擊“OK”(確定),開(kāi)始上傳過(guò)程。確保完成,沒(méi)有出現(xiàn)錯(cuò)誤。(Device(設(shè)備)圖標(biāo)應(yīng)恢復(fù)為綠色。)

觀看視頻:Silicon Labs Zigbee 3.0 DIY 燈/開(kāi)關(guān)教程:第 4 部分:加載 Switch App(開(kāi)關(guān)應(yīng)用程序)

?

第 5 部分:將用于 Switch(開(kāi)關(guān))的 AppBuilder 配置克隆作為 Light(燈)的起始點(diǎn)

注意:您可以返回到在第 2 部分和第 3 部分中所執(zhí)行的步驟來(lái)創(chuàng)建新的 Light(燈)配置,但有時(shí)候,使用另一個(gè)項(xiàng)目作為起點(diǎn)來(lái)節(jié)省時(shí)間并避免遺漏某些內(nèi)容會(huì)很有用。

1. 在 Simplicity Studio 中,轉(zhuǎn)至 File(文件)> Save(保存),將您的 AppBuilder Switch 配置另存為 ISC 文件,例如 MySwitch.isc。
2. 轉(zhuǎn)至 File(文件)> New(新建)> Project(項(xiàng)目)> Silicon Labs MCU Project(Silicon Labs MCU 項(xiàng)目)(非 AppBuilder 項(xiàng)目),然后單擊 “Next”(下一步)

a. 在生成的“Project Setup”(項(xiàng)目設(shè)置)對(duì)話框中,確保 SDK 選擇是“Gecko SDK Suite”(Gecko SDK 套件),其版本與使用的 Switch(開(kāi)關(guān))版本相同,并且 Board/Part(板/部件)與 Light(燈)的目標(biāo)硬件匹配,然后單擊“Next”(下一步)。
b. 在下一個(gè)“Project Setup”(項(xiàng)目設(shè)置)對(duì)話框中,確保選中“Empty Program”(清空程序),然后單擊“Next”(下一步)。
c. 在“Project Configuration”(項(xiàng)目配置)對(duì)話框中,將項(xiàng)目名稱更改為 Light(燈)的名稱,例如“MyLight”。
d. 取消選中“Use default location”(使用默認(rèn)位置)復(fù)選框。
e. 單擊“Browse”(瀏覽)按鈕,并瀏覽至您當(dāng)前的 Gecko SDK 裝置(例如 C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v1.1),然后瀏覽至 app\builder 子目錄)。
f. 點(diǎn)擊“Make New Folder”(創(chuàng)建新文件夾)并更改文件夾的名稱,以匹配您的 Light 項(xiàng)目名稱,如“MyLight”。
g. 點(diǎn)擊“OK”(確定)退出瀏覽對(duì)話框,然后點(diǎn)擊“Next”(下一步)。(“Link to sources”(鏈接至來(lái)源)默認(rèn)選擇為“OK”(正常)。)h. 取消選擇對(duì)應(yīng)于“Build Configurations”(內(nèi)部版本配置)窗口中“GNU ARM”內(nèi)部版本配置的任何條目(因?yàn)槲覀冊(cè)诖司毩?xí)中僅使用 IAR ARM),然后點(diǎn)擊 “Finish”(完成)。

3. 滾動(dòng)到原始 Switch 項(xiàng)目的“Project Explorer”(項(xiàng)目資源管理器)樹(shù),找到其 ISC 文件,如“MySwitch.isc”。
4. 右鍵點(diǎn)擊此 ISC 文件,并選擇“Copy”(復(fù)制)。
5. 滾動(dòng)到 Light 項(xiàng)目的頂級(jí)項(xiàng)目條目,右鍵點(diǎn)擊該條目,然后選擇“Paste”(粘貼)。
6. 右鍵點(diǎn)擊 Light 項(xiàng)目中新復(fù)制的 ISC 文件,然后選擇“Rename”(重命名)。
7. 為 Light 配置設(shè)置新名稱,如“MyLight.isc”,然后點(diǎn)擊“OK”(確定)
8. 雙擊新重命名的 Light ISC 文件,以開(kāi)始編輯其 AppBuilder 配置。

觀看視頻:Silicon Labs Zigbee 3.0 DIY 燈/開(kāi)關(guān)教程:第 5 部分:克隆 Light 的 Switch 項(xiàng)目

第 6 部分:配置、構(gòu)建 Light 應(yīng)用程序并將其加載到第二個(gè)節(jié)點(diǎn)

1. 在 Simplicity IDE 的 AppBuilder 視圖中的“General”(常規(guī))選項(xiàng)卡下,更改“Device name”(設(shè)備名稱)以使其與 Light 的項(xiàng)目名稱匹配,如“MyLight”。
2. 在“ZCL clusters”(ZCL 集群)選項(xiàng)卡下,將“ZCL device type”(ZCL 設(shè)備類型)更改為“HA On/Off Switch”(HA 開(kāi)/關(guān)開(kāi)關(guān))。
3. 在“ZNet stack”(ZNet 堆棧)選項(xiàng)卡下,將“ZigBee Device Type”(ZigBee 設(shè)備類型)更改為“Coordinator or Router”(協(xié)調(diào)器或路由器)。
4. 在“Plugins”(插件)選項(xiàng)卡下,對(duì)所述部分中的插件進(jìn)行以下調(diào)整:

a. 常見(jiàn)集群:禁用“Scenes Server Cluster”插件。

為什么?- 某些版本的 AppBuilder 在為需使用適當(dāng)令牌 (NVM) 定義的插件(包括 Scenes Server Cluster 插件)生成這些定義時(shí)會(huì)出現(xiàn)問(wèn)題,但僅當(dāng)在默認(rèn)將這些插件作為空白項(xiàng)目模板的一部分啟用的情況下才會(huì)如此。(這可表現(xiàn)為在構(gòu)建過(guò)程中缺失 scenes-token.h 文件。)本教程不使用 Scenes 集群,因此您不需要插件代碼即可處理命令,但是,如果您確實(shí)想要在新的空白項(xiàng)目中包括 Scenes 集群支持,則可通過(guò)禁用并隨后重新啟用插件來(lái)解決此問(wèn)題。

b. ZigBee 3.0:?jiǎn)⒂谩癋ind and Bind Target”、“Network Creator”和“Network Creator Security”插件。

為什么?-“Network Creator”插件允許 Light 為其他節(jié)點(diǎn)(如 Switch 或其他 Light)組建自己的 Zigbee 3.0 網(wǎng)絡(luò),從而支持傳入 Zigbee 3.0 和傳統(tǒng) HA 設(shè)備的所有安全模型?!癋ind and Bind Target”插件允許 Find and Bind Initiator 設(shè)備(如 Switch)根據(jù) Zigbee 3.0 調(diào)試發(fā)現(xiàn)并配對(duì)到 Light 的服務(wù)器端集群(在 ZigBee 基礎(chǔ)設(shè)備行為規(guī)范的“調(diào)試”章節(jié)(ZigBee 文檔 13- 0402)中討論)。

5. 點(diǎn)擊“Generate”(生成)按鈕;在生成過(guò)程完成后,確認(rèn)該過(guò)程已成功,然后點(diǎn)擊“OK”(確定)。
6. 使用“Ctrl+S”或“File”(文件)? “Save”(保存)來(lái)保存 Light 的 AppBuilder 配置,以備將來(lái)參考。
7. 在“Project Explorer”(項(xiàng)目資源管理器)中右鍵點(diǎn)擊 Light 的項(xiàng)目文件夾,然后選擇“Build Project”(構(gòu)建項(xiàng)目)。
8. 確保構(gòu)建完成而不發(fā)生錯(cuò)誤。(如果發(fā)出警告,則表示正常。)
9. 使用不同于您的 Switch 的 EFR32 + 無(wú)線入門套件目標(biāo)設(shè)備重復(fù)第 IV 節(jié)中針對(duì) Light 應(yīng)用的步驟。

觀看視頻:Silicon Labs Zigbee 3.0 DIY 燈/開(kāi)關(guān)教程:第 6 部分:克隆 Light 的 Switch 項(xiàng)目

?

第 7 部分:?jiǎn)?dòng)調(diào)試通信

1. 為 Light 和 Switch 成功執(zhí)行上傳后,右鍵點(diǎn)擊“Devices”(設(shè)備)窗格中的每個(gè)節(jié)點(diǎn),然后選擇“Launch console”(啟動(dòng)控制臺(tái))。
2. 對(duì)于每個(gè)節(jié)點(diǎn),選擇“Serial 1”(串行 1)選項(xiàng)卡并按 Enter 鍵以確保您收到提示,該提示中指出您正在與“Light”或“Switch”節(jié)點(diǎn)通話。(提示應(yīng)顯示 AppBuilder 的“General(常規(guī))”選項(xiàng)卡中已配置的應(yīng)用程序名稱。)

為什么?- 通過(guò) Simplicity Studio 控制臺(tái)視圖中的“Serial 1”(串行 1)選項(xiàng)卡,您可以使用無(wú)線入門套件上的 USB-串行接口或無(wú)線入門套件上的 TCP 端口 4901 與物理串行端口(USART0 或連接到板上 VCOM_TX/RX 引腳的任何 UART TXD/RXD 引腳)進(jìn)行交互。這甚至可用于基于定制 EFR32 的硬件,前提條件是它通過(guò) Mini-Simplicity 連接器重新連接到無(wú)線入門套件調(diào)試適配器?!癝erial 0”選項(xiàng)卡表示通過(guò)“Debug Basic Library”插件在 SWO 和 SWDIO 調(diào)試引腳上進(jìn)行模擬,并通過(guò)無(wú)線入門套件上的 TCP 端口 4900 顯露的“虛擬 UART”。有關(guān)如何通過(guò)無(wú)線入門套件訪問(wèn) EFR32 調(diào)試接口的更多信息,請(qǐng)參閱 AN958:用于定制設(shè)計(jì)的調(diào)試和編程接口 (https://www.silabs.com/documents/public/application-notes/an958-mcu-stk-wstk-guide.pdf)。

3. 轉(zhuǎn)到 Window(窗口)> Preferences(首選項(xiàng))> Network Analyzer(網(wǎng)絡(luò)分析器)> Decoding(解碼)> Stack Versions(堆棧版本),并設(shè)置為與用于構(gòu)建這些應(yīng)用程序的 SDK 對(duì)應(yīng)的 EmberZNet 版本(如果未列出您的版本,則為最新可用版本),以確保捕獲的數(shù)據(jù)包被正確解析為 Zigbee 流量。在設(shè)置此項(xiàng)后,點(diǎn)擊“OK(確定)”以繼續(xù)。

為什么?- “自動(dòng)檢測(cè)”的默認(rèn)網(wǎng)絡(luò)分析器設(shè)置無(wú)法始終正確猜測(cè)在捕獲過(guò)程中使用的協(xié)議類型,尤其是在含基于 802.15.4 的混合流量的環(huán)境中。此外,EmberZNet 固件發(fā)布的一些非數(shù)據(jù)包事件可能本質(zhì)上具有版本特定性,因此,獲取用于解碼的正確堆棧版本就變得更加重要。

4. 在“Devices”(設(shè)備)視圖中,右鍵點(diǎn)擊 Switch 節(jié)點(diǎn),然后選擇“Start Capture(開(kāi)始捕獲)”。網(wǎng)絡(luò)分析器將打開(kāi)。

為什么?- 這允許 Simplicity Studio 使用 FRC_DFRAME 和 FRC_DOUT 引腳上的 EFR32 數(shù)據(jù)包追蹤接口 (PTI) 外圍設(shè)備 ,通過(guò)無(wú)線入門套件開(kāi)始收集數(shù)據(jù)包事件和網(wǎng)絡(luò)事務(wù)。此外,如果啟用了“Debug Basic Library”或“Debug Extended Library”插件,則固件可能會(huì)使用無(wú)線入門套件到 EFR32 SWO 引腳的連接來(lái)發(fā)布軟件事件跟蹤,如復(fù)位、確定、調(diào)試 Printfs 和 EZSP 命令/響應(yīng)。然后,在捕獲期間,所有這些事件都會(huì)在網(wǎng)絡(luò)分析器中聚合,并可保存以供日后使用。有關(guān) EmberZNet 堆棧中可用的調(diào)試功能的更多信息,請(qǐng)參閱 KBA:http://community.silabs.com/t5/Proprietary-Knowledge-Base/What-are-the-different-levels-of-debug-in-the-mesh-stacks-and/ta-p/113207

觀看視頻:Silicon Labs Zigbee 3.0 DIY 燈/開(kāi)關(guān)教程:第 7 部分:開(kāi)始捕獲

?

第 8 部分:設(shè)置網(wǎng)絡(luò)

1. 在 Light 節(jié)點(diǎn)的“Serial 1”(串行 1)控制臺(tái)選項(xiàng)卡中輸入如下命令:plugin network-creator form 1 0x5432 10 12

此處的選項(xiàng)將構(gòu)成網(wǎng)絡(luò),該網(wǎng)絡(luò):
(1) – 為集中化網(wǎng)絡(luò)
(0x5432) – 使用此 PAN ID(您可以選擇 0x0000-0xFFFE 范圍內(nèi)的任何內(nèi)容。)
(10) – 從 +10 dBm 發(fā)射功率開(kāi)始(您可以選擇受硬件支持的任何級(jí)別,最高為 20+)。
(12) – 在通道 12 上開(kāi)始(您可以選擇 11-26 范圍內(nèi)的任何內(nèi)容。)

2. 對(duì)于 Light 節(jié)點(diǎn),當(dāng)控制臺(tái)在“Serial 1”(串行 1)上輸出“EMBER_NETWORK_UP”后,輸入以下命令來(lái)打開(kāi)網(wǎng)絡(luò)以在 254 秒內(nèi)加入:plugin network-creator-security open-network

3. 于 254 秒內(nèi)在 Switch 節(jié)點(diǎn)的“Serial 1”(串行 1)控制臺(tái)選項(xiàng)卡上,輸入以下內(nèi)容以嘗試加入:plugin network-steering start 0

為什么?- 這將啟動(dòng)“網(wǎng)絡(luò)導(dǎo)航”流程,該流程會(huì)嘗試通道的不同安全密鑰和不同掩碼,以加入 Zigbee 3.0 網(wǎng)絡(luò)的各種配置?!?”參數(shù)指示插件使用標(biāo)準(zhǔn)行為而不是提供“1”,后一種情況將導(dǎo)致無(wú)法在成功完成加入操作后對(duì)信任中心鏈路密鑰進(jìn)行一般更新。由于在此過(guò)程中會(huì)嘗試不同的安全密鑰,因此您可能會(huì)看到一些加入失敗消息(打印“EMBER_JOIN_FAILED”狀態(tài)),然后才能看到成功加入嘗試的消息。

4. 如果加入成功,Switch 的控制臺(tái)將在“Serial 1”(串行 1)中打印“EMBER_NETWORK_UP”,并且您會(huì)看到網(wǎng)絡(luò)分析器的“Transactions”(事務(wù))視圖中出現(xiàn)“Association”和“Transport Key”事務(wù)(如以下視頻所示)。如果成功,請(qǐng)繼續(xù)下一節(jié)。否則,請(qǐng)重復(fù)步驟 2 和 3 如果是在課堂上和他人同時(shí)進(jìn)行這項(xiàng)工作,應(yīng)確保您加入了自己的網(wǎng)絡(luò)(基于 PAN ID),而不是您鄰居的網(wǎng)絡(luò)。

注意: 同一通道上可能存在其他 802.15.4 流量,因此網(wǎng)絡(luò)分析器中可能會(huì)出現(xiàn)不相關(guān)的事件/事務(wù),其中包括您沒(méi)有其解密密鑰的流量。如果系統(tǒng)顯示關(guān)于您無(wú)法解密的流量的警告,只需點(diǎn)擊“OK”(確定)并繼續(xù),忽略其他流量即可。(您可以稍后將其過(guò)濾掉。)

Silicon Labs Zigbee 3.0 DIY Light/Switch 教程:第 8 部分:克隆 Light 的 Switch 項(xiàng)目

第 9 部分:開(kāi)/關(guān)切換

1. 在 Switch 節(jié)點(diǎn)的“Serial 1”(串行 1)上,輸入以下內(nèi)容:
zcl on-off toggle
send 0 1 1

2. 確認(rèn)在網(wǎng)絡(luò)分析器的“Transactions”(事務(wù))視圖中的 Switch 和 Light 之間發(fā)送“ZCL: Toggle”和“ZCL: Default Response”。(注意,無(wú)線入門套件上的 LED 不會(huì)切換,因?yàn)槲覀兩形礊榇颂砑哟a。)

3. 在網(wǎng)絡(luò)分析器的“Live capture”(實(shí)時(shí)捕獲)選項(xiàng)卡下,突出顯示“ZCL: DefaultResponse”,并在右側(cè)的“Event Detail”(事件詳細(xì)信息)面板中檢查“Status: SUCCESS (0x00)”(在“Zigbee Cluster Library”(Zigbee 集群庫(kù))部分下)。

4. 確認(rèn) Light 的“Serial 1”(串行 1)中打印“Toggle”消息。鍵入以下 CLI 命令以輸出屬性表,并驗(yàn)證在收到切換時(shí)開(kāi)/關(guān)集群 (0x0006) 的屬性 00 是否更改:print attr

5. 有關(guān)可用于通過(guò) AF CLI 控制 Switch 和 Light 的其他 CLI 命令,請(qǐng)參閱 Ember 應(yīng)用程序框架命令行界面 (CLI) 文檔({GECKO_SDK_SUITE_DIR}/protocol/zigbee_X.Y/documentation/120-3023-000_AF_V2_API/index.html 處的 HTML 文件)。您還可以在 CLI 上鍵入“help”以獲取受支持命令的列表;任何非完整命令都將觸發(fā)針對(duì)這些命令的幫助語(yǔ)法。

觀看視頻:Silicon Labs Zigbee 3.0 DIY 燈/開(kāi)關(guān)教程:第 9 部分:通過(guò) CLI 切換 Light

?

接下來(lái)呢?

在本教程的后續(xù)部分中,我們將研究如何使切換命令在 Light 的無(wú)線入門套件上實(shí)際切換實(shí)體 LED,并介紹如何從 Switch 中的 CLI 驅(qū)動(dòng)式切換命令過(guò)渡到由 Switch 無(wú)線入門套件上的按鈕啟動(dòng)的按鈕驅(qū)動(dòng)式命令。

資源

所需硬件:

EFR32MG Zigbee 和 Thread 入門套件
(SLWSTK6000B)

關(guān)閉
正在加載結(jié)果
關(guān)閉
Powered by Translations.com GlobalLink OneLink Software