沈炎松
(漳州職業技術學院 電子工程系,福建 漳州 363000)
一種基于STM32的遠程無線智能家居控制系統
沈炎松
(漳州職業技術學院 電子工程系,福建 漳州 363000)
本文設計了以STM32單片機為控制核心的智能家居控制系統.該設計綜合應用GSM、2.4G等無線通信技術,并提出了一種改進的LEACH無線傳感器組網協議,實現對家居的遠程控制.實驗表明,該系統運行穩定,具有廣泛的應用前景.
STM32;智能家居;遠程無線;LEACH協議
所謂智能家居[1]是指利用微處理電子技術來集成或控制家中的電子電器產品或系統,例如電腦設備、保全系統、暖氣及冷氣系統、照明系統、視訊及音響系統等.近年來,隨著人們生活水平的不斷提高以及計算機及網絡通信技術的快速發展,家居系統越來越智能化.智能家居逐漸成為未來家居生活的發展方向[2].當前開發的有線智能家居產品存在布線麻煩、電纜使用量大、擴展麻煩等問題,因此在實現家居智能化同時,研制一套性能穩定且能無線組網的智能家居控制裝置便顯得很有必要.
本文設計了以STM32單片機為核心的智能家居系統,將GSM、藍牙、2.4G等無線通信技術、傳感器技術等相融合,用戶經密碼驗證進入智能家居系統后,通過觸摸屏設定室內家居工作,也可以利用手機藍牙功能近距離控制家居工作,還可以用GSM手機對家居環境進行遠程監控.
系統硬件平臺選用是進行本例智能家居控制系統設計的基礎,它直接影響整個系統的準確性、節能性和穩定性.本系統設計主要選用硬件平臺如下:
1.1 STM32F103VET6及STC12C5A60S2單片機
系統主控制器的微處理器選用STM32F103VET6單片機,從控制器處理器選用STC12C5A60S2單片機.
STM32FI03VET6是意法半導體公司的一款超低功耗單片機,工作頻率可達72MHz,片上集成64KB的FLASH存儲器、20KB的SRAM存儲器以及豐富的增強I/O端口,所有外設通過兩條APB總線進行連接,并且都可匹配標準的通信接口.
STC12C5A60S2是宏晶科技(STC)生產的一款高速增強型8051單片機,具有功耗低、抗干擾能力強等特點,芯片內部自帶60K的FLASH存儲器,內置8路10位精度的高速ADC轉換器和2路PWM.
1.2 2.4G無線模塊NRF24L01
nRF24L01是一款工作在2.4-2.5GHZ世界通用ISM頻段的單片無線收發器件芯片,內部集成頻率發生器、功率放大器、晶體振蕩器、調制解調器等功能模塊.其工作頻道和輸出功率可以通過程序進行設置,在工作時具有極低能耗.
1.3 GSM模塊
GSM模塊采用西門子公司的TC35,可工作在900kHz和1800kHz兩個頻段.TC35主要由GSM基帶處理器、GSM射頻模塊、電源模塊、閃存、ZIF鏈接器、天線接口等部分組成[3],具有信號傳輸快、性能穩定功耗低等特點.
1.4 藍牙通信模塊
本例選用正點原子ATK-HC05主從一體藍牙串口模塊,該模塊可以同各種帶藍牙功能的智能終端配對,支持波特率范圍:4800-1382400.
1.5 TFT觸摸顯示屏
選用4.3寸TFT觸摸顯示屏,觸摸屏操作產生電平信號,經過轉換處理后通過串口送至主控制器STM32FI03VET6進行處理并執行相應操作.
本系統由一個主控制器、多個從控制器組成,主控制器部分由GSM模塊、2.4G無線收發模塊、藍牙模塊、液晶觸摸顯示模塊、報警電路等構成.從控制器包括2.4G無線收發模塊、信號采集及家電控制模塊等,系統結構框圖如圖1-1所示.
該系統主控制器以藍牙接收、觸摸屏輸入以及GSM短信等方式接收用戶設置數據,主控制器通過2.4G模塊與各從控制器進行通信.系統通過密碼驗證后進入主顯示界面,實時接收并顯示各從控制器狀態信息,在室內用戶可以利用手機內置藍牙功能實現對各家居的實時控制;在戶外,可以通過發送短信指令,實現戶外控制;主控制器接收各控制指令,最終完成各項控制操作,從而實現戶內近距離和戶外遠距離的無線控制.

