系列文章目录
前言
TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。
一、连接TCP相关指令
第 1 步:激活上下文
指令:AT+QIPACT
功能:激活相应通道内部自动适应的APN
参数:连接通道ID
示例:AT+QIPACT=1
OK
+QIPACTURC: 1,1,"10.76.7.39"
第 2 步:建立 socket 连接,最多可连接 6 路
指令:AT+QIPOPEN
功能参数:建立TCP连接
参数:建立TCP连接,CID,socket ID,TCP连接,服务器地址,服务器端口,本地端口,连接类型为TCP,访问模式为消息到来时直接上报
示例:AT+QIPOPEN=1,1,"TCP","203.156.205.55",8866,12341,1
OK
+QIPOPEN: 1,0
第 3 步:发送数据
指令:AT+QIPSEND
功能:发送TCP数据
参数:连接通道ID
示例:AT+QIPSEND=1
>1234567890<CTRL+Z>
+QIPSEND:1,10
OK
示例2:AT+QIPSEND=1,10
>AAAAAAAAAA
+QIPSEND:1,10
OK
第 4 步:接收数据
指令:RECV FROM:1,203.156.205.55,8866,10
功能:接收TCP数据
参数:连接通道ID,服务器地址,服务器端口,数据量
示例:RECV FROM:1,203.156.205.55,8866,10
第 5 步:关闭 socket 连接通道
指令:AT+QIPCLOSE
功能:关闭 socket 连接通道
参数:连接通道ID
示例:AT+QIPCLOSE=1
+QIPCLOSE: 1
OK
第 6步:关闭TCP
指令:AT+QIPDEACT
功能:关闭TCP连接
参数:连接通道ID
示例:AT+QIPCLOSE=1
+QIPCLOSE: 1
OK
二、TCP功能拓展
1.发送HEX数据
代码如下(示例):
指令:AT+QIPSENDEX
功能:发送HEX数据
示例:AT+QIPSENDEX=1,"3132333435"
+QIPSENDEX:1,5
OK
2.数据发送完成指令
windows下的ctrl+z用来作为结束输入输出流的标值,控制台读入字符^Z,只有另起一行放在行首才会起作用,否则表示结束本行,以下是c语言和Python用法示例。
代码如下(示例):
#define CTRL_Z 26 //CTRL+Z的ascii码是26
char buffer[100];
sprintf (buffer, "This is my message%c", CTRL_Z);
Args(request="01234567895452asdfghjklzxcvbnmqwertyuiop{}".format(chr(0x1A),regex=r'^\r\nSEND OK\r\n\r\n01234567895452asdfghjklzxcvbnmqwertyuiop\r\n$',without_enter=True,delay=1)),
]
3.读入数据
代码如下(示例):
指令:AT+QIPREAD
功能:读取数据
示例:+QIPREADURC: 2
AT+QIPREAD=2
+QIPREAD: 10
OK
4.接收hex数据为文本格式
指令:AT+QIPCFG
功能:读取数据
示例:AT+QIPCFG="dataformat",1,0 //设置后可以直接显示hex数据
OK
恢复hex格式
AT+QIPCFG="dataformat",1,1
OK
区别如图所示:
三、TCP功能拓展