馬齊飛,陳富軍
(1.中國人民解放軍91292部隊 工程機械教研室,河北 高碑店 074000;
2.黃淮學院 電子科學與工程系,河南 駐馬店 463000)
基于ZigBee的智能家居控制系統設計
馬齊飛1,陳富軍2
(1.中國人民解放軍91292部隊 工程機械教研室,河北 高碑店 074000;
2.黃淮學院 電子科學與工程系,河南 駐馬店 463000)
以經濟、實用、人性化為目標,利用最新ARM V7架構的STM32F107VX微處理器以及GPRS實現網絡接入和遠程控制,設計了一個低成本、低功耗的智能家居控制系統.該系統通過μCOS II進行調度,基于ZigBee進行系統內部網絡無線連接,實現了家居安防、家電控制、照明控制、環境監測、燃氣報警等智能化控制.
Bee技術;無線自組網;STM32F107VX微處理器;家居物聯網
常見的智能家居控制系統多以有線方式組建,該方式存在布線復雜以及價格高等問題,使得智能家居系統在龐大的中低端用戶群中應用較少.近距離無線通訊中的 WiFi技術以及藍牙技術同樣存在著實現復雜、成本高等不利因素.另外,當前的智能家居系統尚無相互連接的統一標準,致使系統的可擴展性和可維護性差.因此,本文基于ZigBee無線組網技術對智能家居控制系統進行設計研究,以期提高智能家居系統的經濟性、實用性、可擴展性、可維護性和在低端用戶群的普及性.
基于 ZigBee技術實現智能家居無線自組網是數字化家庭和數字社區建設和應用的一個研究熱點[1].隨著技術的不斷發展及人們對智能家居領域實踐認識的深入,智能家居控制系統已從初始的以計算機為控制中心,逐漸轉向以計算機為管理中心,以嵌入式家庭網關為控制核心;布線也由原來單一有線方式轉向以無線和有線相結合的混合布線方式;家居智能控制系統正在朝著家居物聯網化的方向發展.
Zigbee技術是一種低數據速率、低復雜度和低成本的近距離雙向無線通訊技術,符合 IEEE802.15.4 MAC層規范,是為近距離無線通訊所制定的協議標準[2].Zigbee具有自組織網絡、自適應路由、超低功耗、高接收靈敏度、支持多節點數、實時性強、安全性高、低成本等特點.基于ZigBee技術進行無線組網,將解決智能家居中各子節點模塊間相互連接標準相統一的問題.它可以方便地實現各種智能家居產品的互聯互通,從而解決數字化家庭建設中的“信息孤島”問題,同時也會為實現數字化社區建設打下基礎[3].
本智能家居控制系統采用STM32F107VX微處理器,它是意法半導體公司推出的 ARM V7架構、Contex-M3內核的STM32互連型系列微控制器中性能較強的一款芯片.該微處理器芯片是32位的內核,采用了哈佛結構,并擁有獨立的指令總線和數據總線,取指和數據訪問并行工作.STM32F107VX先進的中斷處理技術、高性能、低功耗、高代碼密度、小硅片面積、低成本以及支持實時操作系統μCOS II等特性,使其成為開發智能家居控制系統的首選.Contex-M3內核架構的微處理器內部基本結構如圖 1所示.STM32F107VX微處理器具有內置的以太網MAC(介質訪問控制)、專用的 DMA控制器,以及 ZigBee、WiFi、RJ45等網絡通信接口,支持10M/100M自適應網絡.其豐富、靈活的通信接口在集中式系統尤其是家居物聯網中能獲得靈活和成本經濟的網絡化連接,是很理想的通信中樞器件.

圖1 Contex-M3內核架構的微處理器基本結構
智能家居控制系統應具有外部網絡接入、內部網互連、信息存儲、設備監控以及網絡安全等功能,并使子網內部各終端節點之間可相互通信,以實現自動控制和遠程控制.根據智能家居控制系統的功能要求,各功能模塊和外部接口主要由微處理器、鍵盤控制及LCD顯示、無線收發節點模塊(協調器)、以太網接口模塊、GPRS無線通訊模塊、RS485接口和電源以及家庭網絡內部各無線收發子節點等部分組成,具體如圖2所示.

