徐萬(wàn)銀+趙康+楊妍+任旭輝+桂易琪
摘要:隨著信息技術(shù)的飛速發(fā)展,計(jì)算機(jī)技術(shù)的應(yīng)用已經(jīng)滲透到我們平時(shí)的生活當(dāng)中。該文描述了智能家居的可行性和易操作性,實(shí)體建立了一個(gè)小型的子等家居模型系統(tǒng)。該系統(tǒng)通過(guò)硬件控制模塊、串口連接模塊、手機(jī)通信模塊進(jìn)行智能
家居模型的遠(yuǎn)程控制。
關(guān)鍵詞:Android;智能家居;無(wú)線通信
1背景與研究意義
我們正處于21世紀(jì),這是一個(gè)信息的時(shí)代,人工智能已逐步走人快速發(fā)展階段,信息化的生活給人們帶來(lái)了諸多便捷。就智能化家庭而言,對(duì)大多數(shù)人來(lái)說(shuō)也不是一個(gè)陌生的概念,但市場(chǎng)上成套的智能家居系統(tǒng)大多價(jià)格昂貴,關(guān)鍵技術(shù)多掌握在大型家電品牌制造商手中。所以,我們需要一些簡(jiǎn)單的方式實(shí)現(xiàn)家居的控制以供人們借鑒經(jīng)驗(yàn)或?qū)崿F(xiàn)生活的個(gè)性化。
如今智能手機(jī)與Wi-Fi網(wǎng)絡(luò)幾乎隨處可見(jiàn),另外采用單片機(jī)控制硬件工作的技術(shù)十分成熟。隨著近年來(lái)智能手機(jī)的不斷普及,硬件設(shè)施日益強(qiáng)大,為手機(jī)應(yīng)用的開(kāi)發(fā)提供了硬件基礎(chǔ),具有極大的發(fā)展前景。
基于Android系統(tǒng)與Wi-Fi網(wǎng)絡(luò),推出了物聯(lián)網(wǎng)智能家居系統(tǒng),基本實(shí)現(xiàn)了通過(guò)手機(jī)對(duì)家居進(jìn)行基本控制。對(duì)于那些生活工作節(jié)奏緊湊的人,智能家居可以實(shí)現(xiàn)遠(yuǎn)程的家居控制,在時(shí)間上提高生活工作效率;另一方面,智能家居還可以實(shí)現(xiàn)個(gè)性化的家居控制,可以根據(jù)個(gè)人的習(xí)慣設(shè)置家居的工作模式。
2項(xiàng)目可行性
1)硬件平臺(tái)支持的可行性分析
該客戶端的設(shè)計(jì)需要用到的硬件如表1。
根據(jù)表1,需要的硬件模塊在STC89C52單片機(jī)開(kāi)發(fā)板上已基本存在,另外配置ESP8266Wi-Fi模塊。
Wi-Fi模塊用于為數(shù)據(jù)的傳輸接收提供通路。STC89C52RC是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K字節(jié)系統(tǒng)可編程Flash存儲(chǔ)器。通過(guò)以上分析,使用STC89C52單片機(jī)開(kāi)發(fā)板+ESP8266Wi-Fi模塊完全可以達(dá)到預(yù)期的測(cè)試結(jié)果。
2)軟件開(kāi)發(fā)技術(shù)的可行性分析
對(duì)于STC89C52內(nèi)代碼的編寫(xiě)可以通過(guò)KeilC進(jìn)行。而安卓客戶端的編寫(xiě),是通過(guò)Eclipse平臺(tái)進(jìn)行開(kāi)發(fā)。Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。Eclipse功能強(qiáng)大,運(yùn)行快,占內(nèi)存小,同時(shí)是免費(fèi)的開(kāi)發(fā)工具。出于性能和成本的關(guān)系,用Eclipse進(jìn)行安卓客戶端的開(kāi)發(fā)是不二之選。在調(diào)試過(guò)程中的仿真可以通過(guò)夜神模擬器來(lái)進(jìn)行。
基于Wi-Fi的智能家居安卓客戶端的功能包括能夠進(jìn)行用戶登錄;通過(guò)Wi-Fi模塊及無(wú)線網(wǎng)絡(luò)進(jìn)行遠(yuǎn)近程連接;對(duì)網(wǎng)內(nèi)的功能節(jié)點(diǎn)發(fā)送開(kāi)關(guān)命令。而在KeilC開(kāi)發(fā)環(huán)境下實(shí)現(xiàn)這些功能有很多相應(yīng)功能的開(kāi)源軟件可以借鑒來(lái),經(jīng)過(guò)有針對(duì)性地處理后使其適合本項(xiàng)目產(chǎn)品使用,在技術(shù)上是完全可以做到的。
綜上所述,本開(kāi)發(fā)項(xiàng)目具有可行性。
3系統(tǒng)總體設(shè)計(jì)
本項(xiàng)目由三個(gè)部分組成。第一部分:對(duì)硬件控制模塊進(jìn)行編程,即對(duì)STC89C52芯片內(nèi)部程序的編寫(xiě),達(dá)到通過(guò)接收到數(shù)字信號(hào)并判斷選擇控制硬件不同LED燈開(kāi)關(guān)的效果,以此來(lái)模擬對(duì)不同家電對(duì)的控制。第二部分:連接串口,即將Wi-Fi模塊與單片機(jī)進(jìn)行連接,Wi-Fi模塊與單片機(jī)使用串口通信進(jìn)行數(shù)據(jù)傳輸。第三部分:利用智能手機(jī)進(jìn)行通信,即在所研發(fā)的APP中輸入IP地址和端口號(hào)進(jìn)行Socket通信,操作APP發(fā)送數(shù)據(jù)給Wi-Fi模塊進(jìn)行家電控制。
4具體實(shí)現(xiàn)
本章節(jié)詳細(xì)地介紹物智能家居的各個(gè)功能模塊的布局和實(shí)現(xiàn)效果以及操作流程。
4.1硬件控制模塊
該模塊是使用STC89C52單片機(jī)實(shí)現(xiàn)的控制模塊。使用KeilC作為開(kāi)發(fā)平臺(tái),編寫(xiě)控制語(yǔ)句,以單片機(jī)上不同LED燈的亮滅來(lái)模擬對(duì)不同家電的控制,如應(yīng)用到實(shí)際中,通過(guò)繼電器即可實(shí)現(xiàn)。
單片機(jī)接收Wi-Fi模塊發(fā)送的消息,以+IP開(kāi)頭,消息的第9位字符用于判斷控制指令,不同的數(shù)字對(duì)應(yīng)不同的控制指令。例如,打開(kāi)門(mén)對(duì)應(yīng)了數(shù)字3,則單片上進(jìn)行判斷后跳轉(zhuǎn)到相應(yīng)的程序,從而點(diǎn)亮對(duì)應(yīng)的LED燈。
圖2中三張圖分別對(duì)應(yīng)了打開(kāi)室外燈,室外燈、門(mén)、室內(nèi)燈全部打開(kāi),以及全部關(guān)閉。
4.2串口連接模塊
串口連接模塊的核心是ESP8266Wi-Fi模塊,也是整個(gè)系統(tǒng)的核心,起到了軟硬件連接通信的關(guān)鍵作用。
Wi-Fi模塊與單片機(jī)通過(guò)串口傳送數(shù)據(jù),需要對(duì)收發(fā)的信息進(jìn)行判斷,首先要知道傳送的數(shù)據(jù)的格式。使用AT指令使ESP8266處于ap+station模式,連接所在范圍的路由器,啟動(dòng)多連接以及開(kāi)啟服務(wù)器模式,以初始化Wi-Fi模塊。使用網(wǎng)絡(luò)調(diào)試助手在TCP模式下接受消息,獲得wi-Fi模塊的數(shù)據(jù)格式。
使用串口調(diào)試助手調(diào)試之后,將之前的AT指令寫(xiě)進(jìn)函數(shù)之中,用于啟動(dòng)單片機(jī)并初始化Wi-Fi模塊,從而正常工作。
4.3手機(jī)通信模塊
手機(jī)通信模塊是基于Android平臺(tái)實(shí)現(xiàn)的。
圖3展示了智能家居APP的功能界面。在連接界面分為遠(yuǎn)程連接和近程連接,只要連接成功便能進(jìn)人控制界面。兩種連接方式都需要Wi-Fi模塊工作在ap+stion模式下,ESP8266模塊產(chǎn)生一個(gè)IP固定為192.168.4.1的Wi-Fi網(wǎng)絡(luò),同時(shí)自身連人附近的路由器。近程連接是手機(jī)直接連接ESP8266自身產(chǎn)生的Wi-Fi,通過(guò)對(duì)應(yīng)IP和端口號(hào)與其進(jìn)行Socket通信,即套接字通信,從而對(duì)硬件設(shè)備進(jìn)行控制,這種方式受Wi-Fi網(wǎng)絡(luò)信號(hào)范圍的距離限制。遠(yuǎn)程連接下,將ESP8266連接到家里的Wi-Fi,并且登錄路由器設(shè)置ESP8266為DMZ主機(jī),從而能將Wi-Fi模塊暴露于外網(wǎng),而手機(jī)端只要能正確輸入路由器的lP地址和ESP8266的端口號(hào),在外網(wǎng)中也能與Wi-Fi模塊進(jìn)行Socket通信,從而遠(yuǎn)程進(jìn)行控制。
然而,個(gè)人家庭網(wǎng)絡(luò)的IP地址是動(dòng)態(tài)變化的,在APP連接設(shè)備時(shí)造成不便。在花生殼網(wǎng)站申請(qǐng)一個(gè)免費(fèi)的二級(jí)域名,登錄路由器開(kāi)啟DDNS,輸入花生殼賬號(hào)的用戶名和密碼,并且在DHCP服務(wù)綁定MAC地址和一個(gè)內(nèi)網(wǎng)IP,這個(gè)內(nèi)網(wǎng)IP便可作為遠(yuǎn)程連接的固定IP地址了。
5結(jié)束語(yǔ)
基于Wi-Fi的智能家居的安卓客戶端,是一個(gè)具有很強(qiáng)的實(shí)際意義和推廣意義的設(shè)計(jì)。一是:國(guó)民經(jīng)濟(jì)的不斷發(fā)展,使得越來(lái)越多的智能家居設(shè)備進(jìn)入千家萬(wàn)戶,并且家庭Wi-Fi也普及開(kāi)來(lái);二是:安卓系統(tǒng)的移動(dòng)終端性價(jià)比高,普及率廣,群眾接受容易;三是:家居安全性能也越來(lái)越受到重視,通過(guò)客戶端來(lái)增強(qiáng)智能家居的安全性也不失為一個(gè)良策。受益于良好的外部環(huán)境及市場(chǎng)前景,物聯(lián)網(wǎng)產(chǎn)業(yè)在今后幾年將繼續(xù)保持快速增長(zhǎng),有望帶動(dòng)設(shè)備制造業(yè)、運(yùn)營(yíng)商、應(yīng)用市場(chǎng)等領(lǐng)域的蓬勃發(fā)展。因此基于Wi-Fi的智能家居的安卓客戶端是極具開(kāi)發(fā)價(jià)值的一個(gè)項(xiàng)目。
本項(xiàng)目特色:
1)安卓是一種基于Linux的自由及開(kāi)放源代碼的操作系統(tǒng),其顯著的開(kāi)放性使得其可以擁有眾多的開(kāi)發(fā)者和消費(fèi)者;
21使用Eclipse進(jìn)行軟件的編寫(xiě)和UI設(shè)計(jì),使得設(shè)計(jì)的靈活性大大提升;
3)通過(guò)Wi-Fi進(jìn)行數(shù)據(jù)的傳輸交流,低功耗、相對(duì)高的安全性等都是較為突出的優(yōu)點(diǎn)。
雖然這個(gè)項(xiàng)目完成了,但也僅僅是實(shí)現(xiàn)了一些基本功能,還有許多的功能尚未實(shí)現(xiàn),有些不完美的地方。這些問(wèn)題都是亟待解決的,今后將會(huì)不斷改進(jìn)所有缺陷,爭(zhēng)取完美。endprint