基于zigbee與linux 的智能家居系統(tǒng)設(shè)計(jì)方案
圖5 CC2420 硬件電路
4 軟件設(shè)計(jì)
通過天線接收設(shè)備無線節(jié)點(diǎn)傳輸過來的數(shù)據(jù)幀,經(jīng)過CC2420 自動校驗(yàn)。若無誤則經(jīng)過解碼、譯碼,然后經(jīng)過SPI 接口送往ATmega128L,再經(jīng)過串口UART1 送往S3C2440,經(jīng)數(shù)據(jù)處理后顯示于相應(yīng)的LCD 觸摸屏上。
4.1 系統(tǒng)主程序設(shè)計(jì)
CMU以及節(jié)點(diǎn)的程序流程圖,分別見圖6 和7。在CMU中先初始化LCD 及射頻芯片,然后程序開始初始化協(xié)議棧并打開中斷。之后程序開始格式化一個(gè)網(wǎng)絡(luò)。最后處理函數(shù)apsFSM()(在APS 層上實(shí)現(xiàn)的FSM(有限狀態(tài)機(jī)))監(jiān)控中的zigbee 信號。如果現(xiàn)在有節(jié)點(diǎn)加入網(wǎng)絡(luò),則LCD 和串口輸出都會給節(jié)點(diǎn)分配網(wǎng)絡(luò)地址。同樣函數(shù)apsFSM()里接收節(jié)點(diǎn)發(fā)送過來的溫度傳感器采集到的數(shù)值及一些按鍵操作,并在LCD 上顯示處理,也同時(shí)從串口發(fā)送出來。
4.2 處理器軟件結(jié)構(gòu)
處理器采用嵌入式Linux 操作系統(tǒng),在原Bootloader、Kernel 上修改文件系統(tǒng),添加GUI應(yīng)用程序,并修改系統(tǒng)啟動腳本使應(yīng)用程序在系統(tǒng)啟動時(shí)自運(yùn)行。軟件結(jié)構(gòu)如圖8 所示。
5 測試與分析
為了保證智能家居系統(tǒng)運(yùn)行的穩(wěn)定性,我們將主控設(shè)備裝入模具中進(jìn)行了一周高溫測試,系統(tǒng)一直保持了穩(wěn)定的工作狀態(tài),同時(shí)對CMU溫度進(jìn)行了測量,環(huán)境溫度與CMU溫度的比較如下圖所示,理論情況下,CMU 工作的最大溫度為45°C,由下圖6.9 看出,CMU工作的溫度屬于正常范圍。
同時(shí)對智能家居系統(tǒng)的家居設(shè)備無線節(jié)點(diǎn)進(jìn)行了性能測試。測試條件為:1、用障礙物將CMU 模塊與家居設(shè)備無線節(jié)點(diǎn)隔開;2、CMU 模塊的波特率為250kbps;3、每一幀數(shù)據(jù)為64 字節(jié);5、每次測試數(shù)據(jù)發(fā)送1000 幀,發(fā)送間隔為200ms 。實(shí)驗(yàn)結(jié)果如表1 所示,由表可以看出,系統(tǒng)如果要正常工作,需保持在200m距離范圍內(nèi)。
6 結(jié)論
本文從智能家居系統(tǒng)設(shè)計(jì)的成本、功耗、性能等方面出發(fā),設(shè)計(jì)出一種可行的智能家居系統(tǒng)的構(gòu)建方案。以高性能、低功耗的S3C2440 芯片裝載linux 嵌入式系統(tǒng)作為中央管理單元的處理器,用zigbee 無線通信協(xié)議實(shí)現(xiàn)CMU、無線家居設(shè)備節(jié)點(diǎn)、無線傳感器節(jié)點(diǎn)的互聯(lián)和互動,使之成為一個(gè)小型的家居“物聯(lián)網(wǎng)”并且利用成熟的Internet網(wǎng)絡(luò)實(shí)現(xiàn)了遠(yuǎn)程控制。并在硬件芯片選擇和電路設(shè)計(jì)方面優(yōu)化了系統(tǒng)的結(jié)構(gòu),使得系統(tǒng)性能得到了很大的改善,成本也降低了許多。
評論