馬齊飛,陳富軍
(1.中國人民解放軍91292部隊 工程機械教研室,河北 高碑店 074000;
2.黃淮學院 電子科學與工程系,河南 駐馬店 463000)
基于ZigBee的智能家居控制系統(tǒng)設計
馬齊飛1,陳富軍2
(1.中國人民解放軍91292部隊 工程機械教研室,河北 高碑店 074000;
2.黃淮學院 電子科學與工程系,河南 駐馬店 463000)
以經(jīng)濟、實用、人性化為目標,利用最新ARM V7架構的STM32F107VX微處理器以及GPRS實現(xiàn)網(wǎng)絡接入和遠程控制,設計了一個低成本、低功耗的智能家居控制系統(tǒng).該系統(tǒng)通過μCOS II進行調度,基于ZigBee進行系統(tǒng)內(nèi)部網(wǎng)絡無線連接,實現(xiàn)了家居安防、家電控制、照明控制、環(huán)境監(jiān)測、燃氣報警等智能化控制.
Bee技術;無線自組網(wǎng);STM32F107VX微處理器;家居物聯(lián)網(wǎng)
常見的智能家居控制系統(tǒng)多以有線方式組建,該方式存在布線復雜以及價格高等問題,使得智能家居系統(tǒng)在龐大的中低端用戶群中應用較少.近距離無線通訊中的 WiFi技術以及藍牙技術同樣存在著實現(xiàn)復雜、成本高等不利因素.另外,當前的智能家居系統(tǒng)尚無相互連接的統(tǒng)一標準,致使系統(tǒng)的可擴展性和可維護性差.因此,本文基于ZigBee無線組網(wǎng)技術對智能家居控制系統(tǒng)進行設計研究,以期提高智能家居系統(tǒng)的經(jīng)濟性、實用性、可擴展性、可維護性和在低端用戶群的普及性.
基于 ZigBee技術實現(xiàn)智能家居無線自組網(wǎng)是數(shù)字化家庭和數(shù)字社區(qū)建設和應用的一個研究熱點[1].隨著技術的不斷發(fā)展及人們對智能家居領域實踐認識的深入,智能家居控制系統(tǒng)已從初始的以計算機為控制中心,逐漸轉向以計算機為管理中心,以嵌入式家庭網(wǎng)關為控制核心;布線也由原來單一有線方式轉向以無線和有線相結合的混合布線方式;家居智能控制系統(tǒng)正在朝著家居物聯(lián)網(wǎng)化的方向發(fā)展.
Zigbee技術是一種低數(shù)據(jù)速率、低復雜度和低成本的近距離雙向無線通訊技術,符合 IEEE802.15.4 MAC層規(guī)范,是為近距離無線通訊所制定的協(xié)議標準[2].Zigbee具有自組織網(wǎng)絡、自適應路由、超低功耗、高接收靈敏度、支持多節(jié)點數(shù)、實時性強、安全性高、低成本等特點.基于ZigBee技術進行無線組網(wǎng),將解決智能家居中各子節(jié)點模塊間相互連接標準相統(tǒng)一的問題.它可以方便地實現(xiàn)各種智能家居產(chǎn)品的互聯(lián)互通,從而解決數(shù)字化家庭建設中的“信息孤島”問題,同時也會為實現(xiàn)數(shù)字化社區(qū)建設打下基礎[3].
本智能家居控制系統(tǒng)采用STM32F107VX微處理器,它是意法半導體公司推出的 ARM V7架構、Contex-M3內(nèi)核的STM32互連型系列微控制器中性能較強的一款芯片.該微處理器芯片是32位的內(nèi)核,采用了哈佛結構,并擁有獨立的指令總線和數(shù)據(jù)總線,取指和數(shù)據(jù)訪問并行工作.STM32F107VX先進的中斷處理技術、高性能、低功耗、高代碼密度、小硅片面積、低成本以及支持實時操作系統(tǒng)μCOS II等特性,使其成為開發(fā)智能家居控制系統(tǒng)的首選.Contex-M3內(nèi)核架構的微處理器內(nèi)部基本結構如圖 1所示.STM32F107VX微處理器具有內(nèi)置的以太網(wǎng)MAC(介質訪問控制)、專用的 DMA控制器,以及 ZigBee、WiFi、RJ45等網(wǎng)絡通信接口,支持10M/100M自適應網(wǎng)絡.其豐富、靈活的通信接口在集中式系統(tǒng)尤其是家居物聯(lián)網(wǎng)中能獲得靈活和成本經(jīng)濟的網(wǎng)絡化連接,是很理想的通信中樞器件.
圖1 Contex-M3內(nèi)核架構的微處理器基本結構
智能家居控制系統(tǒng)應具有外部網(wǎng)絡接入、內(nèi)部網(wǎng)互連、信息存儲、設備監(jiān)控以及網(wǎng)絡安全等功能,并使子網(wǎng)內(nèi)部各終端節(jié)點之間可相互通信,以實現(xiàn)自動控制和遠程控制.根據(jù)智能家居控制系統(tǒng)的功能要求,各功能模塊和外部接口主要由微處理器、鍵盤控制及LCD顯示、無線收發(fā)節(jié)點模塊(協(xié)調器)、以太網(wǎng)接口模塊、GPRS無線通訊模塊、RS485接口和電源以及家庭網(wǎng)絡內(nèi)部各無線收發(fā)子節(jié)點等部分組成,具體如圖2所示.
圖2 智能家居控制系統(tǒng)組成
由圖2可知,智能家居控制系統(tǒng)的底層子網(wǎng)包括家居安防節(jié)點、室內(nèi)環(huán)境監(jiān)測節(jié)點、煙霧信號采集節(jié)點、家電控制節(jié)點、燈光照明控制節(jié)點和其他應用子節(jié)點等.控制系統(tǒng)以STM32F107VX微處理器為核心通過鍵盤控制、LCD顯示和外圍GPRS模塊自動或遠程監(jiān)控家庭各個子模塊的工作狀態(tài),并在必要時自動發(fā)送信息和報警.系統(tǒng)子節(jié)點分別把各自采集的信號進行預處理,然后通過無線收發(fā)子節(jié)點傳送到主控制器的收發(fā)子節(jié)點模塊,由嵌入式實時操作系統(tǒng)μCOS II調度TCP/IP協(xié)議棧將數(shù)據(jù)打包運行于嵌入式WEB服務器.客戶端既可通過本地 PC實現(xiàn)現(xiàn)場級監(jiān)控控制,也可由GPRS模塊或以太網(wǎng)模塊實現(xiàn)訪問接入,通過手機短信息進行遠程控制.
智能家居控制系統(tǒng)由硬件和軟件兩部分組成.硬件設計部分包括主控制器和各種子功能實現(xiàn)模塊,即以STM32F107VX微處理器為核心,采用嵌入式實時操作系統(tǒng)μC/OS II,基于ZigBee技術進行無線組網(wǎng)實現(xiàn)智能家居控制.軟件設計部分主要包括μC/OS II操作系統(tǒng)在STM32F107VX微處理器內(nèi)核的移植、嵌入式 ZigBee協(xié)議棧的實現(xiàn)和應用主程序及子程序的實現(xiàn).
系統(tǒng)主控芯片采用STM32F107VX微處理器,主要負責Internet網(wǎng)絡控制、基于GPRS網(wǎng)絡的遠程控制、內(nèi)部組網(wǎng)管理等.該芯片支持 IEEE1588精確時間協(xié)議,能精確實現(xiàn)時間同步,并為核心和外設提供靈活的高級時鐘配置方案,可在成本優(yōu)化的同時為以太網(wǎng)MAC、PHY、CAN、USB和音頻類I2S提供時鐘.STM32F107VX微處理器還具有ZigBee無線網(wǎng)絡通訊接口,可方便地實現(xiàn)ZigBee模塊組網(wǎng)設計.
在家居無線網(wǎng)絡中,協(xié)調器節(jié)點采用Chipcon公司的CC2520芯片,負責ZigBee網(wǎng)絡的啟動、配置、組建、節(jié)點的加入與刪除等網(wǎng)絡維護工作.家居內(nèi)部子網(wǎng)無線收發(fā)節(jié)點均采用CC2530芯片實現(xiàn)路由器和終端設備功能.路由器的作用主要是允許其他設備加入網(wǎng)絡,實現(xiàn)多跳路由,協(xié)助子終端設備通信.終端設備無需維持網(wǎng)絡結構,可以處于睡眠或者喚醒狀態(tài).由于CC2530已固化了ZigBee 2007協(xié)議棧,因此只需加上簡單的外圍電路即可構成子網(wǎng)的收發(fā)模塊,實現(xiàn)近距離自組網(wǎng)通信功能.
鍵盤控制及 LCD顯示模塊主要由矩陣鍵盤和LCD顯示器構成,完成控制系統(tǒng)現(xiàn)場級I/O的顯示功能;以太網(wǎng)通訊模塊由Siemens芯片6GK7343完成物理層的轉換,實現(xiàn)STM32F107VX微處理器與遠程監(jiān)控PC數(shù)據(jù)的交換.
GPRS通訊模塊采用SIM300模塊,其提供標準的RS-232接口,通過點對點協(xié)議可實現(xiàn)短信息的收發(fā)和無線上網(wǎng),實現(xiàn)對系統(tǒng)內(nèi)部各子模塊的無線監(jiān)控.該模塊只需通過增加相應的功能實體和對現(xiàn)有的基站系統(tǒng)進行部分改造即可實現(xiàn)分組交換.在整個無線傳感器網(wǎng)絡中,ZigBee網(wǎng)絡把采集到的數(shù)據(jù)通過 RS-485上傳到監(jiān)控中心,也可通過GPRS或Internet進行遠程控制.ZigBee網(wǎng)絡面向短距離通信,而 GPRS和Internet面向遠距離的通信,兩者通過控制系統(tǒng)聯(lián)到一起,可優(yōu)勢互補,實現(xiàn)數(shù)據(jù)的遠距離自動傳輸控制.
4.2.1 μC/OS II的移植
實時操作系統(tǒng)μC/OS II是整個智能家居控制系統(tǒng)中調度和控制的核心,負責連接底層硬件和上層的ZigBee協(xié)議棧和應用程序,為用戶提供API函數(shù).在系統(tǒng)開發(fā)應用時,用戶無需關心底層的硬件以及驅動程序,只需利用μC/OS II提供的API函數(shù)即可開發(fā)應用,減輕了開發(fā)應用程序的工作量和難度,避免了在微控制器上直接進行ZigBee協(xié)議棧的開發(fā).
μC/OS-II在STM32F107VX微處理器中的移植主要是完成OS_CPU.H、OS_CPU_A.S和OS_CPU_C.C文件的移植,同時也需要完成一些與移植相關的文件,如 μC/OS-II系統(tǒng)的配置文件和引導系統(tǒng)的啟動文件[4].OS_CPU.H包括了用 define語句定義的數(shù)據(jù)類型及與處理器相關的宏和函數(shù)說明.OS_CPU_A.S包括了與移植有關的4個匯編語言函數(shù),即開中斷、關中斷、上下文切換和時鐘中斷.OS_CPU_C.C包括OS_CPU_C.C包括10個C語言函數(shù),用來初始化任務棧和任務控制塊,實現(xiàn)任務的創(chuàng)建和刪除,完成任務的切換和統(tǒng)計,使用戶能先處理需應急的事務和將CPU置于低功耗模式,并可把與OS有關的初始化代碼放在OSInit( )函數(shù)中,增強代碼的簡潔性.μC/OS-II移植的實現(xiàn)過程如圖3所示.
圖3 μC/OS II在STM32F107VX微處理器中的移植
4.2.2 ZigBee 2007協(xié)議棧的初始化
實時操作系統(tǒng)μC/OS-II移植入STM32F107VX微處理器后,應由操作系統(tǒng)完先成各模塊的驅動和配置以及分配系統(tǒng)資源,再進行ZigBee 2007協(xié)議棧開發(fā).具體初始化流程是:(1) 啟動協(xié)調器模塊CC2520,建立網(wǎng)絡成功后,在LCD顯示器上會顯示主控界面以及網(wǎng)絡ID號;(2) 打開路由器以及各終端子節(jié)點的電源,各節(jié)點自動入網(wǎng),同時顯示自己的網(wǎng)絡地址、父節(jié)點的網(wǎng)絡地址和節(jié)點類型;(3) 利用ZigBee協(xié)議棧的綁定功能把控制器模塊和各子節(jié)點綁定.
4.2.3 系統(tǒng)應用軟件設計
實時操作系統(tǒng)μC/OS-II的多任務可實現(xiàn)應用程序的模塊化開發(fā)和應用,每個模塊功能由一個任務實現(xiàn).智能家居控制系統(tǒng)可以分為數(shù)據(jù)采集、數(shù)據(jù)分析處理和通信三大部分.數(shù)據(jù)采集部分主要利用無線收發(fā)子節(jié)點采集各底層子模塊經(jīng)模數(shù)轉換后的電流、電壓、頻率等參數(shù);數(shù)據(jù)分析處理部分主要計算電流、電壓的有效值等;通信部分用來實現(xiàn)遠程、網(wǎng)絡化測控,并向上位機部分傳送系統(tǒng)內(nèi)部各模塊相關參數(shù),同時接收上位機的命令參數(shù)進行實時控制.各節(jié)點數(shù)據(jù)在無線節(jié)點模塊中的傳輸如圖4所示.無線收發(fā)模塊將接收到的無線信號通過內(nèi)部一系列的硬件處理,將信號轉換為數(shù)據(jù)存放在接收緩沖區(qū)中,通過直接內(nèi)存讀取方式送入數(shù)據(jù)存儲區(qū)中,再通過串口或GPRS將接收到的數(shù)據(jù)傳到控制中心.在實時操作系統(tǒng) μCOS-II多任務的基礎上,應用程序充分利用了系統(tǒng)資源,提高了程序效率.
圖4 數(shù)據(jù)在無線收發(fā)主模塊中的傳輸過程
本文研究的智能家居控制系統(tǒng)基于 ZigBee無線組網(wǎng)技術并結合具有Contex-M3內(nèi)核架構、功能強、低功耗、低成本的STM32F107VX微處理器實現(xiàn),由于充分考慮了智能家居應用中最為人們關心的經(jīng)濟和實用問題,因此有利于在中低端用戶中推廣.
[1] 黎輝.ZigBee技術在中國智能家居中的應用[J].智能建筑電氣技術,2009(4):80―81.
[2] 李文仲,段朝玉.ZigBee無線網(wǎng)絡技術入門與實戰(zhàn)[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.嵌入式實時操作系統(tǒng)μC/OS-II[M].邵貝貝,譯.2版.北京:北京航空航天大學出版社,2003.
TP302.1
A
1006-5261(2012)02-0030-03
2012-02-22
河南省科技發(fā)展計劃項目(102102210429)
馬齊飛(1985―),男,河南太康人,助理講師.
〔責任編輯 牛建兵〕