岑毅

摘 要:近年來,智能家居在人們的生活起居中得到越來越多的應(yīng)用,通過各種無線技術(shù)與單片機技術(shù)的應(yīng)用,人們逐漸構(gòu)建起控制家庭設(shè)施與實施計劃任務(wù)的智能化系統(tǒng)。本文描述了一套基于8051單片機系統(tǒng)與時下流行的安卓系統(tǒng)設(shè)計而成的智能家居系統(tǒng)。通過本系統(tǒng),用戶能利用藍牙技術(shù)及紅外遙控技術(shù)實現(xiàn)對各種家庭設(shè)備的控制。這套系統(tǒng)具有功能豐富、控制效率高和價格低廉等優(yōu)點和較好的應(yīng)用前景。
關(guān)鍵詞:智能家居;單片機;安卓;藍牙
中圖分類號:TP315;TP273.5 文獻標識碼:A 文章編號:1003-5168(2018)07-0014-02
Research of Home Automation System Based on 8051
MCU and Android Platform
CEN Yi
(Department of Electro-mechanics, Guangdong Industry Polytechnic, Guangzhou Guangdong 510300)
Abstract: In recent years, the technology of home automation is playing a more and more important role in peoples everyday life. Combining different wireless communication and MCU technology, we are capable to build automation system which can organize our home. The home automation system described in this paper was based on the 8051MCU system and the popular android platform. By using this system, users are able control different kinds of home appliance and monitor their house.
Keywords: home automation;micro-controller;Android;Bluetooth
本文介紹的智能家居系統(tǒng)使用市面上常見的AT89C51單片機作為下位機控制芯片。AT89C51單片機具有體積小、低功耗、控制能力好和價格便宜等優(yōu)點。通過藍牙芯片連接單片機與安卓設(shè)備,使用安卓系統(tǒng)上的應(yīng)用程序,讀取單片機最小系統(tǒng)上的傳感器探測數(shù)據(jù),根據(jù)獲得的傳感器探測數(shù)據(jù),根據(jù)使用者的喜好對家居內(nèi)部的環(huán)境參數(shù)(如溫度、濕度、房間亮度)進行調(diào)節(jié),并通過安卓上位機的攝像頭對家居進行監(jiān)控,以達到家居智能化的目的。通過連接互聯(lián)網(wǎng),使用者可以通過本系統(tǒng)的紅外遙控功能對家居中的電器(如空調(diào)、電視等)進行遠程控制。本系統(tǒng)的原理如圖1所示。
1 系統(tǒng)設(shè)計
1.1 8051單片機系統(tǒng)
為了降低成本,筆者以ATMEL公司的AT89C51單片機為基礎(chǔ),用常用的電子元件搭建了8051最小系統(tǒng),以實現(xiàn)單片機的基本功能。最小系統(tǒng)由8051單片機、振蕩電路、電容器和程序下載器電路組成。連接好以后,在電源輸入VCC端輸入5V電壓后,此最小系統(tǒng)就能通過藍牙芯片接收用戶發(fā)來的指令,完成對家電設(shè)備的控制任務(wù)[1]。
1.2 藍牙設(shè)備
該系統(tǒng)使用安卓提供的Bluetooth Adapter與單片機上的藍牙模塊通信,當安卓上位機通過藍牙與單片機上的藍牙模塊連接后(通過輸入密碼,藍牙設(shè)備默認密碼是0000或1234),上位機上的APP創(chuàng)建一個Bluetooth Socket,用于和單片機上的藍牙模塊通信[2]。
該系統(tǒng)采用藍牙芯片連接8051最小系統(tǒng)和安卓設(shè)備,藍牙芯片的型號為HC06。此芯片上具有TXD、RXD兩個接口,分別通過杜邦線與8051單片機的RXD(P3.0)、TXD(P3.1)接口連接。
HC06藍牙模塊使用AT指令作為藍牙設(shè)置方式。如用手機向藍牙模塊發(fā)送“AT+BAUD1”命令,藍牙串口波特率設(shè)為1 200。發(fā)送“AT+NAMEname”,藍牙名稱設(shè)為name等[3]。具體命令清單可參照HC06模塊說明書。
1.3 安卓上位機程序設(shè)計
該系統(tǒng)采用安卓設(shè)備作為上位機。安卓設(shè)備(如廉價安卓手機)具有軟件開發(fā)調(diào)試簡便、集成眾多實用硬件(如攝像頭、麥克風(fēng)和重力控制器等)、擴展性強(可連接藍牙芯片等)和價格低廉等優(yōu)點[4],可用于開發(fā)智能家居控制系統(tǒng)和安全監(jiān)視系統(tǒng)。通過安卓開發(fā)工具ADT開發(fā)安卓應(yīng)用程序控制單片機,并通過JSP服務(wù)器端程序,使用戶能通過互聯(lián)網(wǎng)遠程監(jiān)測與控制該智能家居系統(tǒng)。本系統(tǒng)中用到的應(yīng)用程序由客戶端網(wǎng)絡(luò)通信程序、Internet服務(wù)器端組成。
筆者以用戶通過遠程控制安卓上位機打開空調(diào)調(diào)整家中空調(diào)溫度的過程為例,詳細介紹該系統(tǒng)的工作原理。系統(tǒng)工作流程為:①建立空調(diào)溫度控制頁面,用戶用一個Edit Text控件輸入設(shè)定的溫度,然后把設(shè)置的溫度值通過互聯(lián)網(wǎng)發(fā)送到Tomcat服務(wù)器;②Tomcat服務(wù)器上的JSP網(wǎng)頁接收到新設(shè)置的溫度值后,修改數(shù)據(jù)庫中相應(yīng)的值,等待安卓上位機檢測;③家中的安卓上位機通過互聯(lián)網(wǎng)連接到Tomcat服務(wù)器,并以3s一次的頻率不斷檢測Tomcat服務(wù)器上MySQL數(shù)據(jù)庫中的相應(yīng)值,當相應(yīng)值符合條件時,安卓上位機通過藍牙芯片控制8051單片機向家中空調(diào)發(fā)送紅外信號,將空調(diào)溫度設(shè)置為用戶設(shè)置值[5]。
1.4 客戶端網(wǎng)絡(luò)通信程序
該系統(tǒng)安卓上位機采用Apache提供的Http Client接口進行網(wǎng)絡(luò)通信,Http Client對JAVA提供的訪問網(wǎng)絡(luò)方法進行封裝,使用HttpGet、HttpPost和HttpResponse類進行數(shù)據(jù)輸出和輸入操作。用戶可遠程連接Tomcat服務(wù)器,從而對Android上位機發(fā)送指令,進行如開啟家中空調(diào)、開啟熱水器、打開窗簾等一系列操作[6]。
1.5 Internet服務(wù)器端程序設(shè)計
該系統(tǒng)使用JSP編寫服務(wù)器端程序,并使用XAMPP服務(wù)器軟件作為JSP集成開發(fā)環(huán)境套件。此套件集成Tomcat服務(wù)器、MySQL數(shù)據(jù)庫等我們常用的開發(fā)工具,省去了單獨設(shè)置各個組件的麻煩。當用戶通過手機等移動設(shè)備發(fā)送指令后,指令通過互聯(lián)網(wǎng)傳送到Internet服務(wù)器上。服務(wù)器上的JSP網(wǎng)頁分析指令后,通過JDBC(Java Data Base Connectivity,Java數(shù)據(jù)庫連接,一種用于執(zhí)行SQL語句的Java API)連接上XAMPP中集成的MySQL數(shù)據(jù)庫,并用MySQL的UPDATE命令更新相應(yīng)的指令數(shù)據(jù)。當安卓上位機檢測到指令數(shù)據(jù)變動后,按照更新后的指令數(shù)據(jù)對相應(yīng)電器設(shè)備進行操作。
2 結(jié)語
本文提出了一種智能家居系統(tǒng)的設(shè)計思路。本系統(tǒng)有別于市面上的其他智能家居系統(tǒng),為了節(jié)省成本,采用8051單片機最小系統(tǒng)作為下位機。經(jīng)過測試發(fā)現(xiàn),此單片機最小系統(tǒng)能較好地完成控制任務(wù),耗能小,反應(yīng)較快。在上位機方面,由于采用的安卓系統(tǒng)具有較高的通用性,價格便宜,所以非常適合作為智能家居系統(tǒng)使用。綜上所述,本系統(tǒng)具有較高可靠性,且成本較低,非常值得推廣。
參考文獻:
[1]Reto Meier.Professional Android 4 Application Development[M]. New York:Wiley Publishing Inc,2012.
[2]Simon Monk.Arduino+Android互動智作[M].唐樂,譯.北京:科學(xué)出版社,2013.
[3]郭天祥.新概念51單片機C語言教程――入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2009.
[4]李正明,吳波.基于物聯(lián)網(wǎng)的智能家居控制系統(tǒng)研究[J].現(xiàn)代科學(xué)儀器,2012(2):68-71.
[5]郭海杰,吳飛,雷必成.嵌入式智能家居控制系統(tǒng)的研究[J].福建電腦,2009(3):111-112.
[6]申利民,劉冬香.基于GSM智能家居控制系統(tǒng)的設(shè)計[J].傳感器世界,2011(1):32-36.