[研电赛技术支持] GD32实战篇-移远EC800M进行TCP/UDP连接测试-上位机测试

[复制链接]
4167|1
 楼主| tpgf 发表于 2024-10-30 08:23 | 显示全部楼层 |阅读模式
介绍
EC800M-CN是由移远通信推出的一款专为机器对机器和物联网应用设计的超小型LTE Cat 1无线通信模块。这款模块以其紧凑的设计、高效的性能和合理的成本效益,在众多应用中脱颖而出。

尺寸小巧:EC800M-CN的尺寸仅为17.7mm × 15.8mm × 2.4mm,非常适合对空间有严格要求的小型设备或终端。
高速率:支持最大10 Mbps的下行速率和5 Mbps的上行速率,满足大多数物联网应用的数据传输需求。
封装形式:采用LCC封装,便于集成到各种终端产品中。
工作温度范围广:能够在-40°C至+85°C的温度范围内稳定工作,适应各种恶劣环境。
兼容性高:与移远通信的其他模块如EC800E-CN、EC800G-CN、EC800N-CN、EC800K-CN和EG800K-CN等兼容,方便用户进行产品升级或替换。
支持多种功能:除了基本的数据传输外,还支持DFOTA(Device Firmware Over-The-Air,设备固件空中升级)、Wi-Fi Scan定位、GNSS(全球导航卫星系统)定位等功能,增加了模块的应用灵活性。
内置丰富协议:内置多种网络协议和工业标准接口,支持多种操作系统下的USB虚拟串口驱动,进一步扩展了其应用范围。

AT命令手册:提供模块使用的AT命令集,帮助开发者快速掌握模块控制方法。
应用指导:涵盖Wi-Fi Scan、文件管理、FTP(S)、HTTP(S)、IMS/XML、MQTT、MUX、PPP、QuecCell、SSL/TLS、TCP/IP等多种协议和功能的应用指南。
硬件设计手册:为开发者提供详细的硬件设计指导,确保模块正确集成到目标产品中。

模块购买
本次实验购买移远的EC00M模块进行测试,EC800M/EC800E/EC800N等同系列产品均可通用一个封装。

8837967217c7f6b8db.jpg

硬件连接
使用USB转TTL模块进行连接!

VCC->5V

GND->GND

TXD->RXD

RXD->TXD

(注意,模块需要稳定5V供电,否则会出现模块上电异常、不工作等问题)

上位机调试
使用SSCOM串口助手进行上位机串口调试

8194367217c775c3d4.png

AT指令
接下来进行AT指令测试!

初始化测试
首先是进行UDP/TCP/MQTT连接前的初始化测试,确保模块正常使用与联网:

AT测试
首先发送AT:

4023667217c70d64b4.png

注意!上电后芯片默认波特率为115200,并且需要勾选加回车换行,否则无法正常收发,在上位机中选择对应端口,找不到的可以查看一下资源管理器。

发送AT以后默认返回OK说明模块目前能够正常收发AT指令。

查询是否有卡
然后便是查询是否有卡

7526567217c6b40be5.png

返回如下代表卡就绪,如果返回ERROR则代表没卡。

查询卡信号

9310567217c650f65e.png

如果网络连接成功,会返回一个数,最大为 31, 若是数据小于 10,
说明当前网络信号不佳。
查询注册状态

6824867217c5d7c4a7.png

如果注册成功,会返回 1, 如果失败,返回 0。
以上步骤如果没有任何问题,则说明该模块能够正常工作以及上网

DUP测试(非透传)
DUP测试可以参考移远的用户手册

1117967217c57b985d.png

其中,我们首先需要一个用于测试的服务器,我这里使用的是安信可透传云

这是链接:

安信可透传云 V1.0

建立一个测试用服务器
我们刷新以后会获得一组服务器以及端口,将其记录

2417467217c4feb9f4.png

UDP连接指令
发送一下语句即可连接。

562767217c4b0da4e.png

返回OK,以及+QIOPEN:0,0代表已经成功连接,若返回的不是0,说明连接有问题。

