我是靠谱客的博主 可爱吐司,最近开发中收集的这篇文章主要介绍EC200U-CN模块的使用1、硬件控制 2、TCP连接3、其它命令,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

EC20官网的DataSheet管控比较严重,需要用心搜索一下文档资料或者找厂商或卖家去要。

想要把模块用起来,硬件设计指导手册、AT指令手册和TCP/IP应用指导,三个手册必不可少。

1、硬件控制

最重要的电源设计就不用说了,硬件按照官方文档参考进行设计即可。

主要说一下软件如何控制:

必要的几个IO:

EC20烧录、调试接口

主串口Rx、Tx

复位控制IO

(单独)电源控制IO

PowerKey引脚

其它如SPI、I2C、ADC、SDIO、RTS/CTS等模块,用不到的都可以浮空。

1.1 开机时序

一般的,一个模块的开机、关机和复位,三种操作都是需要符合时序的,都要去对应的硬件设计手册去参考如何实现。

EC200U模块,开机时序就需要拉低2s以上,再拉高(再严谨一点,电源拉低一段时间再拉高,再将PowerKey引脚拉低2s)

模块启动成功之后,会主动吐 “RDY” 消息给主串口。

如果需要上电自动开机,可以直接下拉,注意下拉电阻的阻值按照官方来。

复位控制引脚拉低生效,一般在初始化时就直接赋高电平。

 2、TCP连接

官方文档已经给出了“使用TCP/IP AT命令的流程”,可以参考着来。

流程表述:

1. 上电先开机,等待模块吐"RDY",进入就绪

2. 就绪之后,先执行查询命令,如CSGN | CCID | QLTS 用于同步模块信息

3. 查询SIM卡状态

4. 查询网络交换业务状态

5. 配置场景并激活

6. 打开socket网络

7. 进行socket网络数据交互

其中3,4,5命令,如果多次失败,建议直接重启模组,或者重新开机。

6、7命令,可以多次尝试连接。

重新打开socket网络时,必须要先关闭才能再打开。

重新激活场景时,也必须要先反激活才能再打开。

socket网络打开时,根据自己的需求选择对应的模式:

缓存模式需要手动读取数据;

只吐模式最常用;

透传模式要注意默认传输的是string类型数据还是hex格式数据,亦或者是hex字符串。

 具体命令:

AT命令以“AT”开头,以‘r’结尾。

超时时间一般以秒为单位,撰写发送接口时可以将传参设计为秒数。

1、查询IMEI

AT+CGSN

AT+CGSN
869523054669669

OK

超时时间:300ms

2、查询ICCID

AT+QCCID

AT+QCCID
+QCCID: 89860425101950045915

OK

超时时间:300ms

3、查询SIM卡状态

AT+CPIN?

AT+CPIN?
+CPIN: READY

OK

超时时间:5s

返回参数:+CPIN: <code>

正常回复READY,SIM PIN/SIM PIN2 表示SIM卡上锁,SIM PUK/SIM PUK2表示需要密码

4、查询CS业务

AT+CREG?

AT+CREG?
+CREG: 0,0

OK

AT+CREG?
+CREG: 0,1

OK

超时时间:300ms

返回参数:+CREG: <n>,<stat>

查询网络注册状态,n表示回显信息的类型,0是默认;stat表示网络注册状态,1是注册成功,其它都可以认为是错误。

5、配置场景

AT+QICSGP=1,1,"CMNET","","",1

AT+QICSGP=1,1,"CMNET",""."",1
OK

输入参数:<id>,<ip_type>,<APN>,<username>,<password>,<APN_style>

id即场景ID,一般应用只会用到1个,即0;

ip类型,1表示IPV4,2表示IPV6,3表示IPV4/IPV6;

APN,表示接入点名称,“CMNET”表示中国移动,“UNINET”表示中国联通;

username和password,即用户名和密码;

APN_style,APN鉴权方式,默认用0。

6、激活场景

AT+QIACT=1

AT+QIACT=1

OK

超时时间:150s

注意1:如果150S超时或者激活失败,建议直接重启模组

注意2:重新激活场景之前,必须要先反激活场景,输入参数中的1表示场景ID。

7、反激活

AT+QIDEACT=1

AT+QIDEACT=1

OK

超时时间:40s,超时或者失败,建议直接重启模组

8、连接TCP

AT+QIOPEN=1,0,"TCP","mqtt.51gonggui.com",1883,1,1

AT+QIOPEN=1,0,"TCP","mqtt.51gonggui.com",1883,1,1
OK


+QIOPEN: 0,0

输入参数:<pdp_id>,<socket_id>,<socket_type>,<ip1/ip2>,<port>,<local>,<mode>

pdp_id,场景ID对应上面的场景配置ID;

socket_id,从0开始;

socket_type,TCP/UDP分别表示对应的客户端,服务端一般用的少;

ip1/ip2,可以是具体的ip地址,或者域名;

port,为远程端口号;

local,为本地端口号,从0开始;

mode,0表示缓存模式(收到数据通知后,需要手动去读取缓存),1是只吐模式(收到数据会直接通过主串口吐出来),2是透传模式(主串口收到的数据直接通过网络发出去,接收到的数据直接通过主串口吐出来)

但是,但是!!!透传模式默认传输的字符串类型数据,无法传输hex格式数据。(需要厂商修改和优化版本,,目前的量产版本仍是不支持的)

9、关闭TCP连接

AT+QICLOSE=0

AT+QICLOSE=0

OK

如果TCP主动连接失败或者连接断开,需要先手动关闭TCP连接,再尝试TCP连接;

如果持续的TCP连接失败,则需要反激活场景,在重新激活场景。


以上9条命令,都是联网处理过程中必要的命令

此外还需要处理模块主动吐出来的消息:

+QIURC: “closed”

+QIURC: “recv”

+QIOPEN: 0,0

3、其它命令

查询当前时间

AT+QLTS=2
+QLTS: "2022/07/19,22:13:16+32,0"

OK

查询信号强度

AT+CSQ
+CSQ: 18,99

OK

最后

以上就是可爱吐司为你收集整理的EC200U-CN模块的使用1、硬件控制 2、TCP连接3、其它命令的全部内容,希望文章能够帮你解决EC200U-CN模块的使用1、硬件控制 2、TCP连接3、其它命令所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部