移远EC20模块的三种数据通道模式

通信网络

650人已加入

描述

EC20是移远通信推出的LTE Cat4无线通信模块,采用LTE 3GPP Rel.11技术,支持最大下行速率150Mbps和最大上行速率50Mbps;实现了3G网络与4G网络之间的无缝切换;内置多星座高精度定位GNSS接收机;在简化产品设计的同时,还大大提升了定位速度及精度。

EC20内置丰富的网络协议,集成多个工业标准接口,并支持多种驱动和软件功能(适用于Windows7/8/8.1/10,Linux,Android等操作系统下的USB驱动,eCall等),极大地拓展了EC20在M2M领域的应用范围,如CPE、路由器、数据卡、平板电脑、车载、安防以及工业级PDA等。

EC20模块的三种数据通道模式

EC20模块TCP/IP的AT指令包含三种类型的数据通道类型:1.缓存通道模式。2.直接传递通道模式。3.透传通道模式。当通过AT+QIOPEN开启一个套接字(Socket)服务,可以通过参数确认数据传输模式。当套接字服务开启后,AT+QISWTMD可以被用来改变数据通道模式。    

1.在缓存模式(Buffer access mode)中,发送数据通过AT+QISEND。当接收到数据时,模块会缓冲这个数据,然后上传一个+QIURC:"recv",的URC给主机。主机可通过使用AT+QIRD读取数据,即根据接收到的数据长度和connectID进行读取数据。说明:如果模块缓冲区不是空的,模块不会发送一个新的URC给主机,除非主机通过AT+QIRD读取所有数据。    

2.在直接传递模式(Direct push mode)中,发送数据通过AT+QISEND。当接收到数据,数据将会以 +QIURC:"recv",, 直接通过COM口发送给主机。  

3.在透传模式(Transparent access mode)中,相对应的端口(如UART,USB解调器等)进入专有的模式(USB AT端口不支持透传模式)。特别适合大数据的给服务器发送数据,在此模式下发送的所有信息都会被发送到服务器,包括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。设置为2.如果进入透传模式,CONNECT将会反馈。 2)使用ATO。在退出透传模式后,ATO将会改变传输模式到透传模式。如果成功,返回CONNECT,失败,返回NO CARRIER。  

6.EC20透传模式下的意外情况

EC20进入透传模式后,发送失败,或者远程服务器关闭会报错误信息,并且自动退出透传模式。 远程服务器正常(或意外终止程序)关闭服务: NO CARRIER +QIURC: "closed" 模块并不会因为自身网络情况差,或者其他原因断开链接而报错,即使是推出透传模式,使用ATO重新进入透传,提示的还是CONNECT。    

TCP/IP协议操作的AT指令解释

1、AT+CGATT?/AT+CGREG?命令:PS域的注册,命令主要是检测模组是否注册到了基站的PS域,简言之就是模组和基站的数据通讯是否建立(注意:CS域主要负责通话部分,PS主要负责数据通讯部分);    

2、AT+QICSGP=1,1,"CMNET","","",1:关于APN的设置问题,大家在使用手机的时候或者支持蜂窝的PAD的时候都没有进行过APN的设置,网络也可以正常连接,为什么需要设置APN?之前我也很困惑这个问题,后面有请教到移动内部的一位技术大佬,大佬是这样回答的:国内所有运营商网络在一开始的时候并没有让设备的使用者去操作输入APN,基站侧检测到未携带正确APN的设备时,基站会进行自动纠错APN,以达到让客户正常上网的目的,随着国内用户的增加和物联网设备的爆发式增长,目前基站的纠错能力存在纠错的风险,所以如果可能的话还是建议设备携带正确APN进行上网。

所以最终建议用户还是需要设置正确的APN,避免设备在SIM卡正常,模组正常,APN不正确的情况下造成PS域链接网络失败的情况。其中,中国联通的APN为:UNINET,中国移动的APN为:CMNET。  

3、AT+QIACT=1:激活PDP的连接,为下一步的TCP/IP的连接做准备;  

4、AT+QIOPEN=1,0,"TCP","119.xxx.xxx.29",xxxx2,0,1:此命令用来创建TCP/IP的连接;此时需要在服务器上先建立好服务器端口,否则发送此命令会出现创建失败的提示;模块支持创建多个contextID和connectID/socket,默认的序号开始分别为1和0;支持TCP、UDP、TCP LISTENER和UDP SERVICE。

我们使用TCP,所以这个参数为TCP;然后为服务器的IP地址和端口号,根据自己的IP地址和端口号进行填写即可;最后一个参数为数据接收的模式;我们选择1,即Direct push mode。  

5、AT+QISEND=1;发送数据开始的命令,发送此指令后,模组会回复“>”,等待接受串口数据的到来;然后可以发送数据到串口;注意单次发送的数据量应该小于等于1460Byte,否则多余的数据会被忽略;  

6、1A[HEX]:1A的格式需要在HEX模式下进行发送,此特殊字符为模组判断用户将数据发送到串口完成的标志;发送此命令后,模组会将数据发送到服务器。模组和服务器的数据交互如下所示:  

无线通信  

7、AT+QIDEACT=1:此命令用于去激活PDP的连接,简单理解就是和服务器断开连接;  

8、AT+QICLOSE=1:此命令为关闭connectID/socket的连接,把之前的connectID/socket资源进行回收;否则下次创建同样序号的connectID/socket时会出现创建失败的情况;  

9、AT+QPOWD=1:如果需要低功耗,可以将模组正常关机;  

模组的TCP/IP链接的创建和数据发送相对简单,主要特别注意每次AT指令发送完毕需要等待模组回复是否正常,建议大家详细阅读AT指令手册中相关的命令,否则会出现错误或者失败的现象。关于出现错误或者失败的处理策略,应该遵循手册中给出的流程图,避免暴力操作引起模组的损坏。  





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分