圖1-1 智能家居控制系統總體框圖
本智能家居系統的主要功能及操作如下:
2.1 密碼驗證
用戶設定密碼預先存入主控制器單片機內置EEPROM,為避免家里兒童在觸摸屏上誤操作以及手機丟失被進行非法操作等行為,用戶使用觸摸屏設置控制功能、GSM短信息遠程控制功能都要輸入密碼驗證,以提高設備安全性.單片機獲取輸入的密碼信息,識別到密碼準確之后才響應此行為.
2.2 短信息控制
用戶通過手機短信息實現遠程控制,控制指令使用“密碼+指令”的格式發送,主控制器通過GSM模塊接收短信數據,經STM32單片機讀取后,數據進行識別、處理,如果密碼準確,主控制器通過2.4G無線模塊發送指令至從控制器,從控制器接收數據后,完成后續控制操作.
2.3 手機藍牙按鍵控制
用戶可以利用手機安裝藍牙串口助手APP軟件,與主控制器藍牙模塊配對成功后進入鍵盤模式可進行近距離無線輸入控制,主控制器單片機接收控制指令后,對指令數據進行分析、處理后,將控制數據送至2.4G無線模塊,由無線模塊發送指令給從控制器,實施控制操作.
2.4 觸摸屏控制
觸摸顯示屏具有實時顯示、設置、控制功能,觸摸操作產生的電平信號,經過轉換后通過串口傳送至STM32單片機進行處理.觸摸顯示屏按下設置進入設置界面之前,先進行密碼驗證,輸入密碼后,STM32單片機獲取輸入數據,進行比較判斷,若密碼正確將進入設置界面,否則不能進入設置界面,在進入設置界面后用戶可以進行密碼重新設置、保存.
系統的軟件設計可分主控制器程序設計、從控制器程序設計,從控制器按功能實現不同分為家電控制類從控制器程序設計、信息采集類從控制器程序設計.程序模塊主要由底層驅動程序、觸摸顯示子程序、2.4G無線通信子程序、

圖1-2 主控制器控制流程圖

圖1-3 家電控制類從控制器控制流程圖

圖1-4 信息采集類從控制器控制流程圖

其中,r是當前輪數,p是節點成為簇頭節點的概率,G是目前1/p輪中還沒有成為簇頭的節點集合.
由于閾值公式中沒有考慮當前節點能量的影響,且LEACH采用隨機選擇輪流成為簇頭的算法,其參考指標是節點成為簇頭的次數;而節點的加入是以接收信號的強弱為依據,因此在成簇過程中會出現簇內節點過多的簇(極大簇)和簇內節點過少的簇(極小簇)[4],因此,該算法難以達到平衡節點能耗的預期目標,當網絡中各節點能量不均衡時,使用就不理想.通過分析算法可見,隨機數產生的大、小與該節點成為簇頭的概率緊密相關,為了平衡各節點能耗,延長網絡使用壽命,可以對節點產生隨機數據進行處理,如式(2).藍牙通信子程序及GSM子程序等部分組成.主控制器控制流程如圖1-2所示,家電控制類從控制器控制流程如圖1-3所示,信息采集類從控制器控制流程如圖1-4所示.

