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

正文內(nèi)容

智能家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-06-30 01:48本頁(yè)面
  

【正文】 其中第二個(gè)形參用于指定套接字的通信類型,當(dāng)type為SOCK_STREAM時(shí),為遵從TCP協(xié)議的通信,若要遵從UDP協(xié)議,應(yīng)設(shè)置為SOCK_DGRAM;在智能家居中,采用前者。  根據(jù)流程,接下來(lái)要綁定一個(gè)IP地址和端口,這個(gè)地址和端口是客戶端將要連接的目標(biāo),通過調(diào)用bind()函數(shù)可以完成這一操作,以下是bind()函數(shù)的原型。int PASCAL FAR bind( SOCKET s, const struct sockaddr FAR *name,int namelen )。  其中s為被操作的Socket對(duì)象,name是ARM端的IP地址。namelen為IP地址的長(zhǎng)度。  在監(jiān)聽網(wǎng)絡(luò)部分,ARM服務(wù)器端建立一個(gè)監(jiān)聽隊(duì)列來(lái)接受客戶端的連接請(qǐng)求。listen()函數(shù)可以完成這一操作。int PASCAL FAR listen( SOCKET s, int backlog )。s為要操作的Socket;backlog為最大連接數(shù),在系統(tǒng)中設(shè)置為8。在客戶端發(fā)出連接請(qǐng)求時(shí),ARM客戶端調(diào)用accept()函數(shù),從而完成完整的連接操作。在智能家居系統(tǒng)的軟件設(shè)計(jì)中,將監(jiān)聽以太網(wǎng)通過一個(gè)線程來(lái)實(shí)現(xiàn)。SHAPE \* MERGEFORMAT 圖428 TCP讀線程工作流程   PC端視頻監(jiān)控模塊  該模塊采用Delphi7 企業(yè)版編寫,它是由Borland公司推出的全新的可視化編程環(huán)境,是快速、方便的桌面Windows應(yīng)用程序開發(fā)的工具之一[9]。它綜合了Windows的圖形界面的許多特性和設(shè)計(jì)思想,采用了面向?qū)ο缶幊陶Z(yǔ)言。在Delphi中,提供了包含TCP通信控件在內(nèi)的許多控件使開發(fā)人員能夠快速構(gòu)建和實(shí)現(xiàn)應(yīng)用軟件系統(tǒng)。基于這一特點(diǎn),PC客戶端采用Delphi編寫。  PC端處于TCP/IP網(wǎng)絡(luò)中的客戶端,它的網(wǎng)絡(luò)通信依靠Delphi中的TCPClient控件完成。TCPClient控件需要完成的操作是:1) 打開一個(gè)通信信道,連接到智能家居ARM服務(wù)器端的特定端口。2) 向服務(wù)器發(fā)送服務(wù)請(qǐng)求報(bào)文,等待并接收應(yīng)答,如此反復(fù)3) 請(qǐng)求結(jié)束后關(guān)閉通信通道并終止通訊。按照以下步驟建立好PC端視頻監(jiān)控程序的界面,如圖429所示 圖430所示的是客戶端工作流程。 圖429 PC端視頻監(jiān)控程序界面A、打開Delphi7集成環(huán)境,系統(tǒng)自動(dòng)新建一個(gè)工程。B、在窗體中拖入Standard控件工具箱的button控件三個(gè),label控件2個(gè),Edit控件兩個(gè),Groupbox一個(gè),Additional工具箱里的Image控件一個(gè),Internet工具箱里的TCPClient控件一個(gè)。C、設(shè)置各控件屬性,如表410所示。表410 PC端視頻監(jiān)控軟件控件設(shè)置情況控件種類名稱屬性設(shè)置窗體主窗體caption:“視頻監(jiān)控PC端”按鈕設(shè)置caption:“設(shè)置”,name:“BtnSetting”開啟視頻caption:“開啟視頻”,name:“BtnOpenCamera”關(guān)閉視頻caption:“關(guān)閉視頻”,name:“BtnCloseCamera”標(biāo)簽對(duì)方IP:caption:“對(duì)方IP:”,name:“Label1”對(duì)方端口:caption:“對(duì)方端口:”,name:“Label2”編輯框IPname:“txtIP”,text:“”端口name:“txtPort”,text:“9000”TCPClientHost:“”,Port:“9000”圖像框name:“VideoFrame”,height:“240”,width:“320”   其中,Image控件用于顯示視頻,它一次只顯示一幀靜態(tài)的圖象,因?yàn)槿搜塾幸曈X暫留效應(yīng),圖象的更新也比較快,所以人眼看起來(lái)是動(dòng)態(tài)的圖象。界面中的文本框控件是為了能在對(duì)方的IP地址和端口號(hào)改變的情況下,通過輸入不同的IP號(hào)和端口號(hào),再點(diǎn)擊設(shè)置按鈕,從而改變TCPClient控件的Host屬性(用于指定對(duì)方IP)和Port屬性(用于指定對(duì)方端口),再打開以太網(wǎng)通信通道,向ARM服務(wù)端進(jìn)行連接請(qǐng)求。SHAPE \* MERGEFORMAT 圖430 PC客戶端工作流程  在程序設(shè)計(jì)中采用了Delphi中的TJpegImage對(duì)象和TMemory對(duì)象。TMemory對(duì)象用于存儲(chǔ)TCP層發(fā)送給應(yīng)用層的數(shù)據(jù)包包含的數(shù)據(jù),在接收完數(shù)據(jù)包后,程序創(chuàng)建TJpegImage類型對(duì)象jpg,jpg通過LoadFromStream()方法裝載緩沖區(qū)中的數(shù)據(jù),最后在窗體上的VideoFrame圖片控件上顯示出來(lái)。   家電控制及傳感器模塊  在該模塊中,家電控制以及傳感器報(bào)警模塊依托89C51單片機(jī)豐富的I/O口完成。傳感器的報(bào)警狀態(tài)通過RS232串口向ARM發(fā)送相應(yīng)的字符串,由ARM端的應(yīng)用程序進(jìn)行解析。類似的,ARM端通過串口發(fā)送指定格式的字符串到單片機(jī)串口,串口打開相應(yīng)的LED,以表示對(duì)應(yīng)的家電的電源的打開?! ?單片機(jī)串口的配置  在智能家居系統(tǒng)的家電控制板中,單片機(jī)的串行口通信采用10位為一幀的工作方式1。這10位中,共包括1個(gè)起始位、8位數(shù)據(jù)位和1個(gè)停止位[10]。起始位D0D1D2D3D4D5D6D7停止位圖431 單片機(jī)串行工作方式1的幀格式根據(jù)串口協(xié)議,串口工作方式1中的數(shù)據(jù)發(fā)送方法是在往發(fā)送寄存器(SBUF)中發(fā)送一條8位的數(shù)據(jù)后,由硬件自動(dòng)地在它的前面加入起始位和在后面加上一個(gè)停止位,構(gòu)成完整的幀格式。數(shù)據(jù)從串口的TXD輸出,輸出完一幀數(shù)據(jù)后,TXD輸出線保持高電平,并且SCON寄存器的TI位被置位為1,通知CPU可以發(fā)送下一幀數(shù)據(jù)?! 〗邮諗?shù)據(jù)時(shí),SCON寄存器的REN位被設(shè)為1,串口采樣RXD針腳,當(dāng)RXD從高電平向低電平狀態(tài)跳變時(shí),單片機(jī)識(shí)別出起始位到達(dá),在移位脈沖的控制下,讀完數(shù)據(jù)位并且將其存入接收寄存器中,直到停止位到達(dá),置位RI中斷標(biāo)志位,單片機(jī)的CPU即可將數(shù)據(jù)取走?! ≡谥悄芗揖酉到y(tǒng)中,規(guī)定單片機(jī)的波特率為9600bps,這是為了與在應(yīng)用軟件中的串口設(shè)置相對(duì)應(yīng),使其能夠與ARM正常通信。波特率的大小由單片機(jī)的定時(shí)(計(jì)數(shù))器T1的計(jì)數(shù)溢出率決定。  在單片機(jī)擴(kuò)展板中,計(jì)算定時(shí)器的計(jì)數(shù)初值: (41)其中smod=0,使波特率不倍增,PCON=00H?! ?duì)于定時(shí)器1,選擇方式2作為其工作方式。這種工作方式將16位的計(jì)數(shù)器T1分成了兩部分,其中高8位TH1作為預(yù)置寄存器,在初始化時(shí),將計(jì)數(shù)初值分別存入TH1和TL1中,即兩者內(nèi)容相同,當(dāng)計(jì)數(shù)溢出時(shí),預(yù)置寄存器TH1將計(jì)數(shù)初值直接給TL1加載,這樣就避免了在程序中反復(fù)地存儲(chǔ)計(jì)數(shù)初值,進(jìn)一步的提高了定時(shí)的精度,保證了串行接口的波特率的穩(wěn)定,同時(shí)也是保證了串口通信的穩(wěn)定性?! ?串口通信的自定義約定  為了便于單片機(jī)與ARM之間的通訊信息的解析,特別定義了以下自定義的信息交流的格式約定。  A 傳感器報(bào)警字符串,如圖432所示。$1報(bào)頭傳感器編號(hào)圖432 傳感器報(bào)警字符串格式  該字符串為傳感器報(bào)警時(shí)單片機(jī)向ARM串口發(fā)送的字符串,共四位,不同傳感器報(bào)警時(shí),發(fā)送字符串的區(qū)別在于第四位。在家電控制板上,有三個(gè)按鈕模擬三個(gè)傳感器,即傳感器編號(hào)為3。如傳感器2報(bào)警時(shí),發(fā)送“$2”字符串到ARM。B 家電控制字符串,如圖433所示。%1111報(bào)頭家電1標(biāo)志位家電2標(biāo)志位家電3標(biāo)志位家電4標(biāo)志位圖433 家電[來(lái)源:論文天下論文網(wǎng) 控制字符串格式   該控制字符串共五位,包含報(bào)頭‘%’字符和四位分別表示不同家電的標(biāo)志位。要控制家電的電源開和關(guān),只要在對(duì)應(yīng)的位上進(jìn)行置位(設(shè)為1)或重置(設(shè)為0)即可。如要啟動(dòng)家電1和4,保持2和3的關(guān)閉狀態(tài),則向單片機(jī)發(fā)送“%1001”字符串即可?! ?單片機(jī)程序流程  單片機(jī)的程序采用C語(yǔ)言編寫。單片機(jī)的工作主流程如圖4所示。其中單片機(jī)的初始化包括對(duì)定時(shí)方式控制寄存器的初始化、對(duì)定時(shí)計(jì)數(shù)器1的初始化,串口工作方式的初始化以及波特率的設(shè)置等?! ≡趥鞲衅鳡顟B(tài)字符串信息的發(fā)送過程中,采用逐字發(fā)送的方式發(fā)送字符串。這是因?yàn)榇诠ぷ鞣绞?的約束,每次發(fā)送的數(shù)據(jù)為8位,即一個(gè)字節(jié),亦即一個(gè)字符。當(dāng)每次發(fā)送完一個(gè)字符,發(fā)送中斷標(biāo)志位TI被置位為1時(shí),再發(fā)下一個(gè)字符,直到四個(gè)字符發(fā)送完畢。  圖434和圖435分別為單片機(jī)的主程序流程和查詢傳感器狀態(tài)的程序流程。NNNYYYNSHAPE \* MERGEFORMAT 圖434 單片機(jī)工作主程序流程 圖435 單片機(jī)查詢傳感器狀態(tài)程序流程當(dāng)串口有信息到達(dá)時(shí),單片機(jī)進(jìn)入串口中斷,運(yùn)行中斷服務(wù)程序,工作流程如圖435所示。SHAPE \* MERGEFORMAT 圖436 串口中斷服務(wù)程序流程   ARM端控制和報(bào)警流程SHAPE \* MERGEFORMAT 圖437 ARM端控制和報(bào)警流程  在智能家具系統(tǒng)的ARM端應(yīng)用程序中,在報(bào)警狀態(tài)時(shí),界面上的對(duì)應(yīng)的圖片控件會(huì)閃爍,即從綠色向紅色反復(fù)變換。圖片的閃爍采用VC++里的多媒體定時(shí)器Timer完成。在報(bào)警狀態(tài)時(shí),啟動(dòng)定時(shí)器,根據(jù)報(bào)警的標(biāo)志全局變量的數(shù)值,對(duì)相應(yīng)的圖片控件進(jìn)行一次顏色變換,當(dāng)定時(shí)器到時(shí)時(shí),觸發(fā)OnTimer()事件,再對(duì)對(duì)應(yīng)的圖片控件進(jìn)行圖象的變換?! ? 系統(tǒng)測(cè)試  PC操作系統(tǒng):Microsoft Windows XP Profesional SP2軟件開發(fā)及測(cè)試平臺(tái): Visual Studio 2005 + XSBase270 SDK + 嵌入式硬件平臺(tái):XSBase270實(shí)驗(yàn)箱嵌入式操作系統(tǒng)平臺(tái):Microsoft Windows CE .net   測(cè)試步驟  (1)測(cè)試視頻捕捉和視頻遠(yuǎn)程監(jiān)視模塊  將攝像頭插入XSBase270實(shí)驗(yàn)箱的USB接口。打開電源按鈕,啟動(dòng)Windows CE。操作系統(tǒng)識(shí)別到USB設(shè)備——即攝像頭,如圖51所示。稍后將安裝它的驅(qū)動(dòng)程序。圖51 操作系統(tǒng)識(shí)別到USB設(shè)備  打開Windows CE的控制面板,如圖52所示。新建基于“COM2”端口的網(wǎng)絡(luò)連接——“我的連接”。該連接采用115200的波特率,數(shù)據(jù)位8位,停止位1位,無(wú)數(shù)據(jù)流控制,如圖53所示。并且在控制面板中的PC連接設(shè)置為“我的連接”。如圖54所示。圖52 Windows CE 控制面板圖53 “我的連接”的屬性圖54 修改默認(rèn)的PC連接  將USB線插入位于XSBase270的擴(kuò)展板上的USB_SLAVE口,另一端連接到PC機(jī)上的USB口。稍后,PC上的ActiveSync文件同步軟件即可自動(dòng)識(shí)別到XSBase270移動(dòng)設(shè)備。在Windows CE的任務(wù)欄上,出現(xiàn)“已連接”圖標(biāo),如圖55所示。在PC端,建立好PC跟XSBase270移動(dòng)設(shè)備的合作關(guān)系。ActiveSync軟件上將顯示已同步字樣。如圖55所示。圖55 建立文件同步合作關(guān)系后的程序界面  ,并且在如圖51所示的的窗口中輸入“”,系統(tǒng)即可安裝好攝像頭的驅(qū)動(dòng)?! ?,使視頻數(shù)據(jù)能夠正確的被PC接收。將標(biāo)準(zhǔn)的超五類線插入XSBase270主板上的以太網(wǎng)接口,另一端與PC的網(wǎng)卡接口相連接?! ±肰isual Studio 2005 。點(diǎn)擊運(yùn)行,Visual Studio 。點(diǎn)擊“開始監(jiān)聽”按鈕。運(yùn)行界面如圖56所示:圖56 智能家居軟件界面  在PC端打開視頻監(jiān)視工具。輸入正確的ARM端的IP和正確的端口,點(diǎn)擊“設(shè)置”按鈕,同時(shí)在ARM端點(diǎn)擊“打開攝像頭”,在PC端點(diǎn)擊“開始監(jiān)視”。即可在PC端看到ARM端上攝像頭捕捉到的圖象。如圖57所示。圖57 PC端視頻監(jiān)控畫面  (2)驗(yàn)證CEncode類的可行性?! 儆贑Encode類的兩個(gè)文件——,利用VC++ 。通過該程序往手機(jī)發(fā)送短信,以及讀取手機(jī)SIM卡里的信息,以驗(yàn)證CEncode類程序?qū)DU碼的解碼與編碼的可行性。測(cè)試程序的界面如圖58所示?! ⑹謾C(jī)SIM卡插入GSM模塊的卡槽,使用全功能串口線連接GSM模塊與PC機(jī),插入模塊附帶的9V變壓器給模塊供電?! ?dòng)測(cè)試軟件,設(shè)置好服務(wù)中心號(hào)碼和目標(biāo)號(hào)碼,進(jìn)行發(fā)送短信測(cè)試和讀取短信測(cè)試,結(jié)果證實(shí)該軟件與GSM模塊協(xié)同工作正常,CEncode類可用。圖58 PDU編碼[來(lái)源:論 解碼測(cè)試程序  ?。?)驗(yàn)證家電控制板的可用性  使用標(biāo)準(zhǔn)串口線連接家電控制板與PC機(jī)。使用“串口調(diào)試助手”軟件進(jìn)行對(duì)串口的讀寫操作。往家電控制板輸入形如“%0001”的字符串,觀察是否能啟動(dòng)對(duì)應(yīng)的LED。同樣的,按對(duì)應(yīng)的“傳感器”按鈕,觀察PC機(jī)是否能收到正確的字符串。經(jīng)過測(cè)試,家電控制板能夠正常運(yùn)行?! ? 總結(jié)與展望  經(jīng)過畢業(yè)設(shè)計(jì),我了解到了嵌入式開發(fā)的基本流程,通過編寫眾多的程序,強(qiáng)化了自己的編程能力,加深了對(duì)計(jì)算機(jī)語(yǔ)言理論的理解?! ∫?yàn)闀r(shí)間不足和精力不夠的原因,智能家居系統(tǒng)的功能設(shè)計(jì)還不夠完善,在未來(lái)時(shí)間充裕、技術(shù)更成熟的情況下,功能設(shè)計(jì)可以更加完善,如:(1)GSM模塊、家電控制板與ARM的協(xié)同合作(2)圖象捕捉算法的優(yōu)化,以太網(wǎng)數(shù)據(jù)傳輸?shù)膬?yōu)化。(3)用戶界面友好度的強(qiáng)化,用戶訪問權(quán)限和控制權(quán)限的設(shè)計(jì)。(4)系統(tǒng)的運(yùn)行信息實(shí)時(shí)保存。如傳感器報(bào)警的記錄,用戶的登陸和控制的記錄等?! ÷暶鳌 ”救肃嵵芈暶鳎核式坏膶W(xué)位論文,除文中已經(jīng)注明引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表和撰寫過的作品成果。對(duì)本人的研究作出了重要貢獻(xiàn)的個(gè)人和集體,均已在本文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。個(gè)人含息 [來(lái) [來(lái)源:論文天下論文來(lái)源:論文天下論文網(wǎng) ]54 / 5
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1