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

正文內(nèi)容

基于android的智能家居系統(tǒng)設(shè)計(jì)畢業(yè)論文-文庫吧資料

2025-07-02 13:18本頁面
  

【正文】 d_mutex_init(amp。 sem_init(amp。 sem_init(amp。 motor_stop(fd)。 beeclose(fd)。 fd = beeopen()。 light_close(fd)。 light_ioctl(fd,amp。 cflags[19] = 0。 cflags[17] = 1。 cflags[15] = 30。 cflags[10] = 0。 cflags[8] = 0。 cflags[5] = 0。 cflags[4] = 0。 cflags[14] = 0。 cflags[11] = 0。 ledclose(fd)。 i++) ledset(fd, i, amp。 for(i=1。 LOGI(%d...........1/n,fd)。pthread_mutex_t gprs_rfid_mutex。sem_t semcl。jobject g_obj = NULL。jintArray jflags。[10]Pr.,York:methods[M].conceptsL.BernierBorko機(jī)械與電子。吳金濤。杜清珍?;贏RM嵌入式技術(shù)和模糊控制的光學(xué)調(diào)制系統(tǒng)設(shè)計(jì)[J]。徐熙平。華東師范大學(xué)。2003年[4] 陳培料。智能家居—家庭自動化[N]。在此,我再說一次謝謝!謝謝大家?。?!。除了敬佩黃老師的專業(yè)水平外,他的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。黃老師平日里工作繁多,但在我做畢業(yè)設(shè)計(jì)的每個階段,從查閱資料到設(shè)計(jì)草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計(jì),裝配草圖等整個過程中都給予了我悉心的指導(dǎo)。 致謝 經(jīng)過長期的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個設(shè)計(jì)是難以想象的。資料、IC、方法等可以百度“電子設(shè)計(jì) KT0003”,20塊錢1個。論文好辦,解決了物理模型后,直接把解決方案中的芯片介紹60%+你的開發(fā)感受40%寫進(jìn)去即可。所以,你斷難取舍源自你題目太大而無法落地。市場主流智能家居產(chǎn)品的通訊模式大概有10多種。RFID原理簡易圖5. 總結(jié)智能家居是系統(tǒng)性的產(chǎn)品,主要有控制器和執(zhí)行器組成。我們使用RFID是同過串口讀取RFID模塊中的數(shù)據(jù)的,因?yàn)閘inux內(nèi)核已近寫好串口驅(qū)動,我們這里就不用再寫一遍,我們只需要按需求通過ioctl改變串口的串列傳輸速率和工作方式,然后利用read函數(shù)讀取數(shù)據(jù)就行了。就可以讓蜂鳴器響起我們需要的響聲效果。以下為蜂鳴器的控制流程:首先蜂鳴器使用了一個gpio口控制他的開關(guān),然后使用到了pwm的技術(shù),那么pwm最為關(guān)鍵的就是它的周期與占空比,在a8中有專門的設(shè)置周期與占空比的寄存器。所以按順序通過ioctl每隔一段時間給一個gpio口高電平,其他低電平,這樣就可以使步進(jìn)電機(jī)順轉(zhuǎn)或反轉(zhuǎn)了。而0、3號齒和A、B相繞組產(chǎn)生錯齒,5號齒就和A、D相繞組磁極產(chǎn)生錯齒。開始時,開關(guān)gpio2接通電源,gpiogpiogpio4斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的4號齒就和C、D相 繞組磁極產(chǎn)生錯齒,5號齒就和D、A相繞組磁極產(chǎn)生錯齒。步進(jìn)電機(jī)控制流程如下:這里我們需要使用到4個gpio口。當(dāng)gpio1高電平,gpio2低電平直流電機(jī)正轉(zhuǎn),當(dāng)gpio1低電平,gpio2高電平直流電機(jī)反轉(zhuǎn)所以我們只需要利用ioctl控制兩個gpio口的電平轉(zhuǎn)換就能控制直流電機(jī)的運(yùn)行狀態(tài)。這里主要敘述直流電機(jī)的驅(qū)動控制流程直流電機(jī)使用了兩個gpio。例如“AT+CMGS=目的手機(jī)號碼\n短信內(nèi)容+Ctrl+Z”為向某手機(jī)發(fā)送短信。我們需要按需求利用ioctl改變串口2的工作方式和串列傳輸速率。,最后我們?nèi)∠?qū)動與雜項(xiàng)設(shè)備取消關(guān)聯(lián)狀態(tài)。 ,我們要申請led的gpio口并注冊, 最后我們需要把定義好的雜項(xiàng)設(shè)備的結(jié)構(gòu)體(my_misc)注冊到雜項(xiàng)設(shè)備。雜項(xiàng)設(shè)備(misc)是linux里面已經(jīng)寫好的一個設(shè)備,我們只要把驅(qū)動注冊到該設(shè)備中,那么不用多余的語句,linux就會幫我們掛在驅(qū)動,創(chuàng)建驅(qū)動設(shè)備節(jié)點(diǎn)。字符驅(qū)動是linux里面最為簡單的一種驅(qū)動模型。操作是首先在接口程序創(chuàng)建一個換卡的線程,打開RFID驅(qū)動用dowhile循環(huán)5次,當(dāng)識別到有效的新ID卡替換掉掉舊的cflags[17]儲存的ID卡號,并把標(biāo)志換卡狀態(tài)的cflags[19]置位成表示成功的2,失敗的話就把cflags[19]置位成表示失敗的1。提供的界面會在上層界面接受一個字符串,只需通過memset()清空字符串和strcpy()復(fù)制字符串兩個函數(shù)就可以直接把電話號碼的字符串內(nèi)容替換掉。((cflags[18]%10000)=3600 ))來分別判斷是否觸發(fā)短信警報(bào),而每兩次相同類型的短息警報(bào),我們也有兩個判斷體去控制最少間隔10分鐘才會再次觸發(fā)警報(bào)以免短信的費(fèi)用過高。(cflags[4]==2)amp。((cflags[18]/10000)=3600 ))和if((j==0)amp。(cflags[5]==2)amp。而短信警報(bào)則需要用if((k=3000)amp。amp。amp。amp。當(dāng)接受到打開警報(bào)的指令,會改變標(biāo)志位令線程里的該段程序生效。在安防設(shè)置中為警報(bào)提供了一個整形數(shù)的傳遞界面,而其中cflags[4]和clags[5]分別是入侵和氣體警報(bào)的標(biāo)志位,數(shù)字2代表短信警報(bào),數(shù)字1代表蜂鳴器警報(bào),0表示關(guān)閉警報(bào)?!?安 防 警報(bào)紅外入侵警報(bào)是通過打開紅外傳感器,當(dāng)有物體遮擋時進(jìn)行用戶要求的動作,如蜂鳴器警報(bào)和短信警報(bào)。流程圖如圖35所示。amp。 溫度控制空調(diào)用戶通過設(shè)定一個溫度,當(dāng)當(dāng)前溫度高于用戶所設(shè)溫度的時候空調(diào)自動打開。界面?zhèn)鬟f一個整形數(shù),分別直接控制空調(diào)和排氣扇的開關(guān)。光感控制窗簾開關(guān)原理流程圖如圖34所示。需要注意的是,由于步進(jìn)電機(jī)的特性問題,而打開和關(guān)閉的動作也需要轉(zhuǎn)動一定的步數(shù),因此在短時間內(nèi)進(jìn)行打開和關(guān)閉,會導(dǎo)致步進(jìn)電機(jī)的停止動作,為了防止這一情況的發(fā)生,我們規(guī)定,用信號量去加鎖,當(dāng)完成打開或者關(guān)閉動作時,再執(zhí)行下一個動作,避免了錯誤的發(fā)生。(cflags[9]cflags[10])),然后通過描述符操作步進(jìn)電機(jī)的動作完成用戶的指令。(cflags[8]==1)amp。(cflags[9]cflags[10]))進(jìn)行判斷,高于設(shè)定值關(guān)則用也是用一個類似的語句來判斷,具體是:if((cflags[7]==1)amp。(cflags[8]==0)amp。具體操作也是在初始化的時候就建立并分離線程,用while(1)每隔兩秒判斷一次,我們把預(yù)設(shè)光感值cflags[9]初始值設(shè)為最大值5000,低于設(shè)定值開用語句if((cflags[7]==2)amp。由于這個監(jiān)控也是不需要任何的觸發(fā)動作,當(dāng)用戶切換到此頁面是就會不斷刷新數(shù)值,因此也不提供任何界面,而刷新光感的具體動作也是通過同一個HANDLER不斷地取得在驅(qū)動中獲取的當(dāng)前光照值并上傳到上層界面。另外,出于環(huán)保的考慮,我們默認(rèn)設(shè)置了,當(dāng)光照值大于4000的時候,燈光會自動關(guān)閉??梢悦看慰刂埔粋€LED燈或者是一次控制所有的LED燈,方便用戶控制。((s_tmtm_min)==(cflags[16]%100)))其中cflags[16]中,后面四位是表示用戶設(shè)定的時間和分鐘,第一位是指是否設(shè)定鬧鐘的標(biāo)志位,如果標(biāo)志鬧鐘的clags[16]不為0而當(dāng)前的時分與用戶設(shè)定的時分又是一致的話,就直接通過蜂鳴器的包裝驅(qū)動設(shè)置蜂鳴器的合適占空比和周期,并持續(xù)動作10秒,之后則把鬧鐘標(biāo)志位clags[16]置0。((s_tmtm_hour)==(cflags[16]%10000/100))amp。兩個函數(shù)取得當(dāng)前時間,同時通過以下if語句判斷:if(((cflags[16]/10000)==1)amp。和s_tm = localtime(amp。和struct tm *s_tm。是的話就停止減少時間并跳出該段程序。若當(dāng)前時間和設(shè)定時間一致則蜂鳴器動作。NYYN點(diǎn)擊進(jìn)入安防界面彈出刷卡提示是否超過10秒是否識別正確ID卡進(jìn)入安防界面失敗成功進(jìn)入安防界面圖32 鬧 鐘鬧鐘是智能家居中一個重要的功能,此鬧鐘可以設(shè)定在24小時內(nèi)使蜂鳴器發(fā)出一次聲響,并且能夠隨時取消并重新設(shè)置。等待10秒用戶點(diǎn)擊切換成外出模式關(guān)閉用電器并打開警報(bào)是否刷正確的ID卡切換成在家模式NY圖31圖31 進(jìn)入安防界面在進(jìn)入安防界面的時候需要用到RFID卡的認(rèn)證,為上層界面提供了一個觸發(fā)界面,具體操作是當(dāng)接收到界面?zhèn)鱽淼倪M(jìn)入安防界面動作時,在C語言層開辟一個安防進(jìn)入的線程,利用for循環(huán)輪詢,然后用if語句把存儲有綁定的有效rfid卡ID的cfags[17]與rfid識別到的卡號進(jìn)行比對,當(dāng)一致時把cfags[6]置成ID卡號表示進(jìn)入安防界面成功,如果在5秒內(nèi)未能識別正確的ID卡號,就把cfags[6]置成1表示進(jìn)入安防界面失敗。在家模式和外出模式,根據(jù)界面需求,只設(shè)置一個觸發(fā)動作的界面,具體操作是當(dāng)用戶按下外出模式按鈕C語言層接受到觸發(fā)命令,在C語言層通過利用pthread_create創(chuàng)建兩個線程:第一個線程首先利用線程分離函數(shù)pthread_detach(pthread_self())進(jìn)行線程的分離,使用sleep(10)等待10秒后,若10秒之內(nèi)判斷到外出模式的標(biāo)志位cflags[3]依然是1,就通過包裝過的驅(qū)動界面把用電器關(guān)閉,把標(biāo)志紅外入侵警報(bào)的cflags[4]和標(biāo)志有毒氣體警報(bào)的clags[5]都設(shè)置成短信通知,并把所有存儲用電器狀態(tài)值的cflags中的相關(guān)數(shù)值進(jìn)行刷新,最后關(guān)閉線程;另一個線程則是負(fù)責(zé)不斷監(jiān)聽RFID,也是先通過分離線程,然后使用while(1)不斷循環(huán),在循環(huán)體內(nèi)打開rfid驅(qū)動,用if判斷語句當(dāng)識別到用戶綁定的ID卡時切換為在家模式把紅外警報(bào)和氣體警報(bào)標(biāo)志位置成關(guān)閉狀態(tài),并關(guān)閉線程。 在家模式和外出模式的切換由于在出門的時候用戶經(jīng)常需要關(guān)閉很多的用電器,整合一個外出模式就能為用戶提供極大的便利。 jclass iclass = (*g_env)GetObjectClass(g_env, g_obj)。 jfieldID fieldID = (*g_env)GetFieldID (g_env, gasdevclazz, flags, [I)。和g_obj= (*env)NewGlobalRef(env,obj)。然后在JNI執(zhí)行初始化是進(jìn)行環(huán)境變量的保存(*env)GetJavaVM(env,amp。首先需要在初始化時把HANDLER的屬性對象保存起來,先定義兩個全局變量jobject g_obj = NULL。不斷循環(huán)并取得當(dāng)前的溫濕度數(shù)值。還有emperature_ioctl(fdtemperature , amp。在監(jiān)控溫濕度的線程中,首先根據(jù)驅(qū)動給的借口,取得溫濕度傳感器的檔描述符fdtemperature,通過IO控制函數(shù)temperature_ioctl(fdtemperature , amp。溫濕度的顯示需要不斷地刷新,也為了方便其他數(shù)值的傳遞,我們定義了一個叫cflags的數(shù)組,定義clags的[1][2]是用于存放溫濕度的數(shù)值。關(guān)系如圖23示:圖23 3 功能設(shè)計(jì) 主界面 溫濕度監(jiān)控顯示顯示溫濕度是智能家居的最基本功能,通過熒幕用戶可以隨時從中獲知當(dāng)前的溫度和濕度。JNI標(biāo)準(zhǔn)至少保證本地代碼能工作在任何Java虛擬機(jī)實(shí)現(xiàn)。使用java與本地已編譯的代碼交互,通常會喪失平臺可移植性。Java Native Interface(JNI)標(biāo)準(zhǔn)成為java平臺的一部分,它允許Java代碼和其他語言寫的代碼進(jìn)行交互。MFRC522 支持MIFARE?更高速的非接觸式通信,雙向數(shù)據(jù)傳輸速率高達(dá)424kbit/s。CRC)。接收器部分提供一個堅(jiān)固而有效的解調(diào)和解碼電路,用于處理ISO14443A 兼容的應(yīng)答器信號。支持 ISO14443A 的多層應(yīng)用。是NXP 公司針對“三表”應(yīng)用推出的一款低 電壓、低成本、體積小的非接觸式讀寫卡芯片,是智能儀表和便攜 式手持設(shè)備研發(fā)的較好選擇。具體包括:紅外模塊、繼電器模塊、步進(jìn)電機(jī)、直流電機(jī)、氣體傳感器、溫濕度傳感器、光敏感測器、GPRS模塊和RFID模塊。ARM cortexA8 CPU原理如圖21所示。 CortexA8本開發(fā)板GEC210搭載的主芯片為CortexA8,又名“蜂鳥”,是三星推出的一款適用于智能手機(jī)和平板計(jì)算機(jī)等多媒體設(shè)備的應(yīng)用處理器,CortexA8和S5PC110功能一樣,110小封裝適用于智能手機(jī),210封裝較大,主要用于平板計(jì)算機(jī)和上網(wǎng)本。(如圖12)圖 12 2 總括 硬件本文所用到的主要硬件有:搭載CortexA8的GEC210嵌入式開發(fā)板,7英寸電阻屏,以及一塊硬件拓展版。本系統(tǒng)的界面使用Android寫成,把用戶需要求的數(shù)據(jù)傳到C語言層,最后由C語言層操控硬件。窗簾界面可以提
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1