UDP 是无连接模式,不管当前的端口是否存在,他依然会显示连接成功。TCP则不会,因为TCP具有握手协议以及检测机制,所以我们这里UDP连接上以后,安信可透传云上面没有显示,但是TCP就不会这样,大家如果想具体去了解的话,可以去看这个链接:
TCP与UDP的区别_tcp和udp的区别-CSDN博客

5190567217c459129e.png

发送不定长指令
发数据他支持不固定长度与固定长度发送,支持字符串与十六进制方式的发
送。这里使用AT+QISEND=0不定长发送模式进行演示,后续的定长以及16位发送和这个是一样的。

4014067217c3fec810.png

发送完以后就可以发送我们需要发送的数据了,这里我们随意发送一些字符串过去

470767217c3ac50b2.png

发送不定长结束以后需要用1A去结尾,在发生结尾标识符的时候,需要勾选HEX发送才会生效,否则会被当成一帧数据而不是指令,如果返回了SEND OK则代表发送完成!

9675667217c355ca8f.png

TCP测试
接下来我们将会去演示TCP测试的方式

首先需要一个服务器以及端口:

1550167217c2e406da.png

建立TCP连接指令
发送该语句即可通过TCP连接到我们的服务器,注意这里是39262(端口),0,1

这里的1代表的是TCP模式,如果是2则代表的是透传模式。

如果返回的是+QIOPEN:0,0则代表连接成功,否则连接失败。

1786567217c27e0cd6.png

连接成功后就可以在服务器上面看见已经连接的客户端了,这也是TCP协议和UDP协议的最大区别:

5409667217c202bd9d.png

发送定长数据指令
这里我们讲解一下发送固定长度,这里的4代表的发送4个长度的数据,如图:

8523867217c1c560b1.png

在上一句语句之后,我们知道要发送4个长度的数据了,这里我们用1234作为演示,发送完毕以后,他会自动去检查用户发送数据的长度,当到达4个长度以后,就会自动截取,意思是多发是没有用的,如果这里返回了SEND OK则代表发送成功了。

2933867217c18835cf.png

然后我们就能在服务器这端,看到我模块客户端发送过来的数据:1234了

3170767217c127f5be.png

发送不定长数据指令
刚刚我们讲述的是定长发送,我们删除后面的长度变量以后,就会变成不定长发送,这个时候从发送这个指令的时候开始,后续发送的都会是一个数据而不是指令。

7021567217c0d1346e.png

在发送完不定长的数据以后,接下来我们需要用1A结尾,使用1A的时候需要勾选HEX发送。发送完成后,会返回SEND OK

7025067217c0732e5f.png

我们在服务器上这个时候就能看见我们之前发的那串数据了

9176667217c029b554.png

断开TCP/UDP连接指令
发送这端代码可以断开TCP连接,可以看到服务器上的设备已经下线了

4774967217bf8e1da1.png

7484367217beed57fb.png

TCP透传
透传连接指令
接下来是关于TCP透传的测试,首先我们需要断开连接的情况下,再去发送这段代码,否则会失败,其中结尾处的2代表的是透传模式,如果成功连接以后,会回复CONNECT这段代码。

9897767217bd3c8c2e.png

透传建立成功后,会在服务器上显示,和之前TCP测试的时候是一样的

7139967217bcdf0b3c.png

接下来我们发送的任何数据,都会属于数据的一部分,而不是指令,发送的任何都会被显示

771767217bc7b25ab.png

结语
这里是我整理好的,关于TCP以及UDP传输中所使用到的AT指令,大家感兴趣可以看看

8060967217bbb5d901.png


本节到此结束,接下来会是GD32的代码编写,记住大家需要先在上位机上面跑通以后,再移动到单片机上进行编写。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-NC-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_62316532/article/details/143310035

星辰大海不退缩 发表于 2024-10-31 11:17 | 显示全部楼层
EC800M-CN是由移远通信推出的一款专为机器对机器和物联网应用设计的超小型LTE Cat 1无线通信模块。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2384

主题

17636

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部