王俊童+劉艷艷+蘭旭婷
摘 要:"基于樹莓派通過java實(shí)遠(yuǎn)程控制和接收數(shù)據(jù)的智能家居",采取以智能手機(jī)發(fā)送數(shù)據(jù)到服務(wù)器,在通過服務(wù)器返回?cái)?shù)據(jù)到樹莓派使之做出相應(yīng)的處理,本項(xiàng)目設(shè)計(jì)使智能家居突破傳統(tǒng)的地理位置和空間上的限制,無論用戶身處室內(nèi)或室外都可以對(duì)家居進(jìn)行控制,和實(shí)現(xiàn)對(duì)家庭內(nèi)部設(shè)備的控制。如今我們僅僅需要一部智能手機(jī),就可以對(duì)家里的家居完全的掌控,和對(duì)家里的情況完全的了解,如:當(dāng)我們下班回家的路上,我們完全可以僅僅通過控制手機(jī),就可以把家里的臺(tái)燈、風(fēng)扇打開。
由西北民族大學(xué)電氣工程學(xué)院"雙E"項(xiàng)目資助(項(xiàng)目編號(hào):20161823 )
1 緒論
近年來,隨著信息技術(shù)的更新?lián)Q代,物聯(lián)網(wǎng)技術(shù)取得了長足的發(fā)展和進(jìn)步,物聯(lián)網(wǎng)這一新興的信息革命產(chǎn)物受到了密切的關(guān)注,在智能化領(lǐng)域也得到了廣泛的應(yīng)用,這一現(xiàn)象在貼近我們生活的智能家居行業(yè)更是尤為突出。針對(duì)當(dāng)前智能家居系統(tǒng)結(jié)構(gòu)復(fù)雜、成本高昂的問題,采用價(jià)格低廉的樹莓派作為家庭網(wǎng)關(guān)、開源硬件Arduino Uno作為微控制器、yeelink作為網(wǎng)絡(luò)服務(wù)平臺(tái),并通過編程語言來搭建控制開關(guān),從而有效的簡(jiǎn)化了智能家居系統(tǒng)的控制結(jié)構(gòu),降低了開發(fā)成本。實(shí)驗(yàn)結(jié)果驗(yàn)證了此方法的有效性。
2 整體設(shè)計(jì)方案
具體設(shè)計(jì)方案如圖2-1所示,1和7分別代表是遠(yuǎn)程控制的PC端和手機(jī)端,即為三級(jí)結(jié)構(gòu)中的控制層,2代表以太網(wǎng),即系統(tǒng)中的yeelink網(wǎng)絡(luò)服務(wù)平臺(tái),3表示路由器,即連接以太網(wǎng)的網(wǎng)絡(luò)硬件設(shè)施,2、3共同組成控制信息的傳輸層,4代表以AVR為核心的Arduino Uno微控制器,5代表網(wǎng)絡(luò)信號(hào),6代表搭載在Arduino Uno上的LED小燈,處于系統(tǒng)的被控制層。在這個(gè)設(shè)計(jì)中,用戶可以通過PC端或者手機(jī)終端訪問yeelink網(wǎng)絡(luò)服務(wù)平臺(tái),在平臺(tái)上遠(yuǎn)程查看小燈的開關(guān)情況,并可以通過同樣路徑對(duì)于小燈進(jìn)行控制,當(dāng)點(diǎn)擊開關(guān)按鈕時(shí),yeelink網(wǎng)絡(luò)服務(wù)平臺(tái)會(huì)通過相應(yīng)的轉(zhuǎn)換程序?qū)㈤_關(guān)小燈的指令信息發(fā)送給Arduino Uno微控制器,從而實(shí)現(xiàn)對(duì)于室內(nèi)小燈的控制。
3系統(tǒng)開發(fā)設(shè)計(jì)
該部分主要介紹系統(tǒng)所采用的技術(shù)及開發(fā)工具,涉及采用的架構(gòu)有:樹莓派、LINUX系統(tǒng)、Python和JAVA語言、Arduino Uno單片機(jī)、網(wǎng)絡(luò)服務(wù)平臺(tái)等。
3.1 Arduino Uno硬件設(shè)計(jì)
Arduino是一款基于AVR的微控制器的開源硬件,近年來,因其良好的開源性和以及高度的可擴(kuò)展性,得到了迅速的發(fā)展,在帶有傳感器的系統(tǒng)設(shè)計(jì)領(lǐng)域得到了廣泛的應(yīng)用。Arduino Uno的硬件設(shè)計(jì)所采用的協(xié)議是CC BY-SA3.0,UNO型號(hào)的Arduino具有1KB的EEPROM、32KB的Flash、14路數(shù)字輸入輸出口,其中6路為PWM輸出,6路為模擬輸入口,還有ICSP下載線接口,支持在線燒寫程序同時(shí)在UNO里,還預(yù)先設(shè)置了Bootloader程序,因此在給板子燒寫程序時(shí),并不需要外部燒寫器,直接通過USB接口下載程序即可,同時(shí)該板子還帶有復(fù)位鍵、USB程序燒寫口和電源接口。
在本智能家居的控制開關(guān)的設(shè)計(jì)中,為了實(shí)現(xiàn)遠(yuǎn)程控制功能,作為搭載底層傳感器的Arduino Uno也需要具備聯(lián)網(wǎng)功能,,此時(shí)我們需要借助一款具備聯(lián)網(wǎng)功能的擴(kuò)展板Arduino Ethernet,它可以讓Arduino控制器連接網(wǎng)絡(luò)。
3.2 樹莓派的基本配置和開發(fā)
作為系統(tǒng)的控制中心,樹莓派上需要萬層控制功能的開發(fā)和配置,因此除了核心部件開發(fā)板以外,還需要針對(duì)樹莓派配備其他的硬件外設(shè):連接網(wǎng)線、配備鼠標(biāo)鍵盤,通過HDMI高清輸出線,將樹莓派與顯示器相連。然后就需要進(jìn)行具體的配置的步驟:首先為樹莓派安裝操作系統(tǒng),將Raspbian系統(tǒng)的鏡像文件通過Win32DiskImager解壓導(dǎo)入SD卡中,將SD卡插入樹莓派的SD卡槽,接通電源,然后就進(jìn)入了樹莓派的內(nèi)部配置界面 raspi-config,此時(shí)需要針對(duì)開關(guān)的功能需要進(jìn)行配置,在本研究中,為了更充分的利用樹莓派的內(nèi)部空間,選擇expand_rootfs這一項(xiàng),將它的大小擴(kuò)展到與SD卡大小相同;為了實(shí)現(xiàn)控制功能和其他應(yīng)用軟件的安裝,需要使樹莓派具備網(wǎng)絡(luò)功能,因此選取 NG8508-GS無線網(wǎng)卡,將無線網(wǎng)卡插入后,重新啟動(dòng)樹莓派,等開機(jī)以后,輸入sudo lsusb命令行。
3.3 網(wǎng)絡(luò)服務(wù)平臺(tái)的配置
作為針對(duì)物聯(lián)網(wǎng)開發(fā)應(yīng)用的云端網(wǎng)絡(luò)服務(wù)平臺(tái),要利用yeelink完成智能家居控制開關(guān)的設(shè)計(jì),實(shí)現(xiàn)Arduino Uno與yeelink的數(shù)據(jù)傳遞和信息交互,就必須為所接入的設(shè)備申請(qǐng)yeelink所分配的ID號(hào)和API key,同時(shí)需要指明傳感器的類型和數(shù)據(jù)格式,然后通過HTTP POST請(qǐng)求為傳感器分配ID號(hào)。在yeelink平臺(tái)上,API key為設(shè)備操作的識(shí)別號(hào),控制功能的實(shí)現(xiàn)。同時(shí)還需要根據(jù)硬件的實(shí)際連接情況,設(shè)置相應(yīng)的端口,比如設(shè)置通信的波特率為9600,輸出為5號(hào)口。設(shè)置完基本的硬件連接,確定網(wǎng)絡(luò)連通后,程序就進(jìn)入了主體的執(zhí)行部分,此部分主要進(jìn)行的功能是實(shí)現(xiàn)yeelink與Arduino Uno的網(wǎng)絡(luò)通信,以及實(shí)現(xiàn)對(duì)Arduino Uno的遠(yuǎn)程控制,當(dāng)用戶進(jìn)入yeelink平臺(tái)的網(wǎng)絡(luò)界面,選擇關(guān)燈時(shí),yeelink會(huì)向Arduino發(fā)送"turn off the LED"指令,給5號(hào)口所接的LED小燈輸出低電平實(shí)現(xiàn)關(guān)燈功能;當(dāng)用戶選擇開燈時(shí),點(diǎn)擊開燈按鈕,yeelink會(huì)向Arduino發(fā)送"turn on the LED"指令,給5號(hào)口所接的LED小燈輸出高電平實(shí)現(xiàn)開燈功能。
4 結(jié)論
本論文所研究的基于樹莓派通過java實(shí)遠(yuǎn)程控制和接收數(shù)據(jù)的智能家居,不僅可以隨時(shí)隨地的查看控制照明設(shè)備的情況,還可以在此基礎(chǔ)上,增添其他類型的傳感器,完善平臺(tái)功能,實(shí)現(xiàn)人與物之間的信息交互,真正賦予物體以智慧和溝通能力,同時(shí)這種開發(fā)模式并不局限于智能家居,還可以應(yīng)用在工業(yè)、農(nóng)業(yè)的環(huán)境中,達(dá)到高效生產(chǎn)、節(jié)能減排的作用。
參考文獻(xiàn):
[1] 李凡希.愛上Raspberry Pi.北京:科學(xué)出版社,2013.
[2] 郭天祥.新概念51單片機(jī)C語言教程.北京:電子工業(yè)出版社,2009.