對(duì)于家庭,建筑和工業(yè)自動(dòng)化應(yīng)用,連接照明系統(tǒng)非常方便,可以幫助節(jié)省能源。雖然基于802.15.4的網(wǎng)狀網(wǎng)絡(luò)提供了低功耗操作,擴(kuò)展范圍和可用性的有效組合,但它們實(shí)現(xiàn)起來(lái)很復(fù)雜。
為了降低這種復(fù)雜性并節(jié)省開(kāi)發(fā)時(shí)間,芯片供應(yīng)商已經(jīng)引入了參考設(shè)計(jì)和工具可以幫助設(shè)計(jì)人員快速開(kāi)始評(píng)估網(wǎng)狀連接照明應(yīng)用。
本文著眼于自動(dòng)化應(yīng)用中網(wǎng)狀網(wǎng)絡(luò)的要求,并描述了Zigbee和Thread在滿足這些要求方面的作用。然后,本文介紹了Silicon Laboratories的連接照明套件作為示例。然后繼續(xù)展示如何使用它來(lái)開(kāi)發(fā)基于Zigbee或Thread協(xié)議的網(wǎng)狀連接照明應(yīng)用。
物聯(lián)網(wǎng)的連接照明關(guān)鍵部分
隨著高性價(jià)比LED的出現(xiàn)燈,連接照明已在住宅和商業(yè)自動(dòng)化應(yīng)用中發(fā)揮越來(lái)越大的作用。連接燈允許用戶根據(jù)他們的工作和個(gè)人喜好調(diào)整其工作環(huán)境的顏色和強(qiáng)度。
更高級(jí)的自動(dòng)化系統(tǒng)通過(guò)添加占用傳感器或簡(jiǎn)單地通過(guò)基于位置的支持?jǐn)U展了這一基本功能將有源LED燈作為占用指示燈。與物聯(lián)網(wǎng)(IoT)中的其他應(yīng)用程序一樣,來(lái)自這些系統(tǒng)的相關(guān)數(shù)據(jù)進(jìn)一步為其用戶提供了各種有用的分析。
網(wǎng)狀網(wǎng)絡(luò)
為了幫助連接智能LED等物聯(lián)網(wǎng)設(shè)備,網(wǎng)狀通信協(xié)議正迅速成為首選解決方案,特別是對(duì)于低功耗應(yīng)用。對(duì)于傳統(tǒng)的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),建筑物一側(cè)的智能LED燈泡需要顯著提高其傳輸輸出功率,以便到達(dá)建筑物另一側(cè)的控制器。
網(wǎng)狀網(wǎng)絡(luò),連接的照明設(shè)備僅需要足夠的發(fā)射功率才能到達(dá)另一個(gè)附近的連接照明設(shè)備。反過(guò)來(lái),網(wǎng)狀網(wǎng)絡(luò)中的各個(gè)設(shè)備通過(guò)網(wǎng)絡(luò)路由源節(jié)點(diǎn)的消息,直到它到達(dá)目的節(jié)點(diǎn)。因此,網(wǎng)狀網(wǎng)絡(luò)允許開(kāi)發(fā)人員在不犧牲范圍的情況下使用低功耗設(shè)備。
此外,網(wǎng)狀網(wǎng)絡(luò)中內(nèi)置的路由機(jī)制提供了自我修復(fù)功能。消息只是通過(guò)故障節(jié)點(diǎn)重新路由,以維持整體服務(wù)可用性。
對(duì)于自動(dòng)化網(wǎng)絡(luò),Zigbee已成為開(kāi)發(fā)人員的熱門(mén)選擇,因?yàn)樗鼜囊婚_(kāi)始就設(shè)計(jì)為低功耗。此外,Zigbee Alliance認(rèn)證可確保不同供應(yīng)商之間的互操作性。 Zigbee網(wǎng)絡(luò)可以輕松地從幾個(gè)設(shè)備擴(kuò)展到數(shù)千個(gè)。同時(shí),單獨(dú)的Zigbee設(shè)備可以提供家庭自動(dòng)化應(yīng)用中常見(jiàn)的短距離網(wǎng)絡(luò),開(kāi)發(fā)人員可以為更長(zhǎng)距離的應(yīng)用部署Zigbee網(wǎng)狀網(wǎng)絡(luò)。
這些應(yīng)用程序的開(kāi)發(fā)也有通過(guò)引入Zigbee 3.0變得更加直接,Zigbee 3.0將單獨(dú)的應(yīng)用程序特定配置文件的混亂減少到稱為Zigbee集群庫(kù)(ZCL)的通用應(yīng)用程序?qū)樱▓D1)。
圖1:Zigbee已成為自動(dòng)化系統(tǒng)的首選解決方案,并為開(kāi)發(fā)人員提供了一系列在Zigbee PRO堆棧中收集的強(qiáng)大連接服務(wù)以及Zigbee集群庫(kù)(ZCL)。 (圖片來(lái)源:Zigbee聯(lián)盟)
最新版本的Zigbee為網(wǎng)狀網(wǎng)絡(luò)提供了改進(jìn)的功能,同時(shí)保持了與傳統(tǒng)系統(tǒng)的兼容性。盡管如此,Zigbee還沒(méi)有原生支持互聯(lián)網(wǎng)協(xié)議(IP)與本地Wi-Fi網(wǎng)絡(luò)和互聯(lián)網(wǎng)等IP網(wǎng)絡(luò)連接。
為了在Zigbee和IP網(wǎng)絡(luò)之間進(jìn)行通信,開(kāi)發(fā)人員需要調(diào)整消息通過(guò)在各個(gè)網(wǎng)絡(luò)格式之間轉(zhuǎn)換標(biāo)題和地址來(lái)流經(jīng)連接每個(gè)域的網(wǎng)關(guān)。此外,開(kāi)發(fā)人員通常需要重新打包有效負(fù)載并重新應(yīng)用安全機(jī)制。雖然在概念上并不困難,但這種額外的自適應(yīng)過(guò)程會(huì)給網(wǎng)關(guān)設(shè)備帶來(lái)進(jìn)一步的處理負(fù)擔(dān),從而導(dǎo)致消息延遲增加。
基線中缺乏對(duì)IP尋址的支持Zigbee規(guī)范促使開(kāi)發(fā)人員尋找替代方案,如Thread來(lái)自線程組。與Zigbee一樣,Thread基于IEEE 802.15.4物理(PHY)和媒體訪問(wèn)控制(MAC)層。為了提供IP尋址能力,它為6LowPAN(IPv6低功耗無(wú)線個(gè)人局域網(wǎng))增加了一層支持。線程還解決了其他關(guān)鍵網(wǎng)格要求,其中包括用于加速重新路由的最新路徑信息以及用于將新設(shè)備安全地調(diào)試到網(wǎng)狀網(wǎng)絡(luò)的增強(qiáng)協(xié)議。
然而,對(duì)于開(kāi)發(fā)人員而言,使用這些技術(shù)實(shí)現(xiàn)連接照明等應(yīng)用程序在創(chuàng)建高效硬件設(shè)計(jì)和優(yōu)化相關(guān)軟件協(xié)議棧上的應(yīng)用程序方面存在多重挑戰(zhàn)。
使用Silicon Labs EFR32MG12 Mighty Gecko 802.15支持.4的無(wú)線MCU和相關(guān)軟件,開(kāi)發(fā)人員可以創(chuàng)建低功耗的網(wǎng)狀網(wǎng)絡(luò)。通過(guò)構(gòu)建Silicon Labs參考設(shè)計(jì),開(kāi)發(fā)人員可以進(jìn)一步加速實(shí)施能夠利用這些網(wǎng)絡(luò)的高級(jí)應(yīng)用。
無(wú)線MCU
支持802.15.4的MCU的可用性加速了基于低功耗網(wǎng)絡(luò)的自動(dòng)化應(yīng)用的增長(zhǎng)。諸如EFR32MG12 MCU等器件集成了典型無(wú)線節(jié)點(diǎn)設(shè)計(jì)所需的全部組件。除了集成無(wú)線電外,Mighty Gecko MCU(如EFR32MG12P432F1024GM48)還將40 MHz 32位Arm ? Cortex ? -M4內(nèi)核與1024 KB閃存,256 KB相結(jié)合RAM,以及一系列廣泛的數(shù)字和模擬外設(shè)。該器件的模擬互連矩陣使設(shè)計(jì)人員可將器件引腳配置為集成模擬模塊的模擬I/O端口,包括數(shù)模轉(zhuǎn)換器(DAC),模擬比較器,運(yùn)算放大器和高速12位逐次逼近寄存器(SAR)模數(shù)轉(zhuǎn)換器(ADC)。
該設(shè)備的無(wú)線電子系統(tǒng)集成了全RF接收和發(fā)送信號(hào)路徑,包括低噪聲放大器(LNA),功率放大器(PA),頻率合成器,信號(hào)轉(zhuǎn)換器和平衡 - 不平衡轉(zhuǎn)換器。因此,設(shè)計(jì)人員只需將雙元件LC匹配網(wǎng)絡(luò)連接到器件的雙引腳2.4 GHz天線接口即可實(shí)現(xiàn)低功耗設(shè)計(jì)的RF端(圖2)。這種雙元件設(shè)計(jì)足以滿足典型的低功耗物聯(lián)網(wǎng)設(shè)計(jì),具有適中的射頻發(fā)射功率要求(小于13 dBm)。對(duì)于具有更高RF發(fā)射功率要求的設(shè)計(jì),工程師只需要為最終的四元件匹配網(wǎng)絡(luò)添加另一個(gè)LC級(jí)。
圖2:對(duì)于要求RF發(fā)射功率小于13 dBm的2.4 GHz 802.15.4應(yīng)用,工程師可以通過(guò)簡(jiǎn)單的雙元件LC匹配網(wǎng)絡(luò)為EFR32MG12 MCU實(shí)現(xiàn)RF接口。 (圖片來(lái)源:Silicon Labs)
高效的物聯(lián)網(wǎng)解決方案
除了簡(jiǎn)化RF接口要求外,MCU的高集成度還簡(jiǎn)化了整個(gè)系統(tǒng)的設(shè)計(jì)。開(kāi)發(fā)人員可以利用集成的DC-DC轉(zhuǎn)換器,只需額外的外部電容和電感即可進(jìn)行部署。因此,基于EFR32的系統(tǒng)的基線設(shè)計(jì)除了用于電源連接的外部組件外,幾乎不需要外部組件(圖3)。
圖3:開(kāi)發(fā)人員可以通過(guò)使用EFR32 MCU的內(nèi)置DC-DC轉(zhuǎn)換器為內(nèi)部電路模塊(包括RF)供電,從而大幅降低功耗功率放大器適用于射頻輸出功率要求低的應(yīng)用。 (圖片來(lái)源:Silicon Labs)
集成的DC-DC轉(zhuǎn)換器旨在最大限度地降低可能影響設(shè)備RF電路的噪聲,但仍能通過(guò)其向MCU和其他外部設(shè)備提供高達(dá)200 mA的電流。 IOVDD引腳。開(kāi)發(fā)人員也可以使用轉(zhuǎn)換器為MCU的內(nèi)部模塊供電。
要為I/O,RF模擬和RF PA級(jí)供電,請(qǐng)將轉(zhuǎn)換器輸出VDCDC連接到芯片的相應(yīng)引腳(IOVDD,RFVDD和PAVDD)。對(duì)于具有高RF輸出功率要求(高于13 dBm)的應(yīng)用,只需將圖3所示的高端電感連接移至VDD電源即可。
使用內(nèi)部數(shù)字和模擬模塊的轉(zhuǎn)換器輸出也很簡(jiǎn)單,需要簡(jiǎn)單的軟件設(shè)置。開(kāi)發(fā)人員可以通過(guò)分別設(shè)置MCU的EMU_PWRCTRL寄存器中的REGPWRSEL位和ANASW位,將轉(zhuǎn)換器的輸出路由到MCU的數(shù)字和模擬模塊。
集成DC-DC轉(zhuǎn)換器的使用帶來(lái)了明顯的優(yōu)勢(shì),不僅簡(jiǎn)化了設(shè)計(jì),但也最大限度地降低功耗。在禁用外設(shè)的EM0活動(dòng)模式下,器件在使用38 MHz晶振的閃存運(yùn)行代碼時(shí)消耗約70μA/MHz。相比之下,對(duì)于運(yùn)行條件相同但不使用集成DC-DC轉(zhuǎn)換器的設(shè)計(jì),功耗上升至約100μA/MHz。
即便如此,集成DC-DC轉(zhuǎn)換器只有一個(gè)開(kāi)發(fā)人員可以使用幾個(gè)功能來(lái)降低基于EFR32的系統(tǒng)的功耗。該器件支持不同的工作模式,允許開(kāi)發(fā)人員擴(kuò)展電壓和時(shí)鐘頻率 - 以性能為代價(jià)降低功耗。之后,開(kāi)發(fā)人員可以在應(yīng)用需要更高性能之前簡(jiǎn)單地調(diào)高電壓和頻率,然后再返回低功耗狀態(tài)。
與幾乎所有專為物聯(lián)網(wǎng)設(shè)計(jì)而設(shè)計(jì)的集成MCU一樣,MCU為開(kāi)發(fā)人員提供多種操作通過(guò)將核心和其他子系統(tǒng)置于各種睡眠狀態(tài),可以顯著降低功耗的模式。例如,器件在睡眠模式(EM1)下僅需要41微安(μA)/兆赫(MHz),并禁用所有外設(shè)。在長(zhǎng)時(shí)間不活動(dòng)期間,開(kāi)發(fā)人員可以在深度睡眠模式(EM2)下降低功耗3μA,在停止模式(EM3)下降低功耗2.47μA,具有完全RAM保持和內(nèi)部閃存斷電。要返回完全激活模式,可以對(duì)器件進(jìn)行編程,以便在外設(shè)中斷時(shí)自動(dòng)喚醒,或者當(dāng)RF子系統(tǒng)檢測(cè)到RF信號(hào)時(shí)。
對(duì)于某些設(shè)計(jì),MCU從睡眠中喚醒所需的時(shí)間可能是一個(gè)問(wèn)題。早期的MCU表現(xiàn)出緩慢的喚醒時(shí)間,可能接近甚至超過(guò)應(yīng)用程序所需的響應(yīng)時(shí)間。使用這些器件,開(kāi)發(fā)人員不得不放棄使用深度睡眠模式,接受更高的功耗以確保系統(tǒng)及時(shí)響應(yīng)。
相比之下,EFR32 MCU從EM3停止模式喚醒代碼從RAM執(zhí)行為3μs,從閃存執(zhí)行代碼約為10μs。因此,開(kāi)發(fā)人員可以利用低功耗睡眠模式,而不會(huì)對(duì)典型物聯(lián)網(wǎng)應(yīng)用(如連接照明)的響應(yīng)時(shí)間要求產(chǎn)生重大影響。
連接照明解決方案
即使使用EFR32 MCU的簡(jiǎn)化設(shè)計(jì)要求,開(kāi)發(fā)人員在創(chuàng)建基于網(wǎng)狀網(wǎng)絡(luò)的完整連接照明應(yīng)用時(shí)可能面臨重大挑戰(zhàn)。除了無(wú)線MCU系統(tǒng),開(kāi)發(fā)人員還需要組裝具有合適緩沖器和接口的LED和LED驅(qū)動(dòng)電路,以完成與MCU的連接。除了這些硬件設(shè)計(jì)細(xì)節(jié)之外,網(wǎng)狀連接應(yīng)用程序的軟件開(kāi)發(fā)要求可能令人生畏。
開(kāi)發(fā)人員可以使用Silicon Labs RD-0098-0401參考設(shè)計(jì)套件來(lái)解決這些問(wèn)題,而不是面臨延遲。快速開(kāi)始探索連接照明應(yīng)用。該套件基于前面提到的Silicon Labs EFR32MG12P432F1024GM48 MCU,提供完整的系統(tǒng)實(shí)現(xiàn),包括LED照明功能。該套件的電路板帶有幾個(gè)帶有MOSFET驅(qū)動(dòng)電路的LED,以及用于緩沖用于控制MOSFET柵極的MCU引腳的運(yùn)算放大器。預(yù)裝的MCU固件使開(kāi)發(fā)人員可以立即開(kāi)始檢查與網(wǎng)狀網(wǎng)絡(luò)和LED相關(guān)的不同操作特性。
相關(guān)的參考設(shè)計(jì)為開(kāi)發(fā)基于網(wǎng)狀網(wǎng)絡(luò)的各種自動(dòng)化應(yīng)用提供了清晰的路線圖。通過(guò)將RD-0098-0401電路板與Silicon Labs SLWSTK6000B網(wǎng)狀套件和Simplicity Studio軟件環(huán)境相結(jié)合,開(kāi)發(fā)人員可以獲得用于創(chuàng)建自定義連接照明系統(tǒng)的全面開(kāi)發(fā)框架(圖4)。
圖4:Silicon Labs RD-0098-0401連接照明套件與Silicon Labs SLWSTK6000B網(wǎng)格套件和Zigbee網(wǎng)關(guān)配合使用,為評(píng)估連接照明提供了一個(gè)全面的平臺(tái)并開(kāi)發(fā)定制自動(dòng)化應(yīng)用程序(圖片來(lái)源:Silicon Labs)
如圖所示,開(kāi)發(fā)人員可以添加任何兼容的Zigbee網(wǎng)關(guān),如Silicon Labs RD-0001-0201 Wi-Fi網(wǎng)關(guān)或Silicon Labs RD-0002-0201 USB虛擬用于在更復(fù)雜的自動(dòng)化應(yīng)用程序中連接兼容的Zigbee設(shè)備的網(wǎng)關(guān)。也許這個(gè)開(kāi)發(fā)平臺(tái)中最關(guān)鍵的部分,Simplicity Studio軟件環(huán)境,顯著改善了應(yīng)用程序軟件開(kāi)發(fā)。
開(kāi)發(fā)框架
在創(chuàng)建Zigbee應(yīng)用程序時(shí),開(kāi)發(fā)人員面臨特定的功能需求圖1中前面所示的Zigbee架構(gòu)中表示的每一層。雖然802.15.4兼容硬件支持最低層,但開(kāi)發(fā)人員的任務(wù)是確保其軟件提供Zigbee架構(gòu)其他層所期望的特定功能。諸如Silicon Labs EmberZNet協(xié)議棧之類的商業(yè)Zigbee堆棧解決了中間層問(wèn)題,但開(kāi)發(fā)人員仍然負(fù)責(zé)在應(yīng)用程序級(jí)別解決進(jìn)一步的需求(圖5)。
圖5:Silicon Labs堆棧提供了Zigbee網(wǎng)狀網(wǎng)絡(luò)所需的廣泛服務(wù),但開(kāi)發(fā)人員仍然負(fù)責(zé)應(yīng)用程序級(jí)別的補(bǔ)充功能。 (圖片來(lái)源:Silicon Labs)
對(duì)于軟件開(kāi)發(fā)人員來(lái)說(shuō),在像Zigbee這樣的豐富框架中處理多個(gè)層的多個(gè)依賴關(guān)系和交互可能非常具有挑戰(zhàn)性。然而,使用Silicon Labs Ember應(yīng)用程序框架,他們可以更專注于更高級(jí)別的應(yīng)用程序代碼而不是底層機(jī)制。
通過(guò)Simplicity Studio提供,Silicon Labs的Ember應(yīng)用程序框架通過(guò)簡(jiǎn)化了Zigbee網(wǎng)格開(kāi)發(fā)圍繞回調(diào)構(gòu)建的編程模型。回調(diào)為應(yīng)用程序級(jí)代碼提供了一種機(jī)制,可以參與在較低服務(wù)級(jí)別處理的操作,實(shí)質(zhì)上是為低級(jí)機(jī)制提供事件驅(qū)動(dòng)的入口點(diǎn)。在某些時(shí)候,通常在其關(guān)鍵處理部分之前或之后,較低的服務(wù)例程發(fā)出回調(diào),這只是對(duì)開(kāi)發(fā)人員提供的函數(shù)的調(diào)用,該函數(shù)執(zhí)行自己的一組操作。
回調(diào)編程模型在復(fù)雜的框架中提供了許多好處。例如,在執(zhí)行較低級(jí)別的服務(wù)功能之前,Ember框架使用回調(diào)來(lái)使用開(kāi)發(fā)人員的特定于應(yīng)用程序的代碼處理新消息。通過(guò)這種方式,回調(diào)不僅為應(yīng)用程序開(kāi)發(fā)人員提供了一個(gè)干凈的框架接口,而且還確保了開(kāi)發(fā)人員的應(yīng)用程序代碼與框架提供的代碼之間的隔離。 Silicon Labs希望該框架能夠處理開(kāi)發(fā)人員可能遇到的任何情況,如果開(kāi)發(fā)人員面臨需要向框架添加應(yīng)用程序代碼的情況,則認(rèn)為它是一個(gè)框架錯(cuò)誤。
雖然框架和它的回調(diào)模型已經(jīng)隱藏了底層服務(wù)架構(gòu)的復(fù)雜性,Simplicity Studio為應(yīng)用程序開(kāi)發(fā)提供了更簡(jiǎn)單的方法。在這里,開(kāi)發(fā)人員可以使用Simplicity Studio中的Ember AppBuilder通過(guò)一系列菜單選擇來(lái)構(gòu)建應(yīng)用程序。在這些選項(xiàng)中,AppBuilder為開(kāi)發(fā)人員提供了一組插件,這些插件實(shí)現(xiàn)了特定集群的功能,例如標(biāo)準(zhǔn)Zigbee集群庫(kù)(ZCL)應(yīng)用層支持的顏色控制。
每個(gè)插件與相關(guān)的軟件模塊一起提供默認(rèn)值,例如報(bào)告間隔以及與特定集群功能相關(guān)的特定回調(diào)(圖6)。
圖6:使用Silicon Labs Simplicity Studio AppBuilder,開(kāi)發(fā)人員只需選擇實(shí)現(xiàn)應(yīng)用程序功能所需的一組插件(左側(cè)面板),包括相關(guān)的回調(diào)(右下)。 (圖片來(lái)源:Silicon Labs)
AppBuilder提供了實(shí)現(xiàn)底層集群功能所需的完整源代碼,包括特定的回調(diào)。如清單1所示,回調(diào)可以從幾行簡(jiǎn)單的代碼行發(fā)出停止命令( emberAfColorControlClusterStopMoveStepCallback()),例如,轉(zhuǎn)換目標(biāo)LED的顏色所需的更復(fù)雜的代碼。一個(gè)州到另一個(gè)州( emberAfColorControlClusterMoveToColorCallback())。在檢查了默認(rèn)回調(diào)之后,開(kāi)發(fā)人員可以實(shí)現(xiàn)自己的回調(diào)版本,甚至可以創(chuàng)建自己的插件。
復(fù)制 bool emberAfColorControlClusterStopMoveStepCallback(void){//收到一個(gè)停止命令。這就是我們需要做的。 stopAllColorTransitions(); emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); return true;}。 。 .bool emberAfColorControlClusterMoveToColorCallback(uint16_t colorX,uint16_t colorY,uint16_t transitionTime){uint8_t endpoint = emberAfCurrentEndpoint(); if(transitionTime == 0){transitionTime ++; }//新命令。需要停止任何活動(dòng)過(guò)渡。 stopAllColorTransitions();//如有必要,處理顏色模式轉(zhuǎn)換。 handleModeSwitch(endpoint,COLOR_MODE_CIE_XY);//現(xiàn)在,啟動(dòng)狀態(tài)機(jī)。 colorXTransitionState.initialValue = readColorX(endpoint); colorXTransitionState.currentValue = readColorX(endpoint); colorXTransitionState.finalValue = colorX; colorXTransitionState.stepsRemaining = transitionTime; colorXTransitionState.stepsTotal = transitionTime; colorXTransitionState.endpoint = endpoint; colorXTransitionState.lowLimit = MIN_CIE_XY_VALUE; colorXTransitionState.highLimit = MAX_CIE_XY_VALUE; colorYTransitionState.initialValue = readColorY(endpoint); colorYTransitionState.currentValue = readColorY(endpoint); colorYTransitionState.finalValue = colorY; colorYTransitionState.stepsRemaining = transitionTime; colorYTransitionState.stepsTotal = transitionTime; colorYTransitionState.endpoint = endpoint; colorYTransitionState.lowLimit = MIN_CIE_XY_VALUE; colorYTransitionState.highLimit = MAX_CIE_XY_VALUE; writeRemainingTime(endpoint,transitionTime);//啟動(dòng)狀態(tài)機(jī):emberEventControlSetDelayMS(COLOR_XY_CONTROL,UPDATE_TIME_MS); emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS);返回true;}
清單1:隨Silicon Labs Simplicity Studio AppBuilder提供的插件包含特定的回調(diào)功能,開(kāi)發(fā)人員可以根據(jù)需要使用自己的回調(diào)函數(shù)或插件替換它們。 (代碼來(lái)源:Silicon Labs)
從Zigbee遷移到線程
借助Silicon Labs環(huán)境,開(kāi)發(fā)人員可以利用從Zigbee到Thread的相當(dāng)簡(jiǎn)單的遷移路徑。在最低級(jí)別,Simplicity Studio生成硬件配置輸出( hal-config.h ),可直接用于Zigbee,Thread甚至使用Silicon的專有協(xié)議的堆棧軟件開(kāi)發(fā)工具包(SDK)。實(shí)驗(yàn)室無(wú)線電抽象接口層(RAIL)庫(kù)與Silicon Labs Flex SDK(圖7)。
圖7:除了使用通用硬件配置格式外,Silicon Labs環(huán)境還有助于簡(jiǎn)化不同協(xié)議(包括Zigbee和Thread)之間的應(yīng)用程序遷移。 (圖片來(lái)源:Silicon Labs)
Silicon Labs的線程堆棧允許開(kāi)發(fā)人員將一些更高級(jí)別的Zigbee應(yīng)用程序功能遷移到Thread。作為實(shí)施Zigbee Alliance的物聯(lián)網(wǎng)連接dotdot語(yǔ)言的一部分,Silicon Labs使用ZCL over IP(ZCL/IP)實(shí)現(xiàn)其Thread堆棧中包含的Thread應(yīng)用層。在支持dotdot時(shí),ZCL/IP旨在進(jìn)一步概括Zigbee架構(gòu)中具有不同傳輸類型的應(yīng)用層功能。對(duì)于Thread堆棧,Silicon Labs通過(guò)提供在線程中用作標(biāo)準(zhǔn)傳輸協(xié)議的CoAP(約束應(yīng)用協(xié)議)的實(shí)現(xiàn)來(lái)利用這種通用性。
ZCL/IP映射了許多其他Zigbee實(shí)體,命令和屬性直接指向Thread IP網(wǎng)絡(luò)模型。因此,開(kāi)發(fā)人員可以更輕松地訪問(wèn)遷移到Thread的價(jià)值。更簡(jiǎn)單的是,開(kāi)發(fā)人員只需在Simplicity Studio AppBuilder中選擇Silicon Labs RD-0098-0401連接照明演示的Thread實(shí)現(xiàn)。與Zigbee演示一樣,開(kāi)發(fā)人員可以立即開(kāi)始探索Thread性能特征,或者使用AppBuilder生成的示例應(yīng)用程序作為他們自己的基于線程的自動(dòng)化應(yīng)用程序的基礎(chǔ)。
結(jié)論
LED照明自動(dòng)化已迅速成為智能家居和智能建筑的熱門(mén)功能。作為這些自動(dòng)化系統(tǒng)的基礎(chǔ),網(wǎng)狀網(wǎng)絡(luò)支持連接燈和控制系統(tǒng)的低功率運(yùn)行,這些系統(tǒng)曾經(jīng)需要高功率RF收發(fā)器。然而,在開(kāi)發(fā)這些網(wǎng)狀網(wǎng)絡(luò)系統(tǒng)時(shí),開(kāi)發(fā)人員在實(shí)現(xiàn)具有網(wǎng)格功能的硬件和軟件方面面臨多重挑戰(zhàn)。
結(jié)合使用Silicon Labs RD-0098-0401連接照明套件和Silicon Labs SLWSTK6000B網(wǎng)狀套件用于創(chuàng)建網(wǎng)狀連接照明系統(tǒng)的完整硬件平臺(tái)。借助Silicon Labs的Simplicity Studio,開(kāi)發(fā)人員可以快速評(píng)估完整的Zigbee和基于線程的連接照明應(yīng)用程序,或使用這些示例應(yīng)用程序構(gòu)建自定義網(wǎng)狀網(wǎng)絡(luò)自動(dòng)化應(yīng)用程序。
-
led照明
+關(guān)注
關(guān)注
34文章
2656瀏覽量
143026 -
ZigBee
+關(guān)注
關(guān)注
158文章
2271瀏覽量
243347 -
自動(dòng)化
+關(guān)注
關(guān)注
29文章
5622瀏覽量
79660
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論