3.1 無線傳感器節點路由算法設計
本例中,考慮主控制器匯聚節點功能較強,并且帶有GSM模塊、藍牙模塊及觸摸顯示模塊電路,因此主控制器供電使用變壓器轉換電壓直接供電,而各從控制器節點使用電池供電,各從控制器節點非常容易移動、維護.因此,如何將從控制器節點能耗控制到最低顯得尤為重要.
本例采用一種改進的LEACH協議,在LEACH協議中,當節點隨機分配到的數據rand小于閾值T(n),則此節點作為簇頭節點,并向其他節點廣播消息.閾值計算公式為:
其中rand為初始隨機產生的0-1之間的數據,En_init為n號節點的初始能量,En_now為n號節點的當前剩余能量.
由式(2)可見,節點當前剩余能量越多,通過公式(2)最終生成的隨機數就越小,其成為簇頭節點的概率就越大.由此可見,通過對LEACH算法的設計和改進可實現節點能耗平衡,提高能量效率,延長各網絡節點壽命.
3.2 GSM模塊軟件設計
TC35模塊采用AT賀氏指令,GSM模塊與單片機通過串口連接,AT命令是單片機與GSM模塊進行通信的一套指令集,單片機可以通過向GSM模塊發送AT命令,實現GSM模塊短信收發等操作,本系統GSM設置在PDU模式進行短信息接收和發送.與SMS收發短信有關的部分AT命令[5]如下:
AT+CMGC:發送一條短消息命令
AT+CMGR:讀出短消息
AT+CMGS:發送短消息
AT+CMGW:向SIM內存中寫入待發的短消息
AT+CMSS:從SIM內存中發送短消息
AT+CSCA:設置短消息服務中心地址
AT+CNMI:顯示新收到的短消息
3.3 nRF24L01無線模塊軟件設計時序
無線網絡節點間的有效通信是智能家居系統運行穩定的基礎,實現各節點間通信無誤碼是無線模塊程序設計的核心.本例中,nRF24L01設置工作在增強型的ShockBurst TM模式下,單片機先通過指令初始化nRF24L01,然后使能芯片片選引腳,并配置芯片工作模式(發送和接收模式)后進行數據傳輸[6].
為了降低信號在無線傳輸過程中的誤碼率,本例程序設計數據在傳輸過程增加附加校驗碼,附加校驗碼部分包含“節點標識碼+奇偶校驗碼”兩部分.接收節點通過nRF24L01接收完數據包后數據處理分離出“數據+驗證碼”兩部分,對節點標識碼、奇偶校驗碼進行雙重驗證.當節點標識碼和奇偶校驗碼都準確時,才保存數據并進入后續數據處理,否則,拋棄數據后進入后續操作.本例設計實物測試結果表明,使用雙重驗證技術與無驗證碼數據傳輸相比,數據傳輸誤碼率更低,系統工作更為穩定性,抗干擾能力更強.
本文提出一基于STM32遠程無線智能家居控制系統設計方案.該方案以STM32F103VET6及STC12C5A60S2單片機為控制核心,融合GSM通信、2.4G無線通信、觸摸顯示等技術實現家居智能化控制功能.該系統樣機經過調試和測試運行穩定、反映靈敏,并具有操作簡便、安全性高、節能環保、成本低、易升級等優點.設計成果將為智能家居等測控領域的研究以及家居智能化的進一步推廣提供重要指導意義.
〔1〕中國智能家居網.http://www.Smarthomecn.com.2012.
〔2〕張逢雪,王香婷,王通生,等.基于STM32單片機的無線智能家居控制系統[J].自動化技術與應用,2011,30(8):98-101.
〔3〕王文濤,黎杰,李賀,等.基于GSM的智能家居安防系統設計[J].中國科技博覽,2012(14):276-277.
〔4〕呂濤,朱清新,張路橋,等.一種基于LEACH協議的改進算法[J].電子學報,2011,39(06):1405-1409.
〔5〕羅海兵.基于GSM短消息的智能家居系統的研究[D].長春:長春工業大學,2007.
〔6〕管來奇,吳闖,等.智能家居系統設計[J].人工智能及識別技術,2014(06):77-79.
TP273
A
1673-260X(2017)05-0015-03
2017-01-15
2015年福建省中青年教師教育科研項目(科技類)(JA15692)