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+CGQMIN、 AT+CGEQMIN、 AT+CGQREQ、AT+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 modedirect 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
  1. 在 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
  1. 在 buffer access mode 接收远端 server 发来的数据
+QIURC: “recv”,0 //表示<connectid>为 0 的连接上收到数据(假设接收到 5 个字节的数据)
AT+QIRD=0,1500 //读取 buffer 中长度为 1500 字节的数据
+QIRD: 5 //表示实际数据仅仅为 5 个字节
test1OK-----------------------------------
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常用命令

套接字链接

A T + Q I O P E N = 1 , 0 , &quot; T C P &quot; , &quot; 172.16.33.242 &quot; , 6666 , 0 , 0 A T + Q I O P E N = 1 , 6 , &quot; T C P &quot; , &quot; 172.18.0.207 &quot; , 9999 , 0 , 2 AT+QIOPEN=1,0,&quot;TCP&quot;,&quot;172.16.33.242&quot;,6666,0,0\\ AT+QIOPEN=1,6,&quot;TCP&quot;,&quot;172.18.0.207&quot;,9999,0,2 AT+QIOPEN=1,0,"TCP","172.16.33.242",6666,0,0AT+QIOPEN=1,6,"TCP","172.18.0.207",9999,0,2

发送长度为 4 的数据

A T + Q I S E N D = 0 , 4 t e s t AT+QISEND=0,4 \\ test\\ AT+QISEND=0,4test

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

A T + Q I R D = 0 , 1500 AT+QIRD=0,1500 AT+QIRD=0,1500

关闭连接

A T + Q I C L O S E = 0 AT+QICLOSE=0 AT+QICLOSE=0

获取错误信息

A T + Q I G E T E R R O R AT+QIGETERROR AT+QIGETERROR

应用例子

备注

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

EC20模块AT命令讲解相关推荐

  1. ec20 复位命令_EC20模块AT命令讲解

    EC20模块 EC20 内嵌了 TCP/IP 协议栈, Host 直接通过 AT 命令可以方便的访问 internet, Host 可以减少对 PPP和 TCP/IP协议栈的依赖,实现低成本的设计.U ...

  2. 移远EC20模块通过物理串口连接PC或者MCU,通过AT命令进行控制

    关键词:移远  EC20  UART  物理串口  1.8V  AT命令  MCU  PC  控制 概述:EC20一般通过USB和运行Windows的PC.运行安卓或Linux的嵌入式平台进行连接,以 ...

  3. ec20 复位命令_EC20模块开启SIM卡热插拔及重启模块AT命令

    EC20模块(CEFAG全功能版)开启SIM卡热插拔及重启模块AT命令 AT+QSIMDET=1,1或AT+QSIMDET=1,0开启     可以设置高电平  或者低电平有效//SIM卡热拔插,同一 ...

  4. EC20模块、主机休眠唤醒机制

    来自移远手册<Quectel_EC20_低功耗管理_应用指导_V1.0.pdf>   当 EC20 模块嵌入主机系统时,主机系统整体的功耗会相应增大.对此, EC20 面向主机端提供了多种 ...

  5. 多任务 schedule python_Python3.6 Schedule 模块定时任务 (实例讲解)

    Python3.6 Schedule 模块定时任务 (实例讲解) Python 是一种面向对象解释型计算机程序设计语言, 由 Guido van Rossum 于 1989 年底发明, 第一个公开发行 ...

  6. NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号

    NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号 1. EC20模块连接 2. Linux内核配置 3. 交叉编译PPP 4. 拨号脚本 5. 进行拨号 1. EC20模块连接 在 ...

  7. React微前端模块联盟概念讲解

    React&微前端&模块联盟概念讲解@react,webpack,微前端 什么是微前端? 微前端架构(micro frontends architecture)设计风格为应用程序的前端 ...

  8. 内核编译及模块相关命令使用

    本文讲解了怎样进行内核编译及模块相关命令的使用方法. 一 Linux内核相关信息 #查看Linux系统 [root@serv01 ~]# uname Linux #查看所有信息 [root@serv0 ...

  9. 树莓派Centos系统下通过EC20模块进行4G上网

    树莓派Centos系统下通过EC20模块进行4G上网 1.连接硬件 2.lsmod 3.通过ls /dev |grep ttyUSB查看当前系统下挂载的USB设备数 4.进一步通过dmesg | gr ...

最新文章

  1. 从头开始安装Ubuntu,cuda,cudnn,caffe,tensorflow,ROS
  2. POJ 3263-Tallest Cow
  3. Android--ViewPager点击按钮切换下一页
  4. 来了!8月10日19:00商汤全球校招空宣!现场发放专属内推码
  5. core webapi缩略图_.Net Core WebApi上传图片的两种方式
  6. Windows内核函数
  7. 可扩展的TextView,ExpandableTextView与Scroller类的使用
  8. 设置让终端保持utf8 cmd的设置
  9. Zabbix检测Mysql的主从同步
  10. 华三模拟器hcl实验手册_实验室 | # 实验室废气处理系统的设计#
  11. C++新特性探究(9.1):functor仿函数探究
  12. max日期最大值为0_【SQL】SQL面试50题思路解答与分类整理(下)CASE与日期函数...
  13. tp5 MySQL发红包功能_ThinkPHP5微信现金红包的开发
  14. Flash CS6 专业版破解教程、Flash CS6 激活序列号、破解补丁
  15. 财报汇总 | 中国生物制药、格林酒店、海亮教育、洪恩教育等5家企业公布最新业绩...
  16. Macbook 2021 M1pro 安装 SentencePiece
  17. 达索系统SPDM面向管理者的企业级仿真流程管理平台
  18. 推荐系统相关顶会整理
  19. 【GANs学习笔记】(二十四)StyleGAN
  20. sqlserver的分页查询

热门文章

  1. Autoruns使用介绍
  2. 马德里烈风和java的鱼雷,碧蓝航线航母舰载机怎么搭配_碧蓝航线航母舰载机搭配思路及优缺点详解_手心游戏...
  3. Word处理控件Aspose.Words功能演示:在 Python 中将图像转换为 HTML
  4. 众昂矿业架构师刘金海:氢氟酸原材料依赖萤石
  5. Excel——快速定位到目标数据所在位置
  6. Kwp2000协议的应用(程序原理篇)
  7. .Net5中使用Swagger
  8. 微信小程序:流量主头像组合微信小程序
  9. ARCore平面与空间点云实现
  10. 如何实现类似CAD的命令系统