如何去建立一個TCP客戶端連接:
首先,在任何TCP / UDP的相關操作之前設置模塊應連接到GSM或GPRS網絡。
用戶可以使用命令“AT+ CREG?”和“AT+ CGATT?”查詢GSM網絡注冊狀態的模塊是否已連接到GPRS服務。
AT+CPIN? //查詢PIN
+CPIN:READY //MT不需要任何密碼
OK
AT+CSQ=? //信號質量查詢
+CSQ:20,0 //來自ME的接收信號強度指示和信道誤碼率
OK
AT+CREG? //查詢網絡注冊信息
+CREG:0,1 //關閉顯示網絡注冊未知結果碼,注冊的,歸屬網絡
OK
AT+CGATT? //查詢附著和分離GPRS業務
+CGATT:1 //附著狀態
OK
其次,用戶應該使用命令組AT+ CSTT,AT+ CIICR和AT+ CIFSR啟動任務,激活無線連接。
最后,用戶可以通過AT命令(AT + CIPSTART=“TCP”,“IP服務器的地址”,“服務器的端口號”)建立SIM900和服務器之間的TCP連接。
如果連接成功建立,將會從模塊返回響應“CONNECT OK”。
現在,用戶可以用“AT + CIPSEND”命令將數據發送到服務器。
“AT+ CIPSEND”將返回推進符號“》”,用戶應在“》”然后發出CTRL+ Z(0x1A的)發送數據寫入。
如果發送成功,它
會回應“SEND OK”。
如果有數據來自服務器,模塊將自動從串行端口接收的數據。
用戶可以關閉與“AT+ CIPCLOSE”命令的TCP連接。
下面是TCP連接到遠程服務器的一個例子。
AT+CGATT? //查詢附著和分離GPRS業務
+CGATT:1 //附著狀態
OK
AT+CSTT=“CMNET”//啟動任務并設置接入點APN、用戶名、密碼
OK
AT+CIICR //打開無線連接(GPRS 或者 CSD)
OK
AT+CIFSR //獲取本地IP地址
10.78.245.128
AT+CIPSTART=“TCP”,“116.228.221.51”,“8500”//建立TCP連接或注冊UDP端口號
OK //格式正確
CONNECT OK //說明TCP連接已經成功建立
AT+CIPSEND //發送數據
》 hello TCP sever//
SEND OK //數據發送成功
hello sim900 //服務器返回數據
CLOSED //服務器斷開連接
如何建立一個UDP客戶端連接
AT+CGATT? //查詢附著和分離GPRS業務
+CGATT:1 //附著狀態
OK
AT+CSTT=“CMNET”//啟動任務并設置接入點APN、用戶名、密碼
OK
AT+CIICR //打開無線連接(GPRS 或者 CSD)
OK
AT+CIFSR //獲取本地IP地址
10.77.65.18
AT+CIPSTART=“UDP”,“116,228,221.51”,“9600”//建立UDP連接,遠端IP地址,遠端服務端口號
CONNECT OK //UDP連接成功建立
AT+CIPSEND
》 sim900 UDP test
SEND OK //只知道數據已經從端口發送出去,但不知道數據是否已經到達服務器
UDP test
AT+CIPCLOSE
CLOSE OK
如何建立一個TCP連接服務器
在單一連接模式下,當配置為TCP服務器,SIM900只允許一個客戶端連接進來。
用戶應該使用命令“AT+ CIPSERVER=1,”《port》“啟動服務器功能,并設置監聽端口。
如果成功的話,將返回響應“SERVER OK”,而現在服務器開始監聽TCP端口。
然后,用戶應使用命令“AT+ CIFSR”來獲取本地IP地址,這是服務器的IP地址。
如果客戶端連接到服務器成功,遠程客戶端的IP地址將在服務器這邊被顯示。
并且服務器可以從遠程端接收的TCP數據。
用戶還可以使用命令AT + CIPSEND將數據發送到遠程客戶端。
用戶也可以使用“AT+ CIPSERVER=0”關閉監聽狀態。此外,用戶可以使用AT+ CIPCLOSE關閉TCP連接。
AT+CGATT? //查詢附著和分離GPRS業務
+CGATT:1 //附著狀態
OK
AT+CIPSERVER=1,1234 //開啟服務器配置,端口號1234
OK
SERVER OK //TCP服務器已經成功建立
AT+CIFSR //獲取本地地址
10.78.33.227
AT+CIPSTATUS
OK
STATE:SERVER LISTENING //查詢當前狀態:監聽
REMOTE IP:10.78.103.220 //接入遠程客戶端
hello server //接收到遠程客戶端的數據
AT+CIPSEND
》hello client //向遠程客戶端發送數據
SEND OK
AT + CIPSERVER = 0 //關閉當前監聽狀態
OK
SERVER CLOSE
hello sim900
AT+CIPCLOSE //關閉TCP或UDP連接
CLOSE OK
UDP擴展模式
在UDP擴展模式下,SIM900能接收到來自UDP數據
AT+CGATT? //查詢
附著和分離GPRS業務
+CGATT:1 //附著狀態
OK
AT+CSTT //啟動任務并設置接入點APN、用戶名、密碼
OK
AT+CIICR //打開無線連接(GPRS 或者 CSD)
OK
AT+CIFSR //獲取本地IP地址
10.92.17.107
AT+CLPORT=“UDP”,8888 //設置本地UDP端口
OK
AT+CIPSRIP=1 //顯示發送方的IP地址和端口號
OK
AT+CIPHEAD=1 //設置IP頭,格式“+IDP,data length:”
OK
AT+CIPUDPMODE=1 //設置UDP擴展模式
OK
AT+CIPSTART=“UDP”,“116.228.221.51”,9600 //啟動UDP與遠端服務器的連接
OK
CONNECT OK
AT+CIPUDPMODE?
+CIPUDPMODE:1,“116.228.221.51”,9600
OK
RECV FROM: 116.228.221.51:9600 //接收來自不同IP地址和端口的數據
+IPD,5,test1
RECV FROM: 116.228.221.51:1234
+IPD,5,test2
RECV FROM:10.78.103.220:5678
+IPD,5:test3
AT+CIPSEND
》 Hello 9600
SEND OK
AT+CIPUDPMODE=2,“211.136.131.65”,4500
OK
AT+CIPUDPMODE?
+CIPUDPMODE:1,“211.136.131.65”,4500
OK
AT+CIPSEND
》Hello 4500
SEND OK
評論
查看更多