圖2 智能家居控制系統組成
由圖2可知,智能家居控制系統的底層子網包括家居安防節點、室內環境監測節點、煙霧信號采集節點、家電控制節點、燈光照明控制節點和其他應用子節點等.控制系統以STM32F107VX微處理器為核心通過鍵盤控制、LCD顯示和外圍GPRS模塊自動或遠程監控家庭各個子模塊的工作狀態,并在必要時自動發送信息和報警.系統子節點分別把各自采集的信號進行預處理,然后通過無線收發子節點傳送到主控制器的收發子節點模塊,由嵌入式實時操作系統μCOS II調度TCP/IP協議棧將數據打包運行于嵌入式WEB服務器.客戶端既可通過本地 PC實現現場級監控控制,也可由GPRS模塊或以太網模塊實現訪問接入,通過手機短信息進行遠程控制.
智能家居控制系統由硬件和軟件兩部分組成.硬件設計部分包括主控制器和各種子功能實現模塊,即以STM32F107VX微處理器為核心,采用嵌入式實時操作系統μC/OS II,基于ZigBee技術進行無線組網實現智能家居控制.軟件設計部分主要包括μC/OS II操作系統在STM32F107VX微處理器內核的移植、嵌入式 ZigBee協議棧的實現和應用主程序及子程序的實現.
系統主控芯片采用STM32F107VX微處理器,主要負責Internet網絡控制、基于GPRS網絡的遠程控制、內部組網管理等.該芯片支持 IEEE1588精確時間協議,能精確實現時間同步,并為核心和外設提供靈活的高級時鐘配置方案,可在成本優化的同時為以太網MAC、PHY、CAN、USB和音頻類I2S提供時鐘.STM32F107VX微處理器還具有ZigBee無線網絡通訊接口,可方便地實現ZigBee模塊組網設計.
在家居無線網絡中,協調器節點采用Chipcon公司的CC2520芯片,負責ZigBee網絡的啟動、配置、組建、節點的加入與刪除等網絡維護工作.家居內部子網無線收發節點均采用CC2530芯片實現路由器和終端設備功能.路由器的作用主要是允許其他設備加入網絡,實現多跳路由,協助子終端設備通信.終端設備無需維持網絡結構,可以處于睡眠或者喚醒狀態.由于CC2530已固化了ZigBee 2007協議棧,因此只需加上簡單的外圍電路即可構成子網的收發模塊,實現近距離自組網通信功能.
鍵盤控制及 LCD顯示模塊主要由矩陣鍵盤和LCD顯示器構成,完成控制系統現場級I/O的顯示功能;以太網通訊模塊由Siemens芯片6GK7343完成物理層的轉換,實現STM32F107VX微處理器與遠程監控PC數據的交換.
GPRS通訊模塊采用SIM300模塊,其提供標準的RS-232接口,通過點對點協議可實現短信息的收發和無線上網,實現對系統內部各子模塊的無線監控.該模塊只需通過增加相應的功能實體和對現有的基站系統進行部分改造即可實現分組交換.在整個無線傳感器網絡中,ZigBee網絡把采集到的數據通過 RS-485上傳到監控中心,也可通過GPRS或Internet進行遠程控制.ZigBee網絡面向短距離通信,而 GPRS和Internet面向遠距離的通信,兩者通過控制系統聯到一起,可優勢互補,實現數據的遠距離自動傳輸控制.
4.2.1 μC/OS II的移植
實時操作系統μC/OS II是整個智能家居控制系統中調度和控制的核心,負責連接底層硬件和上層的ZigBee協議棧和應用程序,為用戶提供API函數.在系統開發應用時,用戶無需關心底層的硬件以及驅動程序,只需利用μC/OS II提供的API函數即可開發應用,減輕了開發應用程序的工作量和難度,避免了在微控制器上直接進行ZigBee協議棧的開發.
μC/OS-II在STM32F107VX微處理器中的移植主要是完成OS_CPU.H、OS_CPU_A.S和OS_CPU_C.C文件的移植,同時也需要完成一些與移植相關的文件,如 μC/OS-II系統的配置文件和引導系統的啟動文件[4].OS_CPU.H包括了用 define語句定義的數據類型及與處理器相關的宏和函數說明.OS_CPU_A.S包括了與移植有關的4個匯編語言函數,即開中斷、關中斷、上下文切換和時鐘中斷.OS_CPU_C.C包括OS_CPU_C.C包括10個C語言函數,用來初始化任務棧和任務控制塊,實現任務的創建和刪除,完成任務的切換和統計,使用戶能先處理需應急的事務和將CPU置于低功耗模式,并可把與OS有關的初始化代碼放在OSInit( )函數中,增強代碼的簡潔性.μC/OS-II移植的實現過程如圖3所示.

