移远 EC20 模组(4G通信模组)AT指令测试 TCP 通信过程

移远EC20 4G 模组

述

LTE Standard EC20 R2.1是移远通信推出的 LTE Cat 4 无线通信模块,采用 LTE 3GPP Rel.11 技术,支持最大下行速率 150Mbps 和最大上行速率 50Mbps,使用LCC封装,主要特点有:

  • 供电电压: 3.3V~4.3V,典型值 3.8V
  • 支持的网络协议栈众多
    • TCP/UDP/PPP/FTP/HTTP/NTP/PING
    • QMI/NITZ/CMUX/HTTPS/SMTP/MMS/FTPS/SMTPS/SSL/FILE
  • 驱动支持众多:
    • USB 虚拟串口驱动
    • RIL 驱动、NDIS 驱动、ECM 驱动、Gobinet 驱动、Linux qmi wwan 驱动:
  • GNSS支持:GPS/GLONASS/BeiDou/Galileo/QZSS

1. 环境准备

1.1. 硬件准备

EC20通信模组+USB转串口+一条USB线:


模组引脚图如下:

1.2. 软件准备

  • QCOM串口助手
  • EC20通信模组测试AT命令脚本(EC20.ini)
  • Windows USB 驱动

使用AT指令测试移远EC20模组有两种方法:

① 第一种是使用USB转串口连接模组:

在这里插入图片描述

② 第二种是直接使用USB线连接到模组,使用虚拟AT串口测试。

本文使用第二种方法,将模组直接通过USB线连接到电脑之后,安装官方提供的驱动,驱动安装成功后在设备管理器中即可看到虚拟AT串口:


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

1.3. 文档准备

此文档来自于移远官方!阅读本教程时,关于AT指令的详细说明请参考该文档!

2. 模组信号查询与网络查询AT指令

AT

指令:AT

功能:测试AT指令功能是否正常

示例:

AT

OK

AT+CPIN?

指令:AT+CPIN?

功能:查询SIM卡是否正常,返回ready则表示SIM卡正常

示例,如果SIM卡插入成功,则返回结果为:

AT+CPIN?

+CPIN: READY

OK

如果未插入SIM卡,则返回结果为:

AT+CPIN?

+CME ERROR: 10

AT+CSQ

指令:AT+CSQ

功能:查询模组的信号强度,第一个值为0-31则正常,99为不正常

示例:

AT+CSQ

+CSQ: 17,0

OK

此处有问题,模组实际返回+CSQ:22,99

AT+CREG?

指令:AT+CREG?

功能:查询模组是否注册上GSM网络,+CREG:0,1 表示已注册上本地网,+CREG:0,5表示注册上漫游网。

示例:

AT+CREG?

+CREG: 0,1

OK

AT+CGREG?

指令:AT+CERGE?

功能:查询模组是否注册上GPRS网络,+CGREG:0,1 表示已注册上本地网,+CGREG:0,5表示注册上漫游网。

示例:

AT+CGREG?

+CGREG: 0,1

OK

3. 激活移动场景

必须在查询GPRS网络已正常注册网络的情况下进行本节实验!

AT+QICSGP=1,1,“CMNET”

指令:AT+QICSGP=1,1,“CMNET”

功能:设置GPRS的APN,移动CMNET,联通UNINET

示例:

AT+QICSGP=1,1,"CMNET"

OK

AT+QIDEACT=1

指令:AT+QIDEACT=1
功能:在激活GPRS场景之前先关闭GPRS场景,确保连接正确

示例:

AT+QIDEACT=1
OK

AT+QIACT=1

指令:AT+QIACT=1

功能:激活移动场景

示例:

AT+QIACT=1

OK

4. 基于 TCP 协议连接远程服务器通信实例

4.1. 搭建远程TCP服务器

首先我们需要搭建一个TCP服务器,有两种方式:

  • 在服务器上使用Python、Java、C#等语言自行编写服务器程序;
  • 在本地PC上使用网络调试助手开启TCP服务器;

因为EC20模组直接注册的是公网ip地址,所以这里我们使用第一种方式,在Linux服务器上运行一个Python编写的tcp测试服务器:

本地PC使用的是局域网,公网不可以直接根据ip地址访问到本PC,需要进行内网穿透,不推荐使用。

