EC20模块AT命令讲解

EC20模块


        EC20 内嵌了 TCP/IP 协议栈, Host 直接通过 AT 命令可以方便的访问 internet, Host 可以减少对 PPP和 TCP/IP协议栈的依赖,实现低成本的设计。UC20提供TCP Client、UDP Client、TCP Server、UDP Service这些内置的 socket 服务功能。

在这里插入图片描述

 

在这里插入图片描述

 

AT_TCP/IP使用流程


        UC20 TCPIP AT 涉及 context profile 配置、激活和关闭、 socket 服务的启动和关闭、数据的收发这几种类型的命令,一般流程如下:


        第一步:使用AT+QICSGP配置 context profile <apn><username><password>等,同时假如需要修改该 context profile 的 QoS 参数,可以利用 AT+CGQMINAT+CGEQMINAT+CGQREQAT+CGEQREQ 这些命令来配置。

        第二步:使用 AT+QIACT激活 context profile,激活后可以利用 AT+QIACT?查询分配到的 IP 地址。

        第三步:使用 AT+QIOPEN 启动一个socket服务,通过<servicetype>可以指定服务类型。通过上报的“+QIOPEN:”这个 URC,可以看出启动 socket 服务是否成功。

        发送和接收:socket服务启动后,可以进行数据的收发。数据收发方式根据数据访问模式不同有所变化,如在 buffer access mode 下, 利用 AT+QISEND进行数据的发送,接收到数据后,会先上报+QIURC: “recv”,<connectid>这个 URC 通知 Host 使用 AT+QIRD去获取数据。 数据传输完毕后,可以使用 AT+QICLOSE 关闭 socket 服务;(第 3 ~ 5 步可以重复进行)。

        最后, 使用 AT+QIDEACT关闭 context profile

 

 

AT实例

        按照上面的步骤,举一个AT命令示例。

      第一步:配置 context profile

AT+QICSGP=1,1,”UNINET”,””,””,1 //配置 context profile 1,这里以中国联通举例

AT+QICSGP=1,1,"CMNET","","",1  //移动APN:CMNET; 联通APN:UNINET
OK

    第二步:激活 context profile

AT+QIACT=1 //激活 context profile 1
OK //激活成功
    
AT+QIACT? //查询 context profile 状态
+QIACT: 1,1,1,"10.7.157.1"
OK

关闭 context profile

AT+QIDEACT=1 //关闭 context profile 1
OK //关闭成功 

    第三步:创建套接字,发送和接收


        因为有三种不同的数据访问模式模式,通过<accessmode>指定数据访问模式 buffer access mode direct push modetransparent access mode,所以会有三种发送和接受的方式,这里以最简便的transparent access mode为例,并附上 buffer access mode的例子。

        3.1 TCP Client 工作于 transparent access mode

        建立 TCP client 连接,进入 transparent access mode

AT+QIOPEN=1,0,"TCP","61.190.19.174",8705,0,2 //在 context profile 1建立 TCP连接,<connectid>为 0
OK
CONNECT //连接成功

        在 transparent access mode 发送数据

<串口上输入要发送的数据,将直接发送到 internet 上>

        在 transparent access mode 接收远端 server 发来的数据

test1 //从 internet 接收的数据将直接输出到串口

        关闭 TCP client 连接

+++ //输入“+++” 或者在 AT&D1 设置下拉 DTR 退出数据模式, 然后才可以输入 AT
OK
AT+QICLOSE=0 //关闭<connectid>为 0 的连接
OK 

    3.2 TCP Client 工作于 buffer access mode

        1.建立 TCP client 连接,进入 buffer access mode

AT+QIOPEN=1,0,"TCP","61.190.19.174",8705,0,0 //在 context profile 1建立 TCP连接,<connectid>为 0
OK 
+QIOPEN: 0,0 //连接成功
------------------------------------
AT+QISTATE=1,0 //查询<connectid>为 0 下的连接状态
+QISTATE: 0,”TCP”,“61.190.19.174”,8705,0,2,1,0,0,”usbmodem”
OK

     

         2.在 buffer access mode 发送数据

AT+QISEND=0 //发送不指定长度数据
> test1<ctrl+Z>
SEND OK

---------------------------
AT+QISEND=0,4 //发送长度为 4 的数据
test
SEND OK

------------------------------
AT+QISEND=0,0 //查询已发送的数据长度
+QISEND: 9,0,0
OK


 

        3.在 buffer access mode 接收远端 server 发来的数据

+QIURC: “recv”,0 //表示<connectid>为 0 的连接上收到数据(假设接收到 5 个字节的数据)
AT+QIRD=0,1500 //读取 buffer 中长度为 1500 字节的数据
+QIRD: 5 //表示实际数据仅仅为 5 个字节
test1

OK

-----------------------------------
AT+QIRD=0,1500
+QIRD: 0 //buffer 中无数据

OK

--------------------------------
AT+QIRD=0,0 //查看总共接收的数据长度、 已读取的数据长度和 Buffer 中未读取的数据长度
+QIRD: 5,5,0
OK 

 

        4.关闭连接

AT+QICLOSE=0 //关闭<connectid>为 0 的连接
OK

AT_TCP常用命令

套接字链接

        AT+QIOPEN=1,0,"TCP","172.16.33.242",6666,0,0

        AT+QIOPEN=1,6,"TCP","172.18.0.207",9999,0,2

        发送长度为 4 的数据

        AT+QISEND=0,4test

        读取 buffer 中长度为 1500 字节的数据

        AT+QIRD=0,1500

        关闭连接

        AT+QICLOSE=0

        获取错误信息

        AT+QIGETERROR

 

应用例子

在这里插入图片描述

 

备注

测试代码:单片机代码
附上一个在线调试tcp服务器:公共TCP服务器

 

 

 


————————————————
版权声明:本文为CSDN博主「O_MMMM_O」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/O_MMMM_O/article/details/98501735

https://blog.csdn.net/O_MMMM_O/article/details/98501735?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值