EC20通信模组+USB转串口+一条USB线: 使用AT指令测试移远EC20模组有两种方法: ① 第一种是使用USB转串口连接模组: ② 第二种是直接使用USB线连接到模组,使用虚拟AT串口测试。 本文使用第二种方法,将模组直接通过USB线连接到电脑之后,安装官方提供的驱动,驱动安装成功后在设备管理器中即可看到虚拟AT串口: 此文档来自于移远官方!阅读本教程时,关于AT指令的详细说明请参考该文档! 指令:AT 功能:测试AT指令功能是否正常 示例: 指令:AT+CPIN? 功能:查询SIM卡是否正常,返回ready则表示SIM卡正常 示例,如果SIM卡插入成功,则返回结果为: 如果未插入SIM卡,则返回结果为: 指令:AT+CSQ 功能:查询模组的信号强度,第一个值为0-31则正常,99为不正常 示例: 此处有问题,模组实际返回+CSQ:22,99 指令:AT+CREG? 功能:查询模组是否注册上GSM网络,+CREG:0,1 表示已注册上本地网,+CREG:0,5表示注册上漫游网。 示例: 指令:AT+CERGE? 功能:查询模组是否注册上GPRS网络,+CGREG:0,1 表示已注册上本地网,+CGREG:0,5表示注册上漫游网。 示例: 必须在查询GPRS网络已正常注册网络的情况下进行本节实验! 指令:AT+QICSGP=1,1,“CMNET” 功能:设置GPRS的APN,移动CMNET,联通UNINET 示例: 指令:AT+QIDEACT=1 示例: 指令:AT+QIACT=1 功能:激活移动场景 示例: 首先我们需要搭建一个TCP服务器,有两种方式: 因为EC20模组直接注册的是公网ip地址,所以这里我们使用第一种方式,在Linux服务器上运行一个Python编写的tcp测试服务器: 本地PC使用的是局域网,公网不可以直接根据ip地址访问到本PC,需要进行内网穿透,不推荐使用。 这里的Python程序如下: 运行: 效果如下: 使用AT命令连接TCP服务器,其中第一个参数是协议类型,“TCP”则表示使用TCP协议,第二个参数是TCP服务器ip地址,也可以使用域名,最一个参数是TCP服务器开启监听的端口: 示例: 连接之后,在服务器端也可以看到: 模组连接到服务器后,服务器会自动发送消息,模组还没有配置,所以直接打印出了: 使用命令读取数据: 使用如下的命令即可向TCP服务器发送消息,首先设置要发送数据的字节数,等待模组返回 示例: 发送成功看服务器上运行的TCP服务器是否收到: 通信完毕之后,可以使用下面的命令关闭TCP连接: 示例: 接收更多精彩文章及资源推送,欢迎订阅我的微信公众号:『mculover666』。
1. 环境准备
1.1. 硬件准备


模组引脚图如下:

1.2. 软件准备
EC20.ini)

使用QCOM工具打开该串口,波特率115200-8-N-1:

1.3. 文档准备
2. 模组信号查询与网络查询AT指令
AT
AT OK AT+CPIN?
AT+CPIN? +CPIN: READY OK AT+CPIN? +CME ERROR: 10 AT+CSQ
AT+CSQ +CSQ: 17,0 OK AT+CREG?
AT+CREG? +CREG: 0,1 OK AT+CGREG?
AT+CGREG? +CGREG: 0,1 OK 3. 激活移动场景
AT+QICSGP=1,1,“CMNET”
AT+QICSGP=1,1,"CMNET" OK AT+QIDEACT=1
功能:在激活GPRS场景之前先关闭GPRS场景,确保连接正确AT+QIDEACT=1 OK AT+QIACT=1
AT+QIACT=1 OK 4. 基于 TCP 协议连接远程服务器通信实例
4.1. 搭建远程TCP服务器
# tcpserver.py from socket import * host = '' port = 8901 # 创建server socket server_socket = socket(AF_INET,SOCK_STREAM) # 绑定socket监听地址 server_addr = (host,port) server_socket.bind(server_addr) # 开始监听,最大允许连接数5 server_socket.listen(5) # 处理连接请求 try: while True: print('waiting for connect...') #阻塞等待客户端的连接 client_socket, client_addr = server_socket.accept() # 连接成功后,打印客户端信息 print('a client connnect from:', client_addr) while(True): # 向客户端发送数据 client_socket.send('Hello, client!'.encode()) # 接收客户端的数据 data = client_socket.recv(1024) print('recv data is ', data.decode()) # 接收到quit则关闭socket if "quit" in data.decode(): break # 关闭socket client_socket.close() server_socket.close() print("socket closed.") break except: client_socket.close() server_socket.close() print("socket closed.") python3 tcp-server.py 
4.2. 模组连接服务器
AT+QIOPEN=<mode>,<IPaddress>/<domain name>,<port> AT+QIOPEN=1,0,"TCP","117.50.111.72",8902,0,0 OK +QIOPEN: 0,0

4.2. 模组接收消息
+QIURC: "recv",0 AT+QIRD=0,1500 +QIRD: 14 Hello, client! OK 4.3. 模组主动发送消息
>后,输入要发送的数据即可,如果发送的数据超过了设置的n个字节,则只发送前n个字节,后面的数据被认为是无效数据,不会发送:AT+QISEND=0 >hello<0x1a> AT+QISEND=0 > hello SEND OK

4.4. 关闭TCP连接
AT+QICLOSE=0 AT+QICLOSE=0 OK

本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
官方软件产品操作指南 (170)