TCP连接与心跳包配置
本文档介绍了TCP连接服务器与心跳包配置的相关流程。
注:对使用过程中涉及的常规参数进行了介绍。若需了解指令的具体参数请参考域格Cat.1模组(移芯EC716平台系列)AT指令手册 V2.3
TCP连接服务器流程
TCP连接服务器以及收发数据的大致流程如下:
TCP连接服务器
AT+CIPSTART="TCP","sever",port
连接到目标服务器
- 参数:
seve
r:IP地址port
:端口号
发送TCP数据
AT+CIPSEND=<len>
发送定长数据
- 参数:
len
:要发送的数据长度 - 正常情况下返回 > (后面有个空格),>(空格)后输入
<len>
长度的数据,发送出去。
接收TCP数据
当接收到数据时,模组会主动上报,例如当收到123时会上报:
123
以下指令可以选择接收消息的显示方式
AT+CIPSRIP=1
显示发送方的 IP 地址和端口号:
AT+CIPSRIP=1
OK
RECV FROM:112.125.89.8:42845
123
AT+CIPHEAD=1
接收数据时增加 IP 头提示:
AT+CIPHEAD=1
OK
+IPD,3:123
关闭TCP连接
AT+CIPCLOSE=0
关闭当前TCP连接
演示流程
以下展示了TCP连接服务器与收发数据的具体流程
发送/返回 | 示例 | 说明 |
---|---|---|
发送 | AT+CIPSTART="TCP","112.3.89.6",12345 |
建立TCP连接 |
返回 | OK CONNECT OK |
连接成功 |
发送 | AT+CIPSEND=10 |
选择发送定长数据 |
返回 | > |
等待发送 |
发送 | >1234567890 |
发送数据 |
返回 | >123456789 SEND OK |
发送成功 |
发送 | AT+CIPSRIP=1 |
收到数据时显示发送方的 IP 地址和端口号 |
返回 | OK |
|
发送 | T+CIPCLOSE=0 |
关闭TCP连接 |
返回 | OK |
服务器端界面如下图所示,收到消息内容为123456789:
客户端接收数据如下图所示:
心跳包配置流程
心跳包配置的大致流程如下:
设置心跳包参数
AT^HEARTCONFIG=1,0,<heartbeat_time>
设置心跳包参数
- 参数:
<heartbeat_time>
心跳包间隔时间
设置心跳包内容
AT^HEARTBEAT=0,<data>
字符串心跳包
- 参数:
<data>
字符串数据
AT^HEARTBEATHEX=0,<len>,<data>
HEX格式心跳包
- 参数:
<len>
数据长度<data>
HEX格式数据
设置睡眠模式
AT+CSCLK=<n>
设置睡眠模式
-
参数:
<n>
选择睡眠模式 -
通过
AT+CSCLK
设置睡眠模式,通过串口使模块进入睡眠的先决条件是:不接USB口。
举例演示
此处对心跳包配置流程进行举例演示
发送/返回 | 实例 | 说明 |
---|---|---|
发送 | AT+CIPSTART="TCP","112.3.89.6",12345 |
建立TCP连接 |
返回 | OK CONNECT OK |
|
发送 | AT^HEARTCONFIG=1,0,300 |
配置心跳包参数,每五分钟发送一次数据 |
返回 | OK |
|
发送 | AT^HEARTBEAT=0,TCP | 设置心跳内容为TCP |
返回 | OK |
|
发送 | AT+CSCLK=3 | 设置睡眠模式3 |
返回 | ok | |
发送 | AT+CIPCLOSE=0 |
关闭TCP连接 |
返回 | OK |
配置完成后服务器将每五分钟收到一次心跳包: