EC20调试及驱动使用记录

文章详细介绍了使用STM32F407VG单片机通过HAL库与EC204G通信模块进行连接和配置的过程,包括AT命令的使用、网络注册、信号质量检测、网络连接以及TCP/IP通信。此外,还提到了EC20模块的特性,如全网通、高速数据传输和MIMO技术,并展示了如何通过MQTT协议连接到阿里云服务器的步骤。
摘要由CSDN通过智能技术生成

EC20使用记录

本次调试使用的是STM32F407VG单片机作为主控,连接EC20,采用HAL库编写代码
在这里插入图片描述

EC20模块介绍

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

首先是EC20 4G模块:

参考:Quectel_EC20_R2.0_硬件设计手册_V1.2.pdf

链接:LTE EC20 R2.1 | 移远通信 (quectel.com)

建议最好阅读过前面的sim800c模块的使用,因为这两个模块是类似的。也就是可以通过这个模块打电话,发短信,上网。但是,这个模块是全网通的,也就是说电信卡,2g,3g,4g都能支持。比起sim800c只支持联通和移动就好多了。这就是7模(ec20)和5模(sim800c)的区别。

EC20 是移远通信推出的 LTE Cat 4 无线通信模块,采用 LTE 3GPP Rel.11 技术,支持最大下行速率 150Mbps 和最大上行速率 50Mbps。能在 LTE-FDD、LTE-TDD、DC-HSPA+、WCDMA、EDGE 及 GPRS 等多种网络制式中进行数据通信;同时在封装上兼容移远通信 UMTS/HSPA+ UC200T 系列模块以及多网络制式 LTE Standard EC20 R2.1/EG25-G/ EG21-G/EC21 系列/EC25 系列/EC200T 系列模块,实现了 3G 网络与 4G 网络之间的无缝切换。

EC20 系列模块包含 EC20-A、EC20-C、EC20-CE 和 EC20-E 四个版本,使其能够向后兼容现存的 EDGE 和 GSM/GPRS 网络,以确保在缺乏 3G 和 4G 网络的偏远地区也能正常工作。

EC20 支持多输入多输出技术(MIMO),即在发射端和接收端分别使用多个发射天线和接收天线,使信号通过发射端与接收端的多个天线传送和接收,从而降低误码率,改善通信质量。同时,它结合了高速无线连接与内置多星座高精度定位 GPS+GLONASS 接收器。

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

连接流程

连接阿里云服务器

串口1初始化完成
AT
ce20_rev:
OK
 
ATE 0
ce20_rev:
OK
 
AT+CSQ
ce20_rev:
+CSQ: 27,99

OK
 
AT+CPIN?
ce20_rev:
+CPIN: READY

OK
 
AT+CPIN?
ce20_rev:
+CPIN: READY

OK
 
ATI
ce20_rev:
Quectel
EC20F
Revision: EC20CEFILGR06A05M1G

OK
 
AT+QICSGP=1,1,"UNINET","","",1
ce20_rev:
OK
 
AT+CREG?
ce20_rev:
+CREG: 0,1

OK
 
AT+CGATT=1
ce20_rev:
OK
 
AT+CGATT?
ce20_rev:
+CGATT: 1

OK
 
AT+QMTCFG="aliauth",0,"ips7DFCvssg","D001","b88a91c3cc52840a3e3fe13fe1142d0a"
ce20_rev:
OK
 
AT+QMTOPEN=0,"139.196.135.135",1883
ce20_rev:
+QMTOPEN: 0,0
 
AT+QMTCONN=0,"D001"
AT+QMTCONN=0,"D001"
 is error!!
ce20_rev:
OK
 
AT+QGPSCFG="nmeasrc",1
ce20_rev:
OK
 

透明传输(透传安信可服务器)

串口1初始化完成
AT
ce20_rev:
OK
 
AT 

OK
 
ATE 0
ce20_rev:
OK
 
AT+CSQ
ce20_rev:
+CSQ: 28,99

OK
 
AT+CPIN?
ce20_rev:
+CPIN: READY

OK
 
AT+CPIN?
ce20_rev:
+CPIN: READY

OK
 
ATI
ce20_rev:
Quectel
EC20F
Revision: EC20CEFILGR06A05M1G

OK
 