圖3 μC/OS II在STM32F107VX微處理器中的移植
4.2.2 ZigBee 2007協議棧的初始化
實時操作系統μC/OS-II移植入STM32F107VX微處理器后,應由操作系統完先成各模塊的驅動和配置以及分配系統資源,再進行ZigBee 2007協議棧開發.具體初始化流程是:(1) 啟動協調器模塊CC2520,建立網絡成功后,在LCD顯示器上會顯示主控界面以及網絡ID號;(2) 打開路由器以及各終端子節點的電源,各節點自動入網,同時顯示自己的網絡地址、父節點的網絡地址和節點類型;(3) 利用ZigBee協議棧的綁定功能把控制器模塊和各子節點綁定.
4.2.3 系統應用軟件設計
實時操作系統μC/OS-II的多任務可實現應用程序的模塊化開發和應用,每個模塊功能由一個任務實現.智能家居控制系統可以分為數據采集、數據分析處理和通信三大部分.數據采集部分主要利用無線收發子節點采集各底層子模塊經模數轉換后的電流、電壓、頻率等參數;數據分析處理部分主要計算電流、電壓的有效值等;通信部分用來實現遠程、網絡化測控,并向上位機部分傳送系統內部各模塊相關參數,同時接收上位機的命令參數進行實時控制.各節點數據在無線節點模塊中的傳輸如圖4所示.無線收發模塊將接收到的無線信號通過內部一系列的硬件處理,將信號轉換為數據存放在接收緩沖區中,通過直接內存讀取方式送入數據存儲區中,再通過串口或GPRS將接收到的數據傳到控制中心.在實時操作系統 μCOS-II多任務的基礎上,應用程序充分利用了系統資源,提高了程序效率.

圖4 數據在無線收發主模塊中的傳輸過程
本文研究的智能家居控制系統基于 ZigBee無線組網技術并結合具有Contex-M3內核架構、功能強、低功耗、低成本的STM32F107VX微處理器實現,由于充分考慮了智能家居應用中最為人們關心的經濟和實用問題,因此有利于在中低端用戶中推廣.
[1] 黎輝.ZigBee技術在中國智能家居中的應用[J].智能建筑電氣技術,2009(4):80―81.
[2] 李文仲,段朝玉.ZigBee無線網絡技術入門與實戰[M].北京:北京航空航天大學出版社,2007.
[3] 彭俊杰,賀輝,朱平安,等.Zigbee-based new approach to smart home[J].Journal of Shanghai University:English Edition,2010(2):12―16.
[4] Jean J Labrosse.嵌入式實時操作系統μC/OS-II[M].邵貝貝,譯.2版.北京:北京航空航天大學出版社,2003.
TP302.1
A
1006-5261(2012)02-0030-03
2012-02-22
河南省科技發展計劃項目(102102210429)
馬齊飛(1985―),男,河南太康人,助理講師.
〔責任編輯 牛建兵〕