本模块TCP/IP的AT指令包含三种类型的数据通道类型。
1.缓存通道模式。
2.直接传递通道模式。
3.透传通道模式。
当通过AT+QIOPEN开启一个套接字服务,可以通过参数<access_mode>确认数据传输模式。当套接字服务开启后,AT+QISWTMD可以被用来改变数据通道模式。
1.在缓存模式中,发送数据通过AT+QISEND。当接收到数据时,模块会缓冲这个数据,然后上传一个 +QIURC:"recv",<connectID>的URC给主机。主机可通过使用AT+QIRD读取数据。说明:如果模块缓冲区不是空的,模块不会发送一个新的URC给主机,除非主机通过AT+QIRD读取所有数据。
2.在直接传递模式中,发送数据通过AT+QISEND。当接收到数据,数据将会以 +QIURC:"recv",<connectID>,<currectrecvlength><CR><LF><data> 直接通过COM口发送给主机。
3.在透传模式中,相对应的端口(如UART,USB解调器等)进入专有的模式(USB AT端口不支持透传模式)。模块从COM口接收到的数据直接发送到互联网上,从互联网上接收到的数据直接从COM口传输给主机。“+++”是用来退出透传模式的。当“+++”返回OK,这个模块将会切换到缓存通道模式。AT+QISWTMD可以被用来回到透传模式。说明:在透传模式中,主机不能执行AT指令。如果套接字连接因为网络错误或者其他原因关闭,模块会上传NO CARRIER给主机和退出透传模式。在这种情况,AT+QICLOSE将被执行去关闭套接字服务。
4.为了退出透传模式,使用“+++”或者DTR(设置AT&D1)。为了防止“+++”被当成数据,它应该完成如下顺序:
1)在输入“+++”之前T1时间(1秒)内不要输入任何字符;
2)在输入“+++”1秒内,没有任何字符输入;
3)在输入“++++”后,1秒内不要输入任何字符;
4)返回OK,退出透传模式。
5.这里有两种方式回到透传模式:
1)使用AT+QISWTMD。设置<access_mode>为2.如果进入透传模式,CONNECT将会反馈。
2)使用ATO。在退出透传模式后,ATO将会改变传输模式到透传模式。如果成功,返回CONNECT,失败,返回NO CARRIER。