freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的智能家居系統(tǒng)設(shè)計(jì)畢業(yè)論文-在線瀏覽

2024-08-06 13:18本頁面
  

【正文】 本文根據(jù)系統(tǒng)分為6個(gè)界面,包括主界面、燈光界面、鬧鐘界面、窗簾界面、空調(diào)及排氣界面、安防界面,其中用戶最先能看到的是主界面,從主界面可以進(jìn)入其他的5個(gè)二級(jí)界面。其中當(dāng)外出模式切換到在家模式和進(jìn)入安防設(shè)置的時(shí)候需要用到RFID認(rèn)證。鬧鐘界面中我們提供一個(gè)定時(shí)鬧鐘可以設(shè)定在24小時(shí)內(nèi)使蜂鳴器動(dòng)作一次。在空調(diào)界面中由于也需要用到顯示溫度,可以通過溫度控制空調(diào)的開啟,另外由于硬件上的限制,空調(diào)在演示中也是以LED燈的形式演示。安防系統(tǒng)需要通過RFID的認(rèn)證才能進(jìn)入,此界面主要提高的安防功能是紅外和煙霧警報(bào),警報(bào)的方式都分別分為蜂鳴器警報(bào)和短信警報(bào),而且此界面也可以對(duì)已綁定的手機(jī)號(hào)碼和RFID卡進(jìn)行更換。而C語言和JAVA之間的通信側(cè)是通過JNI來完成的。下面是智能家居系統(tǒng)原理圖。圖21CortexA8采用了ARM CortexTMA8內(nèi)核,ARM V7指令集,主頻可達(dá)1GHZ,64/32位內(nèi)部總線結(jié)構(gòu),32/32KB的數(shù)據(jù)/指令一級(jí)緩存,512KB的二級(jí)緩存,可以實(shí)現(xiàn)2000DMIPS(每秒運(yùn)算2億條指令集)的高性能運(yùn)算能力。 拓展板拓展版主要是為了拓展在GEC210上所沒有的硬件需求,以滿足智能家居的實(shí)驗(yàn)需要。原理圖及IO引腳分配如圖22所示:圖22 RFID模塊芯片拓展版所用的RFID具體型號(hào)為MF RC522 , 非接觸式通信中高集成度讀寫卡系列芯片中的一員。MF RC522 利用了先進(jìn)的調(diào)制和解調(diào)概念, 下所有類型的被動(dòng)非接觸式通信方式和協(xié)議。其內(nèi)部發(fā)送器部分可驅(qū)動(dòng)讀寫器天線與ISO 14443A/MIFARE卡和應(yīng)答機(jī)的通信,無需其它的電路。數(shù)字部分處理ISO14443A 幀和錯(cuò)誤檢測(奇偶 amp。此外,它還支持快速CRYPTO1 加密算法,用于驗(yàn)證MIFARE 系列產(chǎn)品。 JNIJNI是Java Native Interface的縮寫,中文名JAVA的本地調(diào)用。JNI一開始是為了本地已編譯語言,尤其是C和C++而設(shè)計(jì)的,只要調(diào)用約定受支持就可以了。但是,有些情況下這樣做是可以接受的,甚至是必須的,比如,使用一些舊的庫,與硬件、操作系統(tǒng)進(jìn)行交互,或者為了提高程序的性能。JNI在程序中作用的是Java和C的翻譯,在本設(shè)計(jì)中起到的作用是,讓C語言層得知Java的調(diào)用,以及把各種硬件信息通過實(shí)時(shí)刷新的方式不斷反饋到Java中。由于溫濕度顯示并不需要觸發(fā)事件,因此打開程序的時(shí)候就會(huì)自動(dòng)觸發(fā)。另外光感應(yīng)驅(qū)動(dòng)也在這里打開,方便在同一個(gè)地方把需要隨時(shí)刷新的值都得到并及時(shí)更新到cflags里面去。cflags[1])。cflags[0])。在取得數(shù)值之后,通過安卓里面的handler隨時(shí)刷新數(shù)值,而C層需要做的就是不斷更新數(shù)組里面的所有數(shù)據(jù)并通過JNI傳到上層以達(dá)到界面層和運(yùn)算層的實(shí)時(shí)通信。和JavaVM *g_vm = NULL。g_vm)。在更新線程中釋放之前保存的全局變量以便找到JAVA中的對(duì)象即對(duì)應(yīng)的JAVA數(shù)組并轉(zhuǎn)換上傳,具體操作是:jclass gasdevclazz = (*g_env)GetObjectClass (g_env, g_obj)。 jflags = (*g_env)GetObjectField (g_env, g_obj,fieldID)。 jmethodID methodId = (*g_env)GetMethodID(g_env, iclass, HandlerArray, (I)V)。外出系統(tǒng)的主要功能是在用戶切換到外出功能的10秒后,關(guān)閉室內(nèi)的所有可控制用電器并打開所有可用警報(bào)的短信通知。工作原理流程圖如31所示。如流程圖32所示。此界面給上層提供的界面是傳遞一個(gè)字符串,通過算法把字符串提取成數(shù)字并作為設(shè)定時(shí)間。每次判斷蜂鳴器是否動(dòng)作之前都需要先判斷標(biāo)志位,看看用戶是否取消鬧鐘。 具體操作是在初始化的時(shí)候先建立好鬧鐘線程(后面會(huì)說到鬧鐘線程還整合了其他功能),然后分離線程,通過time_t tp。定義時(shí)間結(jié)構(gòu)體并且通過tp = time(NULL)。tp)。amp。amp。該流程如圖33所示:NYYN用戶輸入一個(gè)字符串串轉(zhuǎn)換成設(shè)定時(shí)間是否取消鬧鐘是否到達(dá)設(shè)定時(shí)間鬧鐘取消蜂鳴器動(dòng)作圖33 燈 光燈光的直接控制就是通過用戶直接點(diǎn)擊上層按鈕,傳到下層直接打開驅(qū)動(dòng)進(jìn)行操作,操作完成后刷新標(biāo)志位。在燈光界面我們給上層界面只需要提供一個(gè)界面,傳進(jìn)來一個(gè)int型數(shù),就可以知道用戶的意圖,通過if語句判斷,當(dāng)傳進(jìn)來的數(shù)是13或者14,我們就把對(duì)應(yīng)的房間或者客廳LED燈取反,如果傳進(jìn)來的數(shù)是0,就把所有LED燈關(guān)掉,1則是打開所有的LED燈,在開關(guān)后必須把標(biāo)志燈光狀態(tài)的標(biāo)志位更新。 窗 簾 光感監(jiān)控用戶在燈光界面可以看到當(dāng)前的光照值,以便對(duì)光感控制窗簾中的光感強(qiáng)度有更具體的概念。 控制窗簾在窗簾界面提供直接窗簾的界面,只需要傳遞一個(gè)整數(shù),0的時(shí)候打開,1的時(shí)候關(guān)閉,用戶可以根據(jù)當(dāng)前的光照值設(shè)定當(dāng)光照值大于某設(shè)定值時(shí),窗簾進(jìn)行關(guān)閉動(dòng)作,以及當(dāng)前光照值少于設(shè)定值時(shí),窗簾開啟并屋內(nèi)的燈光。amp。amp。amp。amp。而直接操作窗簾的線程只在用戶層有指令傳送下來的時(shí)候存在,通過一個(gè)if語句判斷是開還是關(guān),然后直接操作驅(qū)動(dòng),最后刷新標(biāo)志位并關(guān)閉線程。實(shí)際操作是我們?cè)诋?dāng)接收到用戶需要操作窗簾時(shí)會(huì)新建并分離一個(gè)線程,用if語句判斷如果進(jìn)行動(dòng)作與窗簾當(dāng)前狀態(tài)一致則不動(dòng)作,或者當(dāng)信號(hào)量小于0時(shí),利用sem_trywait()函數(shù)阻塞,直到上一個(gè)動(dòng)作完成為止。用戶設(shè)定光照值和動(dòng)作是否大于/小于設(shè)定值取得當(dāng)前光照值關(guān)閉/打開窗簾圖34YNY 空調(diào)及排氣扇 空調(diào)和排氣扇的直接控制空調(diào)和排氣扇的直接控制是用戶對(duì)界面進(jìn)行操作對(duì)空調(diào)和排氣扇直接進(jìn)行直接的操作。具體操作是在借口程序里面打開驅(qū)動(dòng)取得表示空調(diào)的LED燈和直流電機(jī)的描述符,然后通過一個(gè)switch語句判斷用戶動(dòng)作并執(zhí)行,最后回收描述符。監(jiān)控程序依附在handler刷新上傳flags的線程中,而設(shè)定的值則在接口程序里面通過cflags[15]來設(shè)定,然后不斷用if((cflags[15]/100 !=0)amp。 (cflags[15]%100 cflags[1]))循環(huán)比對(duì),當(dāng)符合則打開標(biāo)志空調(diào)的LED燈。圖35YN用戶設(shè)定溫度是否大于設(shè)定值取得當(dāng)前溫度值打開空調(diào) 短信控制空調(diào)短信控制空調(diào)可以通過綁定的號(hào)碼給本機(jī)發(fā)送短信對(duì)空調(diào)進(jìn)行控制,通過GPRS模塊接收短信,在初始化的時(shí)候開辟并分離一條用于接收短信的線程,用while(1)不斷循環(huán),當(dāng)識(shí)別到號(hào)碼是綁定號(hào)碼時(shí)對(duì)字符串進(jìn)行解析,短信控制打開空調(diào)的命令是“openair”,用if(strcmp(gprs_mesbuf[2],openair)==0)判斷本機(jī)接收到信號(hào),操作驅(qū)動(dòng)點(diǎn)亮表示空調(diào)的LED燈,并把空調(diào)開關(guān)的標(biāo)志位cflags[11]更改為開,最后給回復(fù)綁定號(hào)碼一條短信,內(nèi)容為:“openair ok。煙霧警報(bào)是通過打開煙霧傳感器,當(dāng)有物體遮擋時(shí)進(jìn)行用戶要求的動(dòng)作,如蜂鳴器警報(bào)和短信警報(bào)。通過switch語句分別判斷情況,分別是紅外和煙霧警報(bào)的短信、蜂鳴器警報(bào)或者取消警報(bào)。前面我們說過,為了節(jié)省資源,我們把警報(bào)的工作也同樣放到鬧鐘的線程里面,其中用if(((cflags[4]!=0)||(cflags[5]!=0))amp。((k=3000)||(j==0)))這一判斷語句判斷是否打開了蜂鳴器警報(bào)并打開蜂鳴器的驅(qū)動(dòng)接口,在其中又有兩個(gè)判斷語句if((j==0)amp。(cflags[4]!=0))和if((k=3000)amp。(cflags[5]!=0))分別用來判斷硬件的狀態(tài),當(dāng)接受到信號(hào)時(shí)蜂鳴器動(dòng)作。amp。amp。amp。amp。 切換識(shí)別ID卡以及電話號(hào)碼切換綁定號(hào)碼會(huì)把原來保存的電話號(hào)碼清除并更新為用戶輸入的新號(hào)碼,以在需要發(fā)短信的時(shí)候使用。RFID卡的切換,需要在10秒內(nèi)將有效的新卡放到RFID傳感器上,當(dāng)切換成功時(shí)會(huì)有文字框提示。 我們?nèi)框?qū)動(dòng)采用的驅(qū)動(dòng)模型是字符驅(qū)動(dòng)。這里為了使用縮短開發(fā)周期,我們注冊(cè)了比較方便的雜項(xiàng)設(shè)備驅(qū)動(dòng)的寫法來寫led燈的驅(qū)動(dòng)。 LED粗略介紹下led燈設(shè)備驅(qū)動(dòng)的編寫流程:。 (用戶程控LED亮滅)。 GPRSGPRS是一個(gè)sim卡通信模塊,同過它我們可以發(fā)短信,打電話。然后利用writer函數(shù)向串口2寫入相關(guān)命令就可以使用GPRS模塊了。 直流電機(jī)直流電機(jī)驅(qū)動(dòng)也是使用字符設(shè)備,并且注冊(cè)的是雜項(xiàng)設(shè)備,所以這里就不再累述驅(qū)動(dòng)的編寫流程。這里命名為gpio1,gpio2.當(dāng)gpio1,gpio2都為低電平時(shí)或都為高電平時(shí)直流電機(jī)停轉(zhuǎn)。步進(jìn)電機(jī)步進(jìn)電機(jī)驅(qū)動(dòng)同樣步進(jìn)電機(jī)驅(qū)動(dòng)使用字符設(shè)備中的砸向設(shè)備。我們定義為gpio1,gpio2,gpio3,gpio4。當(dāng)開關(guān)gpio3接通電源,gpiogpiogpio4斷開時(shí),由于C相繞組的磁力線和4號(hào)齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動(dòng),4號(hào)齒和C相繞組的磁極對(duì)齊。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會(huì)沿著A、B、C、D方向轉(zhuǎn)動(dòng)。 蜂鳴器蜂鳴器驅(qū)動(dòng)使用的也是字符設(shè)備中的雜項(xiàng)設(shè)備模型。那么我們只需要通過writer函數(shù)改寫周期與占空比,然后使用ioctl函數(shù)打開關(guān)閉蜂鳴器。 RFID RFID就是現(xiàn)在市面上比較流行的刷卡門禁。RFID使用的是串口1。其中該系統(tǒng)的通訊模式、系統(tǒng)構(gòu)架、系統(tǒng)功能等是關(guān)鍵的。其中不乏各種國際標(biāo)準(zhǔn)和國家標(biāo)準(zhǔn)的。用Zigbee方式做家居內(nèi)的I/O控制,有成熟的250KZigbee解決方案,如果你水平高,可以嘗試做1MZigbee的I/O+簡單音視頻智能家居系統(tǒng)。補(bǔ)充說明:簡易智能聯(lián)動(dòng)控制產(chǎn)品設(shè)計(jì),也可以考慮“人體紅外感應(yīng)”,可廣泛應(yīng)用于走道、玄關(guān)、衛(wèi)廚、衣柜等處燈光甚至設(shè)備開關(guān)控制。 如果能將433Mhz的無線收發(fā)(市面很多解決方案,關(guān)鍵是這種融合的思路是一種創(chuàng)新)做進(jìn)去,還能實(shí)現(xiàn)邏輯聯(lián)動(dòng)。 在這里首先要感謝我的指導(dǎo)黃景旺老師。我的設(shè)計(jì)較為復(fù)雜煩瑣,但是黃老師仍然細(xì)心地糾正圖紙中的錯(cuò)誤。 其次要感謝我的同學(xué)對(duì)我無私的幫助,特別是在軟件的使用方面,正因?yàn)槿绱宋也拍茼樌耐瓿稍O(shè)計(jì),我要感謝我的母?!獤|莞理工學(xué)院,是母校給我們提供了優(yōu)良的學(xué)習(xí)環(huán)境;另外,我還要感謝那些曾給我授過課的每一位老師,是你們教會(huì)我專業(yè)知識(shí)。 參考文獻(xiàn):[1] 智能家居控制系統(tǒng) 周洪、胡文山、張立明、盧亦焱 中國電力出版社(200601出版)[2] 智能家居設(shè)計(jì)與施工 顧牧君 同濟(jì)大學(xué)出版社(200410出版)[3] 妙妍。中國建設(shè)報(bào)。智能家居控制系統(tǒng)[D]。2010年[5] 趙舒迪。王維。長春理 工大學(xué)學(xué)報(bào)(自然科學(xué)版);2010年03期[6] 李建勇。任獻(xiàn)偉?;贏RM的智能家居安防監(jiān)控報(bào)警系統(tǒng)的設(shè)計(jì)[J]。2008年10期[7]. 北京:.[8][M].北京:.[9]H,C.IndexingandNewAcademic.Sajal K. Das. Mobility and Resource Management in Smart Home Notes in Computer Secience..2004,11091111附JNI源代碼:include include include include include include sys/include sys/include sys/include include linux/include include include sys/include utils/volatile int cflags[30] = {0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}。char shoujihaoma[20]=0。JavaVM *g_vm = NULL。sem_t semc2。void initall(){ int fd = ledopen()。 int i,j=1。 i9。j)。 LOGI(%d...........2/n,fd)。 cflags[13] = 0。 cflags[3] = 0。 cflags[6] = 0。 cflags[7] = 0。 cflags[9] = 5000。 cflags[12] = 0。 cflags[16] = 0。 cflags[18] = 36003600。 fd = light_open()。j)。 cflags[10] = j。 beeoff(fd)。 fd = motor_open()。 motor_close(fd)。semcl,0,1)。semc2,0,1)。gprs_rfid_mutex,NULL)。}void * main_pthread(void *argc){ pthread_detach(
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1