AT+QICSGP=1,1,"UNINET","","",1
ce20_rev:
OK
 
AT+CREG?
ce20_rev:
+CREG: 0,1

OK
 
AT+CGATT=1
ce20_rev:
OK
 
AT+CGATT?
ce20_rev:
+CGATT: 1

OK
 
AT+QICLOSE=0
ce20_rev:
OK
 
AT+QIOPEN=1,0,"TCP","122.114.122.174",42652,0,2 
ce20_rev:
CONNECT
//只要服务器返回CONNECT,即可发送数据到服务器  
//以下为发送函数,发送的内容是:HELLO ANXIKE!!!
SendNetCMD((uint8_t*)"HELLO ANXIKE!!!",strlen("HELLO ANXIKE!!!"),"NULL",100);

指令部分

关于EC20中使用的AT指令集,我们在此处就不一一介绍了(主要是太多了,有好多我们也用不上,而且网上基本都可以找到),我们只介绍第二小节中使用到的指令集,因此可以对应第二节内容进行分析。

  1. AT指令–我一般称为测试指令,测试单片机和EC20是否连通

    单片机发送:AT+换行

    EC20回复:OK (证明连接正确)

    AT
    ce20_rev:
    OK
    
  2. ATE 0–关闭回显,需要回显可以打开,不过在此建议关闭,我们只要EC20回复的信息即可

    ATE 0
    ce20_rev:
    OK
    
  3. 查看EC20模块信息

    ATI
    ce20_rev:
    Quectel
    EC20F
    Revision: EC20CEFILGR06A05M1G
    
    OK
    
  4. 查看卡片(电话卡)EC20是否可以识别

    AT+CPIN?
    ce20_rev:
    +CPIN: READY
    
    OK
    
  5. AT+CSQ–查看信号质量

    AT+CSQ
    ce20_rev:
    +CSQ: 28,99  //这个信号质量还是很不错的
    
  6. AT+QICSGP–设置电话卡属性

    AT+QICSGP=1,1,"UNINET","","",1
    ce20_rev:
    OK
    
  7. AT+CREG?–检查是否注册到网络

    AT+CREG?
    ce20_rev:
    +CREG: 0,1
    
  8. AT+CGATT=1–模块连接到基站(附着网络)

    AT+CGATT=1
    ce20_rev:
    OK
    
  9. AT+QICLOSE=0关闭服务器

    一般在我们连接服务器通信完毕之后,需要首先发送“+++”,断开客户端和服务器的连接,之后关闭服务器开辟的端口号,就是使用此条指令的;

    但是目前我们是EC20初始化的初始化,我们为了避免服务器端口未关闭,导致本次链接不上服务器,所以需**要首先关闭服务器端口,再次进行连接**。

    AT+QICLOSE=0
    ce20_rev:
    OK
    

    正常情况下,断开服务器连接需要按照以下流程进行

    单片机发送:+++ (注意此次没有换行)–断开服务器连接

    单片机再次发送:AT+QICLOSE=0 --服务器端关闭端口号

    透明传输(透传连接安信可服务器)

    10.1. 打开服务器

    AT+QIOPEN=1,0,"TCP","122.114.122.174",42652,0,2 
    ce20_rev:
    CONNECT
    

    当我们接收到"CONNECT"字符串,代表客户端和服务器已经连接上了,接下来就可以愉快的发送数据了

    10.2. 发送数据

    SendNetCMD((uint8_t*)"HELLO ANXINKE!!!",strlen("HELLO ANXINKE!!!"),"NULL",100);
    

    此时我们就可以再安信可透传云平台上看到我们发送的数据:HELLO ANXINKE!!!

    采用MQTT方式连接阿里云平台

    需要首先获取连接网络平台的三要素(如何连接阿里云,以及MQTT协议在此不在讲解,大家可以去网上看看很多的)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ItVMmSTO-1685948445452)(D:\appaddr\data\Desktop\无标题.jpg)]

  • 连接流程概述:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7fL7CDFX-1685948445453)(D:\appaddr\data\Desktop\无标题.png)]

  • ​ 阿里云设备状态:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8QEp53qt-1685948445453)(C:\Users\47170\AppData\Roaming\Typora\typora-user-images\image-20230605145057412.png)]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值