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

正文內(nèi)容

串口設(shè)備遠(yuǎn)程監(jiān)控軟件設(shè)計與實現(xiàn)畢業(yè)論文-wenkub

2023-07-08 07:11:24 本頁面
 

【正文】 合。我們通常所說的設(shè)備的串口都是按照EIA規(guī)定的電氣特性而設(shè)計的。所以串行接口是微機應(yīng)用系統(tǒng)常用的接口。因此,通信既包括計算機與外部設(shè)備之間,也包括計算機和計算機之間的信息交換。構(gòu)建了“質(zhì)量好、技術(shù)優(yōu)、專業(yè)性強,成本低,滿足客戶需求”的綜合優(yōu)勢,持續(xù)為客戶提供有競爭力的產(chǎn)品和服務(wù)。其普及以后,用于動物、植物和機器、物品的傳感器與電子標(biāo)簽及配套的接口裝置的數(shù)量將大大超過手機的數(shù)量。物聯(lián)網(wǎng)技術(shù)是一項綜合性的技術(shù),是一項系統(tǒng),其理論上的研究已經(jīng)在各行各業(yè)展開,而實際應(yīng)用還僅局限于行業(yè)內(nèi)部。遠(yuǎn)程監(jiān)控這個詞有兩重意思。上文中也提到串口是實現(xiàn)物聯(lián)網(wǎng)最后100米通訊連接的一種極為重要的方式。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)?。物?lián)網(wǎng)是互聯(lián)網(wǎng)的應(yīng)用拓展,相對于網(wǎng)絡(luò)這樣一個概念,不如說物聯(lián)網(wǎng)是業(yè)務(wù)和應(yīng)用。顧名思義,物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng)。作為物體通訊手段,在物聯(lián)網(wǎng)時代,其與互聯(lián)網(wǎng)相結(jié)合實現(xiàn)多節(jié)點、遠(yuǎn)程化的串口通訊網(wǎng)成為物聯(lián)網(wǎng)應(yīng)用的一個重要方向。這其中就包括串口通訊。這種網(wǎng)絡(luò)的發(fā)展不僅提升了人與人(Man to Man)的通訊,更加逐步發(fā)展出了人與物(Man to Thing)甚至物與物(Thing to Thing)的通訊需要。這個階段的互聯(lián)網(wǎng),我們稱之為物聯(lián)網(wǎng)(Internet of Things)。串口通訊是一種簡單的、低速率通訊手段。、串口通訊及遠(yuǎn)程監(jiān)控的概述物聯(lián)網(wǎng)(Internet of Things,縮寫IOT)是一個基于互聯(lián)網(wǎng)、傳統(tǒng)電信網(wǎng)等信息承載體,讓所有能夠被獨立尋址的普通物理對象實現(xiàn)互聯(lián)互通的網(wǎng)絡(luò)。其一,物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴展的網(wǎng)絡(luò);其二,其用戶端延伸和擴展到了任何物品與物品之間,進(jìn)行信息交換和通信。串口通信(Serial Communication), 是指外設(shè)間,通過數(shù)據(jù)信號線 、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式,主要用于串行式逐位數(shù)據(jù)傳輸。串口是一種常見且有較長應(yīng)用歷史的設(shè)備間的通訊辦法。尤其在工業(yè)、通訊等領(lǐng)域內(nèi),串口在設(shè)備通訊方面有著極為廣泛的應(yīng)用。計算機領(lǐng)域和視頻監(jiān)控領(lǐng)域都有遠(yuǎn)程監(jiān)控的說法,但意義完全不一樣。關(guān)于物聯(lián)網(wǎng)的規(guī)劃和設(shè)計以及研發(fā)關(guān)鍵在于RFID、傳感器、嵌入式軟件以及傳輸數(shù)據(jù)計算等領(lǐng)域的研究。按照對物聯(lián)網(wǎng)的需求,需要按億計的傳感器和電子標(biāo)簽,這將大大推進(jìn)信息技術(shù)元件的生產(chǎn),同時增加大量的就業(yè)機會。物聯(lián)網(wǎng)產(chǎn)業(yè)是當(dāng)今世界經(jīng)濟和科技發(fā)展的戰(zhàn)略制高點之一。由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進(jìn)行信息傳送,因此,特別適合于遠(yuǎn)距離傳輸。許多外設(shè)和計算機按串行方式進(jìn)行通信,這里所說的串行方式,是指外設(shè)與接口電路之間的信息傳送方式,實際上,CPU 與接口之間仍按并行方式工作。研究物聯(lián)網(wǎng),對串口設(shè)備的聯(lián)網(wǎng)、組網(wǎng)的研究也就是勢在必行的。遠(yuǎn)程監(jiān)控系統(tǒng)有兩種類型,一種是生產(chǎn)現(xiàn)場沒有現(xiàn)場監(jiān)控系統(tǒng),而是將數(shù)據(jù)采集后直接送到遠(yuǎn)程計算機進(jìn)行處理,這種遠(yuǎn)程監(jiān)控與一般的現(xiàn)場監(jiān)控沒有多大的區(qū)別,只是數(shù)據(jù)傳輸距離比現(xiàn)場監(jiān)控系統(tǒng)要遠(yuǎn),其它部分則和現(xiàn)場監(jiān)控系統(tǒng)相同;另一種是現(xiàn)場監(jiān)控與遠(yuǎn)程監(jiān)控并存。本文即研究了串口聯(lián)網(wǎng)的原理,采用串口聯(lián)網(wǎng)服務(wù)器實現(xiàn)串口通訊與互聯(lián)網(wǎng)的結(jié)合,完成一臺串口設(shè)備的遠(yuǎn)程通訊。論文的第三至第七章將分析本課題的工作并詳細(xì)描述基于串口聯(lián)網(wǎng)服務(wù)器的串口遠(yuǎn)程聯(lián)網(wǎng)連接的實現(xiàn)。圖 01:課題硬件結(jié)構(gòu)設(shè)計課題設(shè)計如圖31所示硬件結(jié)構(gòu)。如果計算機至串口服務(wù)器的連接是經(jīng)由互聯(lián)網(wǎng)(Internet)的,則還需掌握相關(guān)路由配置,有可能需增加一定網(wǎng)絡(luò)設(shè)備以打通路由連接。本課題的目標(biāo)也是實現(xiàn)這一基礎(chǔ)功能,為后續(xù)應(yīng)用設(shè)計提供底層服務(wù)。由于串口協(xié)議不具有網(wǎng)絡(luò)層和傳輸層,所以串口轉(zhuǎn)網(wǎng)口的通信,實際是將串口數(shù)據(jù)作為TCP/IP的應(yīng)用層數(shù)據(jù),用TCP封裝傳輸?shù)姆绞?。此種模式類似于打電話機制,打電話的人是TCP客戶端,而接電話的是TCP服務(wù)端。其基本的硬件架構(gòu)如圖21所示:圖 02:串口聯(lián)網(wǎng)服務(wù)器應(yīng)用網(wǎng)絡(luò)架構(gòu)整個控制網(wǎng)絡(luò)中,串口設(shè)備通過RS232/RS485連接到串口服務(wù)器上,串口服務(wù)器通過路由器/交換器接入以太網(wǎng)。VC++整合了便利的除錯工具,特別是整合了微軟視窗程式設(shè)計(Windows API)、三維動畫DirectX API,Microsoft .NET框架。它以擁有“語法高亮”,IntelliSense(自動完成功能)以及高級除錯功能而著稱。這些特征明顯縮短程式編輯、編譯及連結(jié)花費的時間,在大型軟件計劃上尤其顯著。Visual Studio 2008 為開發(fā)人員提供了所有相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支持 AJAX 的 Web應(yīng)用程序。 MFC除了是一個類庫以外,還是一個框架,你應(yīng)該試過,在vc++里新建一個MFC的工程,開發(fā)環(huán)境會自動幫你產(chǎn)生許多文件。MFC Object 和Windows Object是不一樣的,但兩者緊密聯(lián)系。第三章串口聯(lián)網(wǎng)服務(wù)器通訊底層 通信底層設(shè)計串口聯(lián)網(wǎng)軟件底層以其硬件架構(gòu)為基礎(chǔ)。運行在PC的Client監(jiān)控終端,通過Socket與運行在串口服務(wù)器的Server端建立通信連接,進(jìn)而控制串口設(shè)備。 MFC中TCP socket編程串口聯(lián)網(wǎng)網(wǎng)絡(luò)中,串口設(shè)備與PC端監(jiān)控軟件的通信,主要通過TCP socket套接字實現(xiàn)。流式套接字提供沒有記錄邊界的數(shù)據(jù)流,即字節(jié)流。當(dāng)服務(wù)器接收到來自客戶機的連接請求后,與客戶機建立連接。主要的API函數(shù)如下:1) WSAStartup 調(diào)用 windows Socket DLL 函數(shù)原型 int WSAStartup(WORD wVersionRequested, // 應(yīng)用程序要求的 sockets 版本LPWSADATA lpWSAData //指向數(shù)據(jù)結(jié)構(gòu) WSDATA 的指針,//得到 windows Socket 的具體信息) ;WSDATA 定義如下:typedef struct WSAData {WORD wVersion。char FAR * lpVendorInfo。char szSystemStatus[WSASYS_STATUS_LEN+1]。endif} WSADATA, FAR * LPWSADATA。4)closesocket 關(guān)閉套接字函數(shù)原型:int closesocket(SOCKET s //要關(guān)閉的套接字)。struct sockaddr_in{short sin_family。}。8)connect 連接客戶端的 socket 到指定的網(wǎng)絡(luò)服務(wù)器。返回值:接收到的字節(jié)數(shù)10)send 對已經(jīng)建立連接的 socket 發(fā)送數(shù)據(jù)信息函數(shù)原型:int send(SOCKET s,char FAR* buf, //發(fā)送數(shù)據(jù)緩沖區(qū)int len ,// 緩沖區(qū)長度int flags //有 MSG_PEEK 和 MSG_OOB)。13)recvfrom 接收目標(biāo)地址傳來的數(shù)據(jù)信息函數(shù)原型:int recvfrom(IN SOCKET s,OUT char FAR * buf,IN int len,IN int flags,OUT struct sockaddr FAR * from,IN OUT int FAR * fromlen)。 如果想利用 Windows Sockets 方便地處理 MFC 應(yīng)用程序中的多個網(wǎng)絡(luò)協(xié)議, 而又不想放棄靈活性, 可以考慮使用CAsyncSocket 。CSocket 類支持流方式和數(shù)據(jù)報方式,但一般情況下用的更多的是流方式的數(shù)據(jù)通信。 MFC下Socket編程基本步驟基本的編程步驟如下:服務(wù)器端編程的步驟:2)綁定套接字到一個IP地址和一個端口上(bind());4)請求到來后,接受連接請求,返回一個新的對應(yīng)于此次連接的套接字(accept());6)返回,等待另一連接請求; Client接收數(shù)據(jù)處理 串口設(shè)備數(shù)據(jù)的收發(fā)以字符形式進(jìn)行。1)Socket消息響應(yīng)實現(xiàn)數(shù)據(jù)接收利用Socket消息響應(yīng)實現(xiàn)數(shù)據(jù)收發(fā),首先需要利用WSAAsyncSelect()注冊消息響應(yīng)類型。OnSocket消息響應(yīng)函數(shù)添加步驟如下:定義Onsocket消息:define WM_SOCKET (WM_USER+100)定義OnSocket()消息響應(yīng)函數(shù):afx_msg void OnSocket(WPARAM wParam,LPARAM lParam)。當(dāng)有新的設(shè)備需要監(jiān)控時,則在主應(yīng)用程序中新開辟一個線程,該線程用于專門處理新增加設(shè)備數(shù)據(jù)的收發(fā)。 //定義WSADATA結(jié)構(gòu)體對象 WORD w=MAKEWORD(2,0)。 GetDlgItemText(IDC_EDIT_PORT,strPort)。4)設(shè)置套接字的阻塞模式:::WSAAsyncSelect(m_socket,thism_hWnd,WM_SOCKET,FD_READ|FD_CONNECT)。6)連接服務(wù)器端connect(m_socket, (sockaddr*)amp。 ()。 BYTE buf[128] = {0}。 nRead = ::recv(m_socket, buffer, 128, 0)。 case SOCKET_ERROR: if(GetLastError() != WSAEWOULDBLOCK) AfxMessageBox(Error occurred)。 int j = 0。 OnCommunication((WPARAM)buf[i], 0)。 m_sendWay = SEND_BY_INTERNET。 本章通過學(xué)習(xí)底層通信原理及流式套接字編程模型等相關(guān)知識,在VC++中運用調(diào)用socket API中的函數(shù)進(jìn)行編程,來實現(xiàn)客戶端與服務(wù)器的數(shù)據(jù)互通。若接收到的數(shù)據(jù)與設(shè)備協(xié)議相符合,則對數(shù)據(jù)進(jìn)行解析處理。幀頭(1)地址(1)控制字(1)數(shù)據(jù)長度(1)數(shù)據(jù)(N)CRC16校驗(2) GPS串口設(shè)備中,其發(fā)送的數(shù)據(jù)幀格式為:根據(jù)協(xié)議,設(shè)計了6個狀態(tài)的狀態(tài)機,用于實現(xiàn)數(shù)據(jù)驗證:Waiting:數(shù)據(jù)等待狀態(tài),當(dāng)接受到數(shù)據(jù)時,則根據(jù)判斷流轉(zhuǎn)到下一個狀態(tài)BYTE_HEAD:幀頭驗證狀態(tài)BYTE_ADDR: 地址驗證狀態(tài)BYTE_CONTROL:控制字驗證狀態(tài)BYTE_LENGTH:數(shù)據(jù)長度驗證狀態(tài)BYTE_DATA:數(shù)據(jù)項驗證狀態(tài)BYTE_CRC:校驗碼驗證狀態(tài)整個狀態(tài)機的流轉(zhuǎn)過程如下圖所示圖 01:串口數(shù)據(jù)接收及驗證機制OnSocket()函數(shù)接收到字符數(shù)據(jù)以后,把接收到的字符存入到事先定義好的Buffer[]緩存數(shù)組。GPS設(shè)備中協(xié)議中,時間部分協(xié)議如下: 以GPS協(xié)議接收數(shù)據(jù)的時間幀為例,DisPlay()函數(shù)解析時間過程如下:1) 判斷是否是時間幀:時間幀的控制字為0x81,而控制字存在m_RecvData[128]數(shù)組的第3個字節(jié),即m
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1