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

正文內(nèi)容

基于3g的遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控系統(tǒng)設(shè)計-資料下載頁

2024-11-06 09:50本頁面

【導(dǎo)讀】基于單片機和3G的數(shù)據(jù)傳輸系統(tǒng)由數(shù)據(jù)中心、3G網(wǎng)絡(luò)、數(shù)據(jù)采集終端組。容易、網(wǎng)絡(luò)用戶容易遷移和增加,這在很大程度上降低了成本。本研究可用于水情。此具有廣闊的應(yīng)用前景。

  

【正文】 Station)的功能,與 GSM 網(wǎng)絡(luò)業(yè)務(wù)進行交互 [18]。 AT指令集的格式都是以“ AT”或“ at”開頭,“ AT”或者“ at”前綴必須出現(xiàn)在每一個指令行的開頭。 AT 命令的基本格式為: AT+命令字符及相關(guān)設(shè)置參數(shù)。 這里介紹幾種主要的 AT 指令: (1)AT+CGDCONT:設(shè)置 PDP 上下文 該指令的標(biāo)準(zhǔn)格式是: AT+CGDCONT=[cid[,pdp_type[,APN[,PDP_addr[,pdl[,?pdN]]]]]] 其中, cid代表帳戶序號,取值范圍為 1~10,后續(xù)的 GPRS 操作通過該序號進行; pdp_type代表 PDP 連接類型,它的類型是 IP 連接; APN代表接入點名稱,如 CMNET 代表中國移動。 這條命令的典型用法如下: AT+CGDCONT=l,” IP” ,” CMNET” (2)AT*E2IPA:激活 IP 命令 該指令允許激活模塊的 IP 程序段,一旦在之前的存儲狀況下激活, IP連接可以建立,該模塊將被賦予一個 IP地址。其典型的指令結(jié)構(gòu)為: AT*E2IPA=Activate,cid 其中, Activate代表激活 IP 環(huán)境,該參數(shù)為 0代表關(guān)閉 IP 環(huán)境,為 1則代表激活 IP 環(huán)境; cid參數(shù)的取值范圍為 0~10,指明需要激活的 PDP序號,該參數(shù)需要和 AT+CGDCONT 指令中第一個參數(shù)對應(yīng)。如果 GR64 連接成功則返回“ OK”,否則返回錯誤碼。 這條命令的典型用法如下: AT*E2IPA=l, 1 (3)AT*E2IPO: IP連接 /打開命令(建立 TCP 連接) AT命令總線處于在線數(shù)據(jù)模式時,該指令能夠?qū)崿F(xiàn)一個新 IP 連接的初始化,一旦 IP連接激活,將返回“ CONNECT”,表示已經(jīng)成功連接。 AT指令總線將不再處于數(shù)據(jù)模式下,原有數(shù)據(jù)都傳輸給了遠(yuǎn)程節(jié)點并給出了響應(yīng)。在此過程中,如果信江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 26 道出現(xiàn)錯誤,會給出“ NO CARRIER”響應(yīng)并且關(guān)閉此次連接。該指令的典型格式如下: AT*E2IPO=IPtype,IPAddr,IPPort IPType參數(shù)為 0 時代表建立 UDP 連接,為 1代表 建立 TCP連接 。 IPAddr是一個字符串類型的參數(shù),表示要連接站點的 IP地址, IPPort取值范圍是 0~65535,表示連接的端 口號。 (4)返回命令模式 在 在線模式當(dāng)中,如果釋放 DTR 信號,這時 調(diào)制解調(diào)器 就會從在線模式轉(zhuǎn)換到命令模式,不過此時還是會繼續(xù)保持原來建立的連接。進入命令模式后,用戶又可以通過串口發(fā)送 AT命令來查詢當(dāng)前狀態(tài)或者執(zhí)行其它的操作。 (5)返回在線模式 當(dāng)用戶執(zhí)行完所需的 AT 命令后,可以使用 ATO 命令來重新返回到在線模式。如果原來的連接沒有因為其它原因中斷的話,那么用戶可 以繼續(xù)傳輸數(shù)據(jù)。響應(yīng)結(jié)果可能是“ CONNECT”、“ NO CARRIER”或者“ ERROR”。 (6)關(guān)閉連接 如果對方釋放了當(dāng)前連接或者因為其它原因中斷了當(dāng)前連接時, GR64 會返回到命令模式,并且通過串口返回字符串“ NO CARRIER”。也可以通過 AT指令來實現(xiàn)關(guān)閉 IP 連接,指令如下: AT*E2IPC:關(guān)閉 IP 連接 該命令允許關(guān)閉己經(jīng)建立的 IP 連接,但是只能在命令模式下使用。如果成功關(guān)閉連接,那么直到下一個連接建立起,才有可能重新回到數(shù)據(jù)模式。其基本格式為AT*E2IPC,返回值為“ ERROR”、“ OK”、“ *E2IPC:ErrNumERROR”,只是操作完成狀態(tài)。 (7)釋放 IP 當(dāng)完成數(shù)據(jù)傳輸后,用戶可以使用 AT*E2IPA=0,1 來釋放之前分配給 無線調(diào)制解江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 27 調(diào)器 的 IP 地址。 數(shù)據(jù)采集終端程序設(shè)計 單片機初始化模塊設(shè)計 當(dāng)單片機上電開始執(zhí)行控制程序前,必須先對所有 I/O口和其它相關(guān)模塊及寄存器進行初始化編程,設(shè)置成系統(tǒng)需要的工作模式。主要包括各變量的初始化,系統(tǒng)時鐘的設(shè)置,看門狗初始化,串行口的初始化,各 I/O 端口的初始化等。 1.時鐘設(shè)置: MSP430 的基礎(chǔ)時鐘模塊有 3 個時 鐘源: LFXT1CLK 低頻 /高頻時鐘源、XT2CLK 高頻時鐘源、 DCOCLK 時鐘源?;A(chǔ)時鐘模塊可提供 3 種時鐘信號,分別為ACLK(輔助時鐘 )、 MCLK(主時鐘 )和 SMCLK(子時鐘 )。 為了配合與微處理器的各外部模塊的工作頻率,通過設(shè)置振蕩器與時鐘控制寄存器相應(yīng)的標(biāo)志位,對應(yīng)程序如下: void Init_CLK(void)//時鐘初始化 { BCSCTL1=0X00。//將寄存器的內(nèi)容清零 BCSCTL1amp。=~(XT2OFF+XTS)。//打開 XT2, LFTX1 選擇低頻模式 BCSCTL2+=SELM1。//MCLK 的時鐘源為 TX2CLK,分頻因子為 1 BCSCTL2+=SELS。//SMCLK 的時鐘源為 TX2CLK,分頻因子為 l } 2. UART0 的初始化:包括對 UART0 控制寄存器、發(fā)送控制寄存器以及 波特率選擇寄存器等進行設(shè)置,程序如下: void Uart0Init(void) { P3SEL|=BIT4+BIT5。// 和 被發(fā)送模塊占用 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 28 P3DIR|=BIT4。//配置為輸出口 P3DIRamp。=~BIT5。//配置為輸入口 UCTL0|=SWRST。//SWRST 復(fù)位, USART 允許 UCTL0|=CHAR。//無校驗, 8位數(shù)據(jù)位, 1位停止位,波特率 9600 UBR00=0X03。 UBR10=0X00。 UMCTL0=0X4A。//波特率調(diào)整 UTCTL0=0X10。//選定 ACLK32k 晶振位時鐘源 UCTL0amp。=~SWRST。//SWRST 復(fù)位, USART 允許 ME1|=UTXE0+URXE0。//發(fā)送及接收模塊允許 IE1|=URXIE0。//接受中斷允許 } 3.看門狗定時器:本系統(tǒng)中看門狗定時器 (WDT)的主要功能是避免程序“跑飛”。當(dāng)程序發(fā)生問題時,使系統(tǒng)重新啟動。如果 WDT 超過了設(shè)定的定時時間,則發(fā)生系統(tǒng)復(fù)位。 無線通信模塊程序設(shè)計 MSP430F149 單片機通過串口發(fā)送 AT命令,控制 調(diào)制解調(diào)器 上網(wǎng)登錄,建立 TCP 連接,主要程序如下: while(1) { clrbuf()。 sprintf(SendBuf,%s,AT+CGDCONT=1,)。 SendBuf[13]=0X22。 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 29 sprintf(SendBuf+14,%s,IP)。 SendBuf[16]=0X22。 SendBuf[17]=0X2C。 SendBuf[18]=0X22。 sprintf(SendBuf+19,%s,CMNET)。 SendBuf[24]=0X22。 sprintf(SendBuf+25,%s,\r\r\n)。 flagOK=0。 Send8(27)。 while(flagOK!=0xff) { 。 } flagOK=0。 clrbuf()。 sprintf(SendBuf,%s,AT*E2IPA=1,1\r\r\n)。 Send8(16)。 while(flagOK!=0xff) { 。 } clrbuf()。 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 30 sprintf(SendBuf,%s,AT*E2IPO=1,)。 SendBuf[11]=0X22。 sprintf(SendBuf+12,%s,)。 SendBuf[27]=0X22。 sprintf(SendBuf+28,%s,8001)。 sprintf(SendBuf+33,%s,\r\r\n)。 flagCONNECT=0。 Send8(38)。 while(flagCONNECT!=0xff) { 。 } flagCONNECT=0。 flagOK=0。 } } 網(wǎng)絡(luò)通信的實現(xiàn) 網(wǎng)絡(luò)進程通信 進程通信的概念最早來自于單機系統(tǒng),而網(wǎng)絡(luò)進程通信則是不同主機的進程間的相互通信,與單純的同機進程通信相比,網(wǎng)絡(luò)進程通信具有如下特點: 1. 網(wǎng)絡(luò)進程通信的首要問題是進程標(biāo)識,即網(wǎng)絡(luò)進程標(biāo)識需要主機地址的參與; 2. 在網(wǎng)絡(luò)中,進程本身不用進程號來描述,進程號的分配隨不同系統(tǒng)的實現(xiàn)甚至江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 31 系統(tǒng)管理員的興趣變化。一個比進程更低級、更穩(wěn)定的概念是端口,端口是 TCP 和UDP與應(yīng)用程序打交道的訪問點,是 TCP/UDP 協(xié)議軟件的一部分。 Winsock 介紹 Winsock 是 Windows 下得到廣泛應(yīng)用的、開放的、支持多種協(xié)議的網(wǎng)絡(luò)編程接口 [19]。 Winsock 規(guī)范定義并記錄了如何使用 API與 Inter 協(xié)議族 CIPS,常指的是 TCP/IP 連接,尤其要指出的是,所有 Winsock 實現(xiàn)都支持流式套接字和數(shù)據(jù)報套接字。應(yīng)用程序調(diào)用 Winsock 的 API實現(xiàn)信息傳輸,本質(zhì)上是利用下層的通信協(xié)議功能和操作系統(tǒng)調(diào)用實現(xiàn)實際的通信工作。套接字 (Winsock)實質(zhì)上是進程通信的端頭 [20]。通信雙方必須先各自創(chuàng)建一個端點才可進行連接。 Winsock 是面向C/S型的,客 戶機可隨機申請一個 Winsock,系統(tǒng)為之分配一個唯一 Winsock 號,服務(wù)器擁有全局公認(rèn)的 Winsock 號,任何客戶可以向它發(fā)出連接請求及信息請求。在網(wǎng)絡(luò)內(nèi)部,每個 Winsock 用一個串相關(guān)描述, {協(xié)議,本地地址,本地端口 };每個完整的 Winsock 接口用一個串相關(guān)描述 :{協(xié)議,本地地址,本地端口,遠(yuǎn)地地址,遠(yuǎn)地端口 }。 Winsock 定義了三類型的套接字:流式套接字 (the stream socket)、數(shù)據(jù)報套接字 (the datagram socket)和原始套接字 (the raw socket)。它 們分別支持 TCP/IP 及 UDP 協(xié)議 [21]。 流式套接字采用的是 TCP/IP 協(xié)議它提供了雙向、有序、無重復(fù)且無記錄邊界的數(shù)據(jù)流服務(wù),特點是通信可靠,數(shù)據(jù)有校驗和重發(fā)的機制,適合大量數(shù)據(jù)傳輸。 數(shù)據(jù)報套接字采用的是 UDP 協(xié)議,提供無連接數(shù)據(jù)報傳輸,支持雙向的數(shù)據(jù)流,但并不保證可靠有序,這一點是它與流式套接重要的不同之處。原始套接字接口允許對較低層協(xié)議,如 IP、 ICMP 直接訪問,常用于檢驗新的協(xié)議,實現(xiàn)或訪問現(xiàn)有服務(wù)器中配置的新設(shè)備。 Winsock 的編程原理是基于套接字的系統(tǒng)調(diào)用。各主要調(diào)用函數(shù)及其功能 如圖 41 所示。 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 32 圖 4— 1 流式套接字調(diào)用流程 Winsock 通信機制 /異步傳輸機制 Windows 套接字在兩種模式下執(zhí)行 I/O 操作:同步阻塞方式和異步非阻塞方式。 同步和異步往往都是針對一個函數(shù)來說的,“同步”就是函數(shù)直到其要執(zhí)行的功能全部完成之后才返回,而“異步”則是函數(shù)僅僅做一些簡單的工作,然后馬上初始化本地端口,用 Socket()創(chuàng)建本地端口 綁定本地端口,用 Bind()指定本地地址 傾聽此端口,用 Listen()監(jiān)聽連接 接受請求,用 Accept()接受請求 初始化本地端口,用 Socket 創(chuàng)建本地端口 阻塞,等待客戶請求 在此連接端口接受傳輸數(shù)據(jù),用 Receive() 發(fā)送響應(yīng)數(shù)據(jù),用 Send() 斷開連 接,用 Close()關(guān)閉端口 連接服務(wù)器端口,用 Connect()建立連接 斷開連接,用 Close()關(guān)閉端口 在此連接端接受傳輸數(shù)據(jù),用 Receive() 發(fā)送請求數(shù)據(jù),用 Send()發(fā)送 服務(wù)器方 客戶方 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 33 返回,所要實現(xiàn)的功能留給別的線程或者消息循環(huán)去完成。在阻塞模式下, I/O 操作完成前,執(zhí)行操作的 Winsock 函數(shù)會一直等待下去,不會立即返回,例如,程序中調(diào)用了 recvfrom 函數(shù)后,如果這時網(wǎng)絡(luò)上沒有數(shù)據(jù)傳送過來,該函數(shù)就會阻塞程序的執(zhí)行,從而導(dǎo)致線程暫停運行。 而在非阻塞模式下, Winsock 無論如何都會立即返回,在該函數(shù)執(zhí)行的操作完成之后,系統(tǒng)會采取某種方式將操作結(jié)果通知給調(diào)用線程,后者根據(jù)通知信息來判斷操作是否完成、是否出錯。阻塞方式的套接字簡單、易用,但是效率低。相比之下,異步套接字使用復(fù)雜,但是效率高。 異步選擇函數(shù) 在 Windows Sockets 中提供了一組異步擴展函數(shù),實現(xiàn)基于消息機制的網(wǎng)絡(luò)通信編程,其中關(guān)鍵是提供了對網(wǎng)絡(luò)事件基于消息的異步存取 [22],其核心是異步選擇函數(shù) WSAAsyncSelect()。這個函數(shù)用來注冊應(yīng)用程序感興趣的網(wǎng)絡(luò)事件,當(dāng)這些網(wǎng)絡(luò)事件發(fā)生時,應(yīng)用程序相應(yīng)窗口函數(shù)將得到一個消息,根據(jù)消息,利用條件判定語句進行判斷,完成相應(yīng)的操作。 WS
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1