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

正文內(nèi)容

畢業(yè)論文-基于linux系統(tǒng)的智能家居遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)(編輯修改稿)

2024-12-13 06:19 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 傳給網(wǎng)頁,也可以通過網(wǎng)頁給溫濕度傳感器設(shè)定范圍值,當(dāng)濕度或溫度超過范圍就會(huì)給客戶發(fā)警告信息。 硬件模塊設(shè)計(jì) 本節(jié)主要介紹項(xiàng)目中的硬件選擇。硬件是智能家居系統(tǒng)實(shí)現(xiàn)的基礎(chǔ),通過硬件測(cè)試來確定本項(xiàng)目中的方案是否可行。本節(jié) 通過子模塊為列自來說明整體硬件的設(shè)計(jì)。由于該開發(fā)板資源豐富,內(nèi)容復(fù)雜,只對(duì)實(shí)驗(yàn)中用到的 S3 C2440 的寄存器進(jìn)行闡述,如 GPIO 口的寄存器 GPnDAT, GPnCON, GPnUP 和 DART 口的寄存器 ULCONn, UCONn, UFCONn。然后闡述了系統(tǒng)硬件連接及測(cè)試的整個(gè)過程, 9 由最基本的開發(fā)板連接、溫濕度傳感器、 GPRS 模組,直至將幾個(gè)功能模塊集合到一起,進(jìn)行測(cè)試。 硬件選型 硬件選型是是整個(gè)項(xiàng)目實(shí)行的基礎(chǔ)。目前項(xiàng)目中,智能家居解決方案有以下三種選擇 :(1)用一個(gè)開發(fā)板做家庭網(wǎng)關(guān) 。(2)弄一個(gè)單片機(jī),自己手動(dòng)連接電路,自己去開發(fā)一個(gè)家庭網(wǎng)關(guān) 。(3)用一臺(tái)普通的計(jì)算機(jī)來做家庭網(wǎng)關(guān)。用單片機(jī)做家庭網(wǎng)關(guān)的話,雖然成本低,但是效益不怎么高,對(duì)于用戶來說有點(diǎn)麻煩。而嵌入式設(shè)備成本不高,執(zhí)行效益比較高,而且體積小,方便用戶使用。所以本次項(xiàng)目選擇使用開發(fā)板作為這次項(xiàng)目控制中區(qū)。 ( 1) GPRS 模組 GPRS 模組采用 STM300 通訊芯片 ,利用無線移動(dòng)網(wǎng)絡(luò)來實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)間的全雙工通訊。同時(shí),模組支持 tcp/ip 協(xié)議棧,因此可以利用它進(jìn)行無線上網(wǎng)。 模組通過是 UART 串行接口與主芯片來通信,可以與任何 UART 串行通信接口的設(shè)備進(jìn)行連接 .。 該模組具有以下優(yōu)點(diǎn): EGSM900m, PCS1900M, DCS1800M 多種頻段,兼容 GSM phase 2/2+ tcp/ip 協(xié)議,能夠無線上網(wǎng)。 ( PBCCH)。 ( ussb)。 GPRS 模組與主控制器通訊是通過標(biāo)準(zhǔn)的串口。該模組的接口是 10 針的,能夠與 MCU 相連。改 GPRS 模組也可以通過 RS232 接口與 pc 機(jī)相連。 其模組如下圖 33: 圖 33 10 ( 2)溫濕度傳感器 本項(xiàng)中使用的是 AM2311濕敏 電容數(shù)字模塊 ,他是一款含有含有校準(zhǔn)數(shù)字信號(hào)的輸出的溫濕度傳感器。,他使用的是溫濕度傳感技術(shù)與數(shù)字采集技術(shù)可靠性強(qiáng),并且穩(wěn)定性好,適合長(zhǎng)期使用。傳感器內(nèi)部有一個(gè)高性能的單片機(jī),并且與單片機(jī)相連的有兩個(gè)高精度元件,一個(gè)測(cè)溫元件盒一個(gè)測(cè)溫元件。每個(gè)傳感器 傳感器都是在精確的溫濕度教驗(yàn)實(shí)中進(jìn)行檢驗(yàn)校準(zhǔn)的,且校準(zhǔn)的系數(shù)以程序的方式存儲(chǔ)在單片機(jī)中。傳感器內(nèi)部處理數(shù)據(jù)的時(shí)候要調(diào)用這些系數(shù)。用戶可以直接掛在模組的 i2c 通信接口上,使用簡(jiǎn)單。本產(chǎn)品具有超快響應(yīng)、抗干擾能力強(qiáng)、品質(zhì)卓越性價(jià)比極高等優(yōu)點(diǎn)。該產(chǎn)品為 4 引線,通信接口 連接方便。特殊封裝形式可根據(jù)用戶需求而提供。 以圖 34 下是模組基本模型: 圖 34 硬件連接及測(cè)試 先將 ARM8 的開發(fā)板與 PC 機(jī)連接及測(cè)試 首先按照 2440 資料進(jìn)行硬件連接。 (1)先將 5V 的電源與開發(fā)板相連接。 (2)將開發(fā)板的串口與電腦相連。 (3)給開發(fā)板和電腦分別接上網(wǎng)線。 在 PC 機(jī)上建立超級(jí)終端來對(duì)開發(fā)板進(jìn)行操作 : (1)運(yùn)行 windows xp 下的開始一程序一附件一通訊 *超級(jí)終端; (2)第一次建立超級(jí)終端是會(huì)詢問是否將“ HyperTerminal”選擇為默認(rèn)程序,選擇“否”就可以了 。 (3)然后會(huì)要求輸入?yún)^(qū)號(hào)、電話號(hào)碼等信息,可以隨便輸入一些數(shù)字,不會(huì)有什么影響 。 11 (4)為了容易區(qū)分其他的超級(jí)終端,建議將新建立的連接命名為 ARM,如圖35。 (5)再按確定之后,會(huì)出現(xiàn)一個(gè)端口屬性設(shè)置的對(duì)話框,將端口的波特率設(shè)為每 秒 115200,數(shù)據(jù)位為 0,奇偶校驗(yàn)為無,停止位 1,數(shù)據(jù)流控制位無然后點(diǎn)擊確認(rèn)即可。為了方便以后使用然后將新建立的超級(jí)終端放在桌面上,如果連接好后,啟動(dòng)開 發(fā)板,能看到一些信息,說明連接成功, 圖 35 設(shè)置正確,如圖 36。 圖 36 12 開機(jī)時(shí),超級(jí)終端信息如下圖 37 所示: 圖 37 平臺(tái)搭建 內(nèi)核移植 開發(fā)板加電之后,會(huì)運(yùn)行一段代碼,引導(dǎo)加載程序 bootloader,完成初始化硬件設(shè)備,映射好內(nèi)存,將系統(tǒng)的軟硬件環(huán)境配置好,為最終的啟動(dòng)操作系統(tǒng)作好準(zhǔn)備。在嵌入式系統(tǒng)中 Bootloader 對(duì)硬件要求比較 嚴(yán)格,不同的版本系統(tǒng)要求有不同的 bootloader,現(xiàn)在常用的 bootloader 主要有 ARMboot, REDboot, uboot,blod 等等。本次項(xiàng)目選用的是 uboot。 Uboot 在目前功能比較全,靈活性比較高,并且開發(fā)的 bootloader 是開源的,它支持處理器種類比較多,比如 ARM, x86, MIPS 等,能夠支持很多種嵌入式系統(tǒng)的內(nèi)核,由著名的 Wolfgang denk 軟件工程師和 denx 軟件工程師來維護(hù)。移植 uboot,主要是看硬件配置中的處理器是否相同,體系結(jié)構(gòu)是否一樣,然后是外圍接口 是佛相符合。如果差不多就可以移植 uboot 內(nèi)核,否則不能移植。 本項(xiàng)目使用的是 s5pv210 的開發(fā)板,內(nèi)核使用的是桂林電大愛普已經(jīng)編譯并配置好的內(nèi)核,只移植即可,本項(xiàng)目中主要是通過雙絞線來燒入內(nèi)核的,其主要步驟如下: ( 1) 先將開發(fā)板與 pc 機(jī)的網(wǎng)線相連。 ( 2)打開 這個(gè)程序,設(shè)置好內(nèi)核地址。 能夠通過雙 13 絞線給開發(fā)板傳送數(shù)據(jù)的。 ( 3)打開超級(jí)終端,然后接通開發(fā)板的電源。在超級(jí)終端出現(xiàn)倒數(shù) 3, 2, 1的時(shí)候鍵盤點(diǎn)擊任意按鍵即可。然后在超級(jí)終端敲入 update image 命定 ,等待內(nèi)核燒入完畢。 boa 服務(wù)器的移植 ( 1)編譯 boa 程序 上下載 文件 $ tar zxvf $ Cd ./src $ ./configure ( 2) boa 服務(wù)器的移植 在運(yùn)行 ./configure 后按下面步驟修改 Makefile 文件: 將: CC = gcc Cpp =gcc E 改為: CC = armlinuxgcc CPP = armlinuxgcc E 修改完之后再開發(fā)板完之后建立相關(guān)文件及目錄 $ cp 目錄下 在 ,即可運(yùn)行服務(wù)器 系統(tǒng)程序設(shè)計(jì) web 與 CGI 的編寫 Web 服務(wù)器運(yùn)行于開發(fā)板中,用戶可以通過互聯(lián)網(wǎng)訪問開發(fā)板 文件夾中的 html 文件,以網(wǎng)頁形式打開, html 能夠與 web 服務(wù)器通訊,當(dāng)用戶對(duì)網(wǎng)頁進(jìn) 行操作時(shí),就會(huì)觸發(fā) web 服務(wù)器中相應(yīng)的 cgi 程序。所以對(duì) html 文件的編寫很重要。其中編寫主要流程如圖 38: 14 圖 38 ( 1) 登陸 web 瀏覽器的設(shè)計(jì) 登陸界面的設(shè)計(jì)是為了不 讓隨便一個(gè)人能夠登陸自己家里的 web 服務(wù)器,對(duì)家里的設(shè)備進(jìn)行操作,這樣做也是為了安全性的提高。本次項(xiàng)目中是在局域網(wǎng)內(nèi)操作的,目前開發(fā)板使用的是靜態(tài) ip 為 ,所以用戶可以在 web 瀏覽器中通過格式 ip+端口 +目標(biāo) html 文件,即可對(duì)家庭登陸網(wǎng)頁的訪問。下圖 39是登陸網(wǎng)頁的界面: 圖 39 假設(shè)網(wǎng)頁登陸密碼與賬戶是 admin 和 123。輸入密碼和賬號(hào)點(diǎn)擊登陸,就會(huì)通過 javascript 腳本與 web 服務(wù)器中的 cgi 進(jìn)行通訊,核對(duì)賬戶與密碼是否正確。其中主要代碼如下: Html 調(diào)用 javascript 里的函數(shù): /head 15 //這樣就可以調(diào)用 里面的函數(shù)了。 table trtdpfont size=5 face=verdana賬戶 amp。nbsp input type=39。text39。 id=login_usr/font/p/td/tr //輸入賬號(hào)的文本框 trtdpfont size=5 face=verdana密碼 amp。nbsp input type=39。text39。 id=login_psw/font/p/td/tr //輸入密碼的文本框 trtd align=centreamp。nbspamp。nbspamp。nbspamp。nbspamp。nbsp input type=39。button39。id=login_button value=登陸 onClick=check_user()/td/tr //點(diǎn)擊登陸后就會(huì)訪問 文件中的 check_user 函數(shù) /table /head Javascript 與 cgi 的通訊部分: Functiong check_user(usrname,pwd,urll_data,type) { Var xml_object = createXHR()。 Var URL =g_url。 If (0 == type) URL+=“/CGIbin/?”+”usrname=”+usrname”amp。usrname+”amp。pwd=”pwd。 //組合準(zhǔn)備發(fā)送的 命定, Ellse if(1==type) URL +=”/cgibin/?”+url_data。 Var xml_status。 If(xml_object) { (“CGI”,URL,false)。 (“IfModifiedsince”,”0”)。 ()。 16 Xml_status = 。 If(200 == xml_status) { Return 。 } Xml_object = null。 } Else { Alert(“please check the Bowser!”)。 } } 其中字符串變量 URL 是來與 cgi 通訊用的。 URL +=“/cgibin/?”+”usrname=”+”amp。pwd”=ppwd 是用來拼接字符串的,將想要的字符組合在一起,并與 web 服 務(wù)器中 cgibin 文件夾下 進(jìn)行通訊。 發(fā)送消息的函數(shù)。 Return 將結(jié)果返回給網(wǎng)頁, Alert( ?please check the Bowser!?) 如果輸入錯(cuò)誤將會(huì)出現(xiàn)一個(gè)對(duì)話框提示錯(cuò)誤。 CGI 程序: data = getenv(QUERY_STRING)。//獲取 javascript 發(fā)送過來的字符。 sscanf(data, %d, amp。status)。//解包,獲取 想要的字符。 Printf(“%d”,Strcmp(status,”admin1234”))。//strcmp 函數(shù)式用來匹 配賬戶密碼是否與 admin1234 是否相同,相同則返回 0,否則是非 0 的,然 后將值通過輸出函數(shù)返回給 javascript。 登陸成功的界面會(huì)進(jìn)入控制臺(tái)界面,然后就可以對(duì)家庭一些設(shè)備進(jìn)行選擇性的控制。 其中界面如圖 310: 17 圖 310 點(diǎn)擊 LED 燈,發(fā)消息,溫濕度的監(jiān)控會(huì)顯示不同的網(wǎng)頁。 其中跳轉(zhuǎn)代碼如下: = g_url+/。//跳轉(zhuǎn)到燈的控制網(wǎng)頁 = g_url+/。//跳轉(zhuǎn)到發(fā)送短信網(wǎng)頁 = g_url+/。//跳轉(zhuǎn)到獲取溫濕度網(wǎng)頁 ( 2) LED 燈的控制界面與 CGI 的編寫 項(xiàng)目中 LED 燈的控制是智能家居中一個(gè)重要的組成部分,為了能讓項(xiàng)目具有穩(wěn)定可靠性, LED 燈的狀態(tài)必須能夠與時(shí)時(shí)與網(wǎng)頁同步。 在 LED 燈的控制界面中,用戶可以點(diǎn)擊界面的 LED 燈控制按鈕,對(duì)開發(fā)板相對(duì)應(yīng)的燈進(jìn)行操作。當(dāng)燈熄滅時(shí),點(diǎn)擊則會(huì)打開 LED 燈,當(dāng)燈打開時(shí),點(diǎn)擊則會(huì)開啟。這樣用戶可以在遠(yuǎn)地辦公,也能及時(shí)關(guān)閉家中未關(guān)閉的燈光,也可以提前回家的時(shí)候開啟家里的燈火。并能提倡節(jié)約用電,綠色環(huán)保生活。圖 311 是 LED燈的控制界面 18 圖 311 其中 CGI 主要處理代碼如下: (1)獲取狀態(tài)信息: Int data。 Read(led,amp。data,sizeof(data))。 If(data amp。 0x02) /先判斷第一個(gè)燈的信息 Led1 = ?1?。 Else Led1 = ?0?。 If(daa amp。 0x04) //第二個(gè)燈的信息 Led2 = ?1?。 Else Led2 = ?0?。 If(data amp。 0x08) //第三個(gè)燈的信息 Led3 = ?1?。 Else Les3 = ?0?。 Printf(“%c,%c,%c”,led1,led2,led3)。 //把燈的信息發(fā)給頁面 Close(led)。 CGI 先是獲取當(dāng)前 LED 燈的狀態(tài)信息。 19 Printf( “%c, %c,%c”,led1,led2,led3) 。通過 printf 輸出,將信息發(fā)給網(wǎng)頁,網(wǎng)頁通過
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1