如何去建立一个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
评论
查看更多