MC55 TCP(R3透传)使用方法
MC55 TCP 使用方法功能简介:1可用作TCP 的客户端和服务器端2可用作UDP,FTP,HTTP,SMTP,POP3客户端3 支持IP 地址和域名访问4 一次只能打开一个连接,不支持同时多个连接
MC55 TCP 使用方法
功能简介:
1可用作TCP 的客户端和服务器端
2可用作UDP,FTP,HTTP,SMTP,POP3客户端
3 支持IP 地址和域名访问
4 一次只能打开一个连接,不支持同时多个连接(除非外加协议栈),比如不支持同时打开多个TCP 连接。
5 传输数据包最大为1500字节
TCP 使用方法:
上电
AT CREG?
CREG:0,1或5才注册成功,才可以向下执行
OK
创建connecting profile
at^sics=0,conType,GPRS0
at^sics=0,passwd,gprs
at^sics=0,user,cm
at^sics=0,apn,cmnet
创建tcp service profile
at^siss=1,srvType,socket
at^siss=1,conId,0
at^siss=1,address,"socktcp://124.126.160.98:34560"
或at^siss=1,address,"socktcp://me99.vicp.net:34560"
// at^siss=1,address,"socktcp://unipels.oicp.net :34560"
打开TCP 连接
AT^SISO=1
写入数据
AT^SISW=1,20 //要发送20个字节
12345678901234567890 //收到20个数据后,MC55将自动发送出去 读入数据
AT^SISR=1,1500 //读入1500个接收缓冲区
关闭tcp
AT^SISC=1
,注意:我已经测试过,收发数据都没有问题,由于我的GPRS 数据卡不是包月的,所以大数据量传输没有测试。
例子:
创建connecting profile:
at^sics=0,conType,GPRS0
OK
at^sics=0,passwd,gprs
OK
at^sics=0,user,cm
OK
at^sics=0,apn,cmnet
OK
创建tcp service profile:
at^siss=1,srvType,socket
OK
at^siss=1,conId,0
OK
at^siss=1,address,"socktcp://122.232.15.115:34560"
OK //这里应该使用用户的IP 地址或域名 打开TCP 连接
AT^SISO=1
OK
^SISW: 1, 1 (tcp连接成功)
at^sisw=1,20 (要向服务器发送20个字节的数据)
^SISW: 1, 20, 20 (模块提示准备要接收20个字节的数据)
xxxxxxxxxxxxxxxxxxxx (数据内容)
OK
^SISW:1,1 (发送成功)
^SISR: 1, 1 (接收到数据)
AT^SISR=1,1500 (读取缓冲区前1500字节数据)
^SISR: 1, 29
www.bjcjt.com (数据内容)
14:21:02 OK
OK
这里要说一下,许多用户说,测试时MC55连接服务器不成功,问这个是什么原因。我想提醒大家注意:
1, 首先要确定IP 及端口是正确的,要保证你的这个IP 及端口上运行的服
务器软件可以正常连接(一定要外网IP 可以正常连接以后,再用MC55测试)
2, 绝大多数是服务器自身的问题,另外一个是卡的问题,要保证这个SIM
卡可以访问INTERNET ,也就是说卡要支持CMNET 网关,有些地区神州
,行的卡只能使用CMWAP 网关(只能访问移动内网,而不能访问INTERNET )。最好使用全球通或动感地带的卡。
at^siss=1,address,"socktcp://me99.vicp.net:34560" //设置目的服务器 OK
at^siso=1
OK
^SISW: 1, 1
^SISR: 1, 1
at^sisw=1,5
^SISW: 1, 5, 5
OK
^SISW: 1, 1
at^sisw=1,5,1
^SISW: 1, 5, 5
OK
at^siso=1
CME ERROR: 3
at^sisc=1
OK
at^siso=1
OK
at^sisw=1,5,0,1
^SISW: 1, 1500, 0
12312
OK
^SISW: 1, 1
^SISR: 1, 1
^SISW: 1, 1
at^sisw=1,10,0,1
^SISW: 1, 1500, 0 //建立连接 //URC:连接成功,能发数据 //URC:收到服务器数据 //要发送5个字节数据,采用二进制方式发送 //URC:准备好接收数据 //输入5个数据(不显示) //URC:发送成功 //URC:可以发送数据 //再要发送5个数据,带结束标志(发送完成后断开连接)//URC:准备接收5个数据 //输入数据(不显示) //发送成功(此时查看服务器端,连接已经断开) //再次试图连接服务器 //URC:返回ERROR //必须先关闭刚才的连接 //再次连接服务器 //连接成功 //要发送5个字节,采用交互方式,没有断开标志 //URC:准备接收数据 //数据内容,共5个字节,结束符
1234567890
OK //URC:发送成功
^SISW: 1, 1 //URC:可以发送数据
at^sisr=1,0 //想要查询目前共收到多少数据
^SISR: 1, 290 //URC:共收到290个字节
OK
at^sisw=1,5,0,1 //再次发送数据,采用交互方式,没有断开标志 ^SISW: 1, 1500, 0 //URC:准备接收数据
adfsasa12312312312312312313
OK //URC:发送成功
^SISR: 1, 1 //URC:接收到数据
^SISW: 1, 1 //URC:可以发送数据
at^sisr=1,0 //查询当前共收到多少数据
^SISR: 1, 464 //URC:共收到464个字节
OK
^SISR: 1, 1 //URC:收到数据
at^sisr=1,0 //查询当前共收到多少数据
^SISR: 1, 493 //URC:共收到493个字节
OK
at^sisw=1,1,0,1 //再次发送数据,采用交互方式,没有断开标志
^SISW: 1, 1500, 0 //URC:准备好接收数据
12345
OK
^SISR: 1, 1 //URC:收到数据
^SISW: 1, 1 //URC:可以发送数据
at^sisw=1,1,1,1 //再次发送数据,交互方式,有断开标志
^SISW: 1, 1500, 0 //URC:准备接收数据
asdfasdfasf
OK //发送成功,服务器端看到连接已经断开
at^sisr=1,1500 //要读出所有接收到的数据
^SISR: 1, 725 //URC:共收到725个字节的数据,以下是数据内容
,www.bjcjt.com 17:39:11 OK www.bjcjt.com 17:39:16 OK www.bjcjt.com 17:39:21 OK www.bjcjt.com 17:39:26 OK www.bjcjt.com 17:39:31 OK www.bjcjt.com 17:39:36 OK www.bjcjt.com 17:39:41 OK www.bjcjt.com 17:39:46 OK www.bjcjt.com 17:39:51 OK www.bjcjt.com 17:39:56 OK www.bjcjt.com 17:40:01 OK www.bjcjt.com 17:40:06 OK www.bjcjt.com 17:40:11 OK www.bjcjt.com 17:40:16 OK www.bjcjt.com 17:40:21 OK www.bjcjt.com 17:40:26 OK www.bjcjt.com 17:40:31 OK www.bjcjt.com 17:40:36 OK www.bjcjt.com 17:40:41 OK www.bjcjt.com 17:40:46 OK www.bjcjt.com 17:40:51 OK www.bjcjt.com 17:40:56 OK
,www.bjcjt.com
17:41:01 OK
www.bjcjt.com
17:41:06 OK
www.bjcjt.com
17:41:11 OK
OK
^SISR: 1, 2 //URC:数据传输已经结束
at^sisi? //查询SISI 服务状态
^SISI: 1,6,725,58,58,0 //URC:1平台,6断开,共收到725个,共发58个,应答58个,未应答0个
OK
at^sici? //查询连接状态
^SICI: 0,2,0,"10.132.0.5" //连接配置0,GPRS 成功2,服务数目0个,当前IP
OK
at^sisi?
^SISI: 1,6,725,58,58,0
OK
at^sisc=1
OK
MC55模块TCP 指令介绍及测试
步骤1:设置连接物理层平台SICS ,是GPRS 还是CSD
步骤2:设置应用协议平台SISS ,是SOCKET ,FTP ,HTTP ,POP ,SMTP ,Transparent 步骤3:建立连接SISO ,查询SISO?
步骤4:发送或接收数据SISW 或SISR ,SIST 建立透明,SISI 查询状态,SISE 查询错误 步骤5:关闭连接SISC
ati
SIEMENS
MC55
REVISION 04.00
OK
at^sics=0,contype,gprs0 //选择连接方式GPRS 还是CSD
,OK
at^sics?
^SICS: 0,"conType","GPRS0" //连接平台0,连接方式是GPRS
^SICS: 0,"alphabet","0" //连接平台0,设置字符集,0为AT +CSCS 指定
^SICS: 0,"inactTO","20" //连接平台0,设置内部超时时间 ^SICS: 0,"user","" //连接平台0,设置用户名
^SICS: 0,"passwd","*****" //连接平台0,设置密码 ^SICS: 0,"apn","" //连接平台0,设置APN
^SICS: 1,"conType","" //连接平台1,空
^SICS: 2,"conType","" //连接平台2,空
^SICS: 3,"conType","" //连接平台3,空
^SICS: 4,"conType","" //连接平台4,空
^SICS: 5,"conType","" //平连接台5,空
OK
at^sics=0,apn,cmnet //设置APN
OK
以上contype 及apn 为GPRS0应用的强制设置参数。
at^siss=0,srvtype,socket
OK
at^siss?
^SISS: 0,"srvType","Socket" //第0个服务平台,服务类型为socket ^SISS: 0,"conId","0" //第0个服务平台,使用的连接平台为0 ^SISS: 0,"alphabet","0" //第0个服务平台,
^SISS: 0,"address","" //第0个服务平台,目前设备的地址为空 ^SISS: 0,"tcpMR","10" //第0个服务平台,
^SISS: 0,"tcpOT","6000" //第0个服务平台,
^SISS: 1,"srvType","" //第1个服务平台,
^SISS: 2,"srvType","" //第2个服务平台,
^SISS: 3,"srvType","" //第3个服务平台,
^SISS: 4,"srvType","" //第4个服务平台,
^SISS: 5,"srvType","" //第5个服务平台,
^SISS: 6,"srvType","" //第6个服务平台,
^SISS: 7,"srvType","" //第7个服务平台,
^SISS: 8,"srvType","" //第8个服务平台,
^SISS: 9,"srvType","" //第9个服务平台,
OK
at^siss=0,conid,0 //指定internet 连接平台,sics 所设置的
,OK
at^siss=0,address,socktcp://me99.vicp.net:34560 //设定IP 地址及端口
OK
at^siss?
^SISS: 0,"srvType","Socket"
^SISS: 0,"conId","0"
^SISS: 0,"alphabet","0"
^SISS: 0,"address","socktcp://me99.vicp.net:34560"
^SISS: 0,"tcpMR","10"
^SISS: 0,"tcpOT","6000"
^SISS: 1,"srvType",""
^SISS: 2,"srvType",""
^SISS: 3,"srvType",""
^SISS: 4,"srvType",""
^SISS: 5,"srvType",""
^SISS: 6,"srvType",""
^SISS: 7,"srvType",""
^SISS: 8,"srvType",""
^SISS: 9,"srvType",""
OK
at^sici=0
^SICI: 0,0,0,"0.0.0.0"
OK
at^siso=1
OK
^SISW: 1, 1
at^sici=0
^SICI: 0,2,1,"10.15.104.127"
OK
^SISR: 1, 1
at^sisc=1
OK
//获取连接平台0的底层当前状态 //平台0,下线,一共0个服务,“IP 为0” //建立服务 //查询连接平台0的当前状态 //平台0,已经连接,1个服务,“自己的IP 地址” //收到数据 //结束服务
,AT^SISI查询当前的服务状态
at^sics=5,contype,gprs0
OK
at^sics=5,apn,cmnet
OK
at^siss=9,srvtype,socket
OK
at^siss=9,conid,5
OK
at^siss=9,address,socktcp://me99.vicp.net:34560 OK
at^sisi=9
^SISI: 9,2,0,0,0,0
OK
at^sici=5
^SICI: 5,0,0,"0.0.0.0"
OK
at^siso=9
OK
^SISW: 9, 1
at^sici=5
^SICI: 5,2,1,"10.14.63.53"
OK
at^sisi=9
^SISI: 9,4,29,0,0,0
OK
at^sisc=9
OK
以下是最新的MC52IR3的透明传输的使用方法 at^siss?
^SISS: 0,"srvType",""
^SISS: 1,"srvType","Socket"
^SISS: 1,"conId","0"
^SISS: 1,"alphabet","0"
^SISS: 1,"address","socktcp://me99.vicp.net:34560" ^SISS: 1,"tcpMR","10"
^SISS: 1,"tcpOT","6000"
^SISS: 2,"srvType","Transparent"
^SISS: 2,"conId","0"
^SISS: 2,"alphabet","0"
^SISS: 2,"address","me87.vicp.net:34560" ^SISS: 2,"tcpMR","10"
^SISS: 2,"tcpOT","6000"
,^SISS: 3,"srvType","" ^SISS: 4,"srvType","" ^SISS: 5,"srvType","" ^SISS: 6,"srvType","" ^SISS: 7,"srvType","" ^SISS: 8,"srvType","" ^SISS: 9,"srvType",""
OK
at^siso=2
OK
^SISW: 2, 1 at^sist=2 CONNECT www.bjcjt.com 10:32:07 OK www.bjcjt.com 10:32:12 OK
OK
AT^SISI? ^SISI: 1,2,0,0,0,0 ^SISI: 2,4,87,3,3,0
OK
AT^SIST=2 CONNECT www.bjcjt.com 10:37:07 OK
OK
at^sisc=2
OK //启动连接 //连接建立成功 //进入透明状态 //发 退出到指令状态,此时连接未断开 //查询当前的连接状态 //再回到未断开连接的透明状态 //发 退出到指令状态 //断开连接