sim900a tcp,SIM900A與網(wǎng)絡調(diào)試助手進行TCP收發(fā)通信
TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義。在簡化的計算機網(wǎng)絡OSI模型中,它完成第四層傳輸層所指定的功能,用戶數(shù)據(jù)報協(xié)議(UDP)是同一層內(nèi)另一個重要的傳輸協(xié)議。在因特網(wǎng)協(xié)議族(Internet protocol suite)中,TCP層是位于IP層之上,應用層之下的中間層。
不同主機的應用層之間經(jīng)常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。應用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)?、?位字節(jié)表示的數(shù)據(jù)流,然后TCP把數(shù)據(jù)流分區(qū)成適當長度的報文段(通常受該計算機連接的網(wǎng)絡的數(shù)據(jù)鏈路層的最大傳輸單元( MTU)的限制)。之后TCP把結(jié)果包傳給IP層,由它來通過網(wǎng)絡將包傳送給接收端實體的TCP層。
TCP為了保證不發(fā)生丟包,就給每個包一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然后接收端實體對已成功收到的包發(fā)回一個相應的確認(ACK);如果發(fā)送端實體在合理的往返時延(RTT)內(nèi)未收到確認,那么對應的數(shù)據(jù)包就被假設為已丟失將會被進行重傳。TCP用一個校驗和函數(shù)來檢驗數(shù)據(jù)是否有錯誤;在發(fā)送和接收時都要計算校驗和。這篇文章就是和大家一起了解SIM900A與網(wǎng)絡調(diào)試助手進行TCP收發(fā)通信的。
1.設置網(wǎng)絡因為我這里是通過路由器上網(wǎng),所以要先進行一些設置。先查看自己本機IP,這里是192.168.1.103,如圖1.
圖1
通過自己的路由器,查看本機對外的IP,如圖2.
圖2
路由器的設置里面有一項“轉(zhuǎn)發(fā)規(guī)則”,如圖3,選擇“DMZ主機”。
圖3
在“DMZ主機”中,啟動DMZ主機狀態(tài),將DMZ主機IP設置為前面查到的192.168.1.103,然后保存,如圖4.
圖4
這樣就把本機的IP映射到外網(wǎng)上,就可以從外網(wǎng)直接訪問自己的電腦。
2.打開網(wǎng)絡調(diào)試工具,選擇協(xié)議類型為“TCP Server”,本地端口號可以設置為“8000”,點擊連接,如圖5所示。
圖5
3.發(fā)送AT指令進行GPRS測試
在連接好硬件后,可以先發(fā)送ATE0指令關掉回顯。
1)AT+CGCLASS=”B”
設置GPRS移動臺類型為B.
收到回復OK,表示設置成功。
2)AT+CGDCONT=1,”IP”,”CMNET”
定義PDP上下文,設置PDP上下文標志為1,IP協(xié)議,接入點為CMNET.
收到OK,表示成功。
3)AT+CGATT=1
附著GPRS
收到OK,表示成功。
4)AT+CIPCSGP=1,”CMNET”
設置GPRS連接,接入點為CMNET.
收到OK,表示成功。
5)AT+CLPORT=”TCP”,”2000”
設置本地TCP端口為2000.
收到OK,表示成功。
6)AT+CIPSTART=”TCP”,”112.87.243.40”,”8000”
啟動連接到PC,IP和端口為前文所述。
等待一會兒,收到CONNECT OK,這時,表明開發(fā)板已經(jīng)通過GPRS與PC建立連接。如圖6所示。
圖6
7)在串口工具中通過下面的指令發(fā)送數(shù)據(jù)
首先發(fā)送AT+CIPSEND
這時收到回復 》
發(fā)送一組字符(不發(fā)送新行):Hello SIM900A!
然后,以16進制方式發(fā)送1A,即發(fā)送0x1A
收到回復SEND OK,表示發(fā)送成功,如圖7所示。
圖7
這時網(wǎng)絡調(diào)試工具收到剛發(fā)送那串字符,如圖8,【Receive from 117.136.19.111 : 30549】這是由網(wǎng)絡調(diào)試工具自動加上的信息,表示開發(fā)板上SIM900A模塊的IP為117.136.19.111,端口為30549.
圖8
這時通過網(wǎng)絡調(diào)試工具發(fā)送一串字符 Hello EDNChina
接著在串口調(diào)試工具端可以收到這組字符,如圖9所示。
圖9
最后關閉TCP連接,先發(fā)送AT+CIPCLOSE=1,再發(fā)送AT+CIPSHUT,如圖10所示。