这里的Python程序如下:

# tcpserver.py

from socket import *

host = ''
port = 8902

# 创建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命令连接TCP服务器,其中第一个参数是协议类型,“TCP”则表示使用TCP协议,第二个参数是TCP服务器ip地址,也可以使用域名,最一个参数是TCP服务器开启监听的端口:

AT+QIOPEN=<contextID>,<connectID>,<service_type>,<IP_address>/<domain_name>,<remote_port>[,<local_port>[,<access_mode>]]

最后一个参数access_mode是接收模式配置,0-缓冲区接收方式,1-直接接收方式

示例:

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

直接模式接收效果如下:

+QIURC: "recv",0,14
Hello, client!

4.3. 模组主动发送消息

使用如下的命令即可向TCP服务器发送消息,首先设置要发送数据的字节数,等待模组返回>后,输入要发送的数据即可,如果发送的数据超过了设置的n个字节,则只发送前n个字节,后面的数据被认为是无效数据,不会发送:

AT+QISEND=0

>hello<0x1a>

示例:

AT+QISEND=0

> hello

SEND OK

发送成功看服务器上运行的TCP服务器是否收到:

4.4. 关闭TCP连接

通信完毕之后,可以使用下面的命令关闭TCP连接:

AT+QICLOSE=<connectID>[,<timeout>]

示例:

AT+QICLOSE=0

OK

5. 域名解析

指令:

AT+QIDNSGIP=<contextID>,<hostname>

功能:域名解析

示例:

AT+QIDNSGIP=1,"www.mculover666.cn"

OK

+QIURC: "dnsgip",0,1,600

+QIURC: "dnsgip","122.51.89.94"
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
### 回答1: 移远4G模组EC20的文档包含了该模组的详细规格和技术参数,以及使用说明和配置指南。文档提供了模组的电气特性、接口定义、工作频段、支持的网络制式等基本信息,帮助用户了解该模组的硬件能力和适用环境。 在使用说明部分,文档介绍了EC20的上电和下电流程,如何正确插入SIM卡,以及与主机之间的串口通信配置和指令集。用户可以根据文档中的指导,将模组正确地集成到自己的设备中,确保模组正常工作。 文档还提供了EC20模组的配置指南,包括网络参数的设置、拨号指令的使用、接口的配置等。通过按照文档的指导进行配置,用户可以实现与运营商的网络连接,并根据自己的需求进行通信参数的优化和调整。 此外,文档还包括了EC20模组的软件开发指南,介绍了使用AT指令进行模组通信以及使用PPP拨号实现网络连接的方法。对于开发者来说,这些指南可以帮助他们快速上手并开发出基于EC20模组的应用程序。 综上所述,移远4G模组EC20的文档为用户提供了全面而详尽的指导,无论是对于初次接触该模组的用户,还是对于开发者来说,都是一份宝贵的参考材料。用户可以通过阅读文档,正确使用和配置EC20模组,从而顺利实现他们的通信需求。 ### 回答2: 移远4G模组EC20是一款高性能的无线通信模组,具有可靠的连接和高速的数据传输能力。EC20的技术文档涵盖了模组的硬件和软件规格,为用户提供了详细的使用指南和开发要求。 首先,EC20的硬件文档包括模块的外观尺寸、电气特性、引脚定义等详细信息。这些信息对于设计和集成EC20模组至设备中非常重要,确保模组能够正常工作并与设备实现无缝连接。 其次,EC20的软件文档包含了模组的驱动程序、固件升级和API接口等信息。通过这些文档,开发人员可以了解如何使用EC20的软件功能,并根据需求开发自己的应用程序。同时,文档还提供了对于不同网络操作的指导,例如如何进行网络注册、发送短信、接收数据等。 此外,EC20的文档还包括了对于各种功能和特性的详细描述,例如支持的网络频段、LTE Cat 4的数据速率和功耗、GPRS和EDGE的兼容性等。这样的信息能够帮助用户更好地了解EC20的性能和限制,从而在开发过程中做出更准确的决策。 总的来说,移远4G模组EC20的文档为用户提供了全面细致的信息,帮助用户了解、使用和开发EC20模组。无论是初学者还是有经验的开发人员,都能从文档中获得所需的支持和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值