林志謀
(廈門海洋職業(yè)技術(shù)學(xué)院 機(jī)電工程系,福建 廈門 361012)
一種基于手機(jī)藍(lán)牙的智能家居系統(tǒng)設(shè)計
林志謀
(廈門海洋職業(yè)技術(shù)學(xué)院 機(jī)電工程系,福建 廈門 361012)
開發(fā)一種基于手機(jī)藍(lán)牙的智能家居控制系統(tǒng),利用遠(yuǎn)端安卓手機(jī)發(fā)送家居設(shè)備控制指令,由本地端手機(jī)接收后,再利用手機(jī)藍(lán)牙發(fā)送給家居設(shè)備主控模塊,實現(xiàn)了遠(yuǎn)端安卓手機(jī)與家居設(shè)備的無線控制功能。
藍(lán)牙;單片機(jī);智能家居
隨著科學(xué)技術(shù)的發(fā)展和人們生活水平的提高,人們越來越注重自己生活環(huán)境的舒適﹑安全與便利。近年來興起的智能家居系統(tǒng)滿足了人們的這種需求,它有效地在家居環(huán)境中組建家庭信息網(wǎng)絡(luò),將各種家電產(chǎn)品結(jié)合成一個有機(jī)整體,對家電設(shè)備進(jìn)行集中或異地智能化控制與管理,并且能夠與外界進(jìn)行信息交流。無論是安卓手機(jī),還是IOS或者Windows手機(jī),藍(lán)牙已經(jīng)成為它們的標(biāo)準(zhǔn)配置,藍(lán)牙不僅已是可穿戴產(chǎn)品的必用技術(shù)之一,也廣為智能家電所采用,這使得采用手機(jī)藍(lán)牙來控制智能家居成為可能,而且絕大部分配置了藍(lán)牙的安卓智能手機(jī)價格很低廉,有利于降低利用手機(jī)藍(lán)牙控制智能家居的成本[1]。本文采用Android手機(jī)作為設(shè)備控制端,通過手機(jī)藍(lán)牙通信控制低成本的單片機(jī)控制系統(tǒng),由單片機(jī)控制系統(tǒng)再去控制各種家用電器,單片機(jī)控制系統(tǒng)可采用采集各種信號,比如煙霧信號,溫度濕度信號,人體感應(yīng)信號等,再發(fā)送回控制手機(jī),根據(jù)情況作出預(yù)警和提示,從而保障家庭的財產(chǎn)和生命安全。
基于手機(jī)藍(lán)牙的智能家居硬件系統(tǒng)主要包括遠(yuǎn)端安卓手機(jī),本地端安卓手機(jī),藍(lán)牙串通信模塊和單片機(jī)主控模塊等等,總體模塊框圖如圖1所示:
圖1 基于手機(jī)藍(lán)牙的智能家居硬件系統(tǒng)總體模塊框圖
1.1 本地單片機(jī)主控模塊
本文采用AT89S51,是一個低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP的可反復(fù)擦寫1 000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度﹑非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,而且運(yùn)用于電路設(shè)計時具備ISP在線編程技術(shù)[1]。它具備上面所述的所有特點(diǎn),能以很高的性價比來滿足我們的設(shè)計需求。
1.2 HC-05 嵌入式藍(lán)牙串口通訊模塊
本文采用的是HC-05 嵌入式藍(lán)牙串口通訊模塊,HC05 模塊,是 ALIENTEK 生成的一款高性能主從一體藍(lán)牙串口模塊[2],可以同各種帶藍(lán)牙功能的電腦﹑藍(lán)牙主機(jī)﹑手機(jī)﹑PDA﹑PSP 等智能終端配對,該模塊支持非常寬的波特率范圍:4 800~1 382 400,并且模塊兼容 5 V 或 3.3 V 單片機(jī)系統(tǒng),可以很方便與您的產(chǎn)品進(jìn)行連接。使用非常靈活﹑方便。與單片機(jī)串口連接時,兩者之間相互可以讀寫。例如單片機(jī)給HC-05傳遞數(shù)據(jù),即單片機(jī)向HC-05寫數(shù)據(jù),HC-05從單片機(jī)讀取數(shù)據(jù),那么串口連接處單片機(jī)的寫端P3.1引腳(TXD)就與HC-05讀端(RXD)相連,反之藍(lán)牙向單片機(jī)傳遞數(shù)據(jù)時,HC-05寫端(TXD)與單片機(jī)的讀端P3.0引腳(RXD)相連。藍(lán)牙設(shè)置決定了藍(lán)牙模塊自動連接工作后的角色,主角色(Master)會自動搜索配對連接,從角色(Slave)只被動接受連接,不會主動搜索,回環(huán)角色(Loopback),屬于被動連接,接收遠(yuǎn)程藍(lán)牙主設(shè)備數(shù)據(jù)并將數(shù)據(jù)原樣返回給遠(yuǎn)程藍(lán)牙主設(shè)備。此處HC-05模塊和手機(jī)藍(lán)牙通信,手機(jī)可以主動建立連接,所以HC-05可以使用從角色。
1.3 本地安卓手機(jī)
本地安卓手機(jī)通過藍(lán)牙功能與HC-05藍(lán)牙模塊通信,通過本地控制端APP實現(xiàn)對HC-05藍(lán)牙模塊通信搜索匹配和通信,可以通過該APP發(fā)送對家居設(shè)備的控制指令,比如打開或者關(guān)閉,同時可以接收家居設(shè)備返回的一些數(shù)據(jù)信息。本地安卓手機(jī)還可以接收遠(yuǎn)端安卓手機(jī)的控制指令,實現(xiàn)對家居設(shè)備的控制。
1.4 遠(yuǎn)端安卓手機(jī)
遠(yuǎn)端安卓手機(jī)通過遠(yuǎn)端控制APP以短信的形式與本地安卓手機(jī)實現(xiàn)通信,短信內(nèi)容主要包括密碼和家居設(shè)備控制指令。
1.5 繼電器模塊
單片機(jī)主控模塊接受遙控指令后,由單片機(jī)的一個管腳配合三極管和相應(yīng)的繼電器電路控制家居設(shè)備的開關(guān)。以控制電風(fēng)扇開關(guān)為例,將控制電風(fēng)扇開關(guān)的單片機(jī)引腳設(shè)定為P1^1,當(dāng)該引腳為高電平時繼電器吸合,電風(fēng)扇開,當(dāng)為低電平時繼電器斷開,電風(fēng)扇關(guān)。電路圖如圖2所示。
2.1 單片機(jī)端軟件的設(shè)計
單片機(jī)端軟件采用C51語言的編程,開發(fā)環(huán)境為Keil,在本設(shè)計中只需完成藍(lán)牙基本數(shù)據(jù)傳輸即可。此部分軟件包括初始化﹑藍(lán)牙交互﹑處理數(shù)據(jù)三個部分,單片機(jī)端藍(lán)牙基本數(shù)據(jù)傳輸模塊程序主要流程如圖3所示。
圖2 繼電器模塊電路圖
圖3 單片機(jī)端藍(lán)牙基本數(shù)據(jù)傳輸模塊程序主要流程圖
初始化包括系統(tǒng)初始化和藍(lán)牙初始化。系統(tǒng)初始化包括系統(tǒng)時鐘初始化﹑管腳分配﹑串口初始化﹑定時器初始化等,藍(lán)牙初始化是通過UART給藍(lán)牙模塊發(fā)送一系列初始化指令,藍(lán)牙模塊返回事件,交互完成一系列的復(fù)位﹑鑒權(quán)﹑讀地址等初始化操作。
藍(lán)牙交互就是初始化完成后,若本地藍(lán)牙作從設(shè)備,則等待遠(yuǎn)端藍(lán)牙設(shè)備的建鏈請求,如果接受請求,則繼續(xù)等待建鏈成功,獲得一個連接句柄,從而進(jìn)行數(shù)據(jù)交換;若本地藍(lán)牙作主設(shè)備,則進(jìn)行一系列主動查詢﹑建鏈﹑發(fā)送數(shù)據(jù)﹑斷鏈等操作。
處理數(shù)據(jù)就是將有效數(shù)據(jù)轉(zhuǎn)存到相應(yīng)位置等一系列后續(xù)操作。需要注意的是,在程序的主循環(huán)中,需要實時判斷串口接收緩沖區(qū)是否有數(shù)據(jù),有數(shù)據(jù)則調(diào)用HCI狀態(tài)機(jī)進(jìn)行處理。
2.2 本地安卓手機(jī)軟件的設(shè)計
本地安卓手機(jī)APP采用Eclipse作為開發(fā)環(huán)境,利用JAVA語言編寫,主要完成與HC-05藍(lán)牙串口模塊的通信,并發(fā)送相應(yīng)的控制指令。Android提供了許多藍(lán)牙API來執(zhí)行這些不同的操作:掃描其他藍(lán)牙設(shè)備,獲取配對設(shè)備列表;連接到通過服務(wù)發(fā)現(xiàn)其他設(shè)備。Android提供BluetoothAdapter類進(jìn)行藍(lán)牙通信。主要流程圖如圖4所示:
圖4 本地安卓手機(jī)與HC-05藍(lán)牙模塊的程序主要流程圖
2.3 遠(yuǎn)端安卓手機(jī)軟件的設(shè)計
遠(yuǎn)端安卓手機(jī)APP也采用Eclipse作為開發(fā)環(huán)境,利用JAVA語言編寫。主要利用短信完成家居設(shè)備控制指令和密碼的發(fā)送和狀態(tài)信息的接收。短信功能用到了SmsManager和SmsMessage兩個主要類,最簡單的發(fā)送短信條件就是有電話號碼和還有控制指令的短信內(nèi)容,調(diào)用SmsManager的sendTextMessage方法即可,主要流程圖如圖5所示:
圖5 遠(yuǎn)端安卓手機(jī)發(fā)送控制指令或接收狀態(tài)信息
藍(lán)牙功能已經(jīng)成為安卓手機(jī)或者蘋果手機(jī)的標(biāo)準(zhǔn)配置,安卓手機(jī)由于價格等優(yōu)勢,得到了普及,市場份額高。本文開發(fā)了一種基于手機(jī)藍(lán)牙的智能家居控制系統(tǒng),在該系統(tǒng)中,利用遠(yuǎn)端安卓手機(jī)通過短消息發(fā)送家居設(shè)備的各種控制指令,比如開啟﹑關(guān)閉指令,由本地端手機(jī)通過接收短消息后,再經(jīng)過手機(jī)藍(lán)牙模塊傳給單片機(jī)主控制模塊,并在單片機(jī)主控端編寫了一個基本的藍(lán)牙及模擬家電控制程序,從而實現(xiàn)了遠(yuǎn)端安卓手機(jī)與家居設(shè)備的無線控制功能,整個系統(tǒng)成本較為低廉,可以不用使用第三方服務(wù)器實現(xiàn)對家居設(shè)備的控制,安全性能和私密性相對較高,為智能家居的普及降低了價格門檻。
[1] 張芹.基于移動互聯(lián)網(wǎng)的智能家居終端控制系統(tǒng)的設(shè)計與研究[D]. 南京:南京理工大學(xué),2014 .
[2] 楊長龍. 基于藍(lán)牙技術(shù)的智能家居控制器的研究與設(shè)計[D]. 北京:北京工業(yè)大學(xué),2013.
A Design of Smart Home System Based on the Bluetooth of Mobile Phone
LIN Zhimou
(Department of Mechanical and Electrical Engineering,Xiamen Ocean Vational College,Xiamen Fujian 361012, China)
This paper develops an intelligent control system based on bluetooth for smart home furnishing. In this system,the control commands are sent by the local mobile phone to control the smart home furnishing,which come from remote android mobile phone. In this way,the communication between the remote android mobile phone and smart home furnishing is achieved.
bluetooth;SCM;smart home
TN871
:B
:1672-6138(2017)01-0010-03
10.3969/j.issn.1672-6138.2017.01.003
[責(zé)任編輯:吳卓]
2016-12-12
福建省教育廳科技項目(JA14405)。
林志謀(1978—),男,福建廈門人,碩士,講師,高級系統(tǒng)分析師,研究方向:通信技術(shù)﹑嵌入式系統(tǒng)和移動應(yīng)用開發(fā)。