AT指令进行HTTP交互(M0M1系列)

        超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。用户通过M0M1系列的模组可使用2种方式进行HTTP的交互:1.使用标准的SOCKET通信,2.使用HTTP+AT固件中的HTTP指令进行交互,本文将着重介绍第二种交互方式。

一、HTTP通信基本设置

1. 设置HTTP服务器端口和地址

AT+HTTPURL=80,www.baidu.com

 

功能:设置/查询HTTP服务器端口和地址

查询指令格式:

AT+HTTPURL<CR><LF>

响应:

+ok=<­­­­­­port,address><CR><LF><CR><LF>

参数: 请参考设置参数

设置指令格式:

AT+HTTPURL=<port,address> <CR><LF>

响应:

+ok<CR><LF><CR><LF>

参数:

port:HTTP服务器端口号

address:HTTP服务器的IP地址或者域名

 

2. 设置协议头POST或者GET的路径

 

AT+HTTPPH=/index.html

 

功能:设置/查询HTTP协议头POST或者GET的路径

查询指令格式:

AT+HTTPPH<CR><LF>

响应:

+ok=<­­­­­­address><CR><LF><CR><LF>

参数: 请参考设置参数

设置指令格式:

AT+HTTPPH=<address> <CR><LF>

响应:

+ok<CR><LF><CR><LF>

参数:

address:HTTP协议头POST或者GET的路径

 

3. 设置协议头中Connection属性

 

AT+HTTPCN=keep-alive

 

功能:设置/查询HTTP协议头Connection属性

查询指令格式:

AT+HTTPCN<CR><LF>

响应:

+ok=<­­­­­­connection><CR><LF><CR><LF>

参数: 请参考设置参数

设置指令格式:

AT+HTTPCN=<connection> <CR><LF>

响应:

+ok<CR><LF><CR><LF>

参数:

connection:HTTP协议头Connection属性

 

 

 

4. 设置协议头中User-Agent属性

AT+HTTPUA=lwip

 

功能:设置/查询HTTP协议头User agent属性

查询指令格式:

AT+HTTPUA<CR><LF>

响应:

+ok=<­­­­­­user agent><CR><LF><CR><LF>

参数: 请参考设置参数

设置指令格式:

AT+HTTPUA=<user agent> <CR><LF>

响应:

+ok<CR><LF><CR><LF>

参数:

user agent:HTTP协议头User-Agent属性

 

5. 设置协议头中Content-type属性

AT+HTTPCT=text/html

 

 

功能:设置/查询HTTP协议头Content-type属性

查询指令格式:

AT+HTTPCT<CR><LF>

响应:

+ok=<­­­­­content type><CR><LF><CR><LF>

参数: 请参考设置参数

设置指令格式:

AT+HTTPCT=<Content type> <CR><LF>

响应:

+ok<CR><LF><CR><LF>

参数:

content type:HTTP协议头Content-type属性

注意:如果在通信中,不需要修改HTTP的属性,则以上属性只需要进行一次设置即可。否者需要在每次通信前再设置一次。

 

 

6. 设置HTTP头中自定义选项(032增加)

AT+HTTPUD=authorization: basic 123456\r\n

 

功能:设置/查询HTTP头中自定义选项

查询指令格式:

AT+HTTPUD<CR><LF>

响应:

+ok=<len,­­­­­­user define><CR><LF><CR><LF>

参数: 请参考设置参数

设置指令格式:

AT+HTTPUD=<len> <CR><LF>

响应:

+ok=n<CR><LF><CR><LF>

参数:

len:自定义的数据长度

user define:用户自定义的http头中的内容

n:实际输入的自定义数据长度

注意:

1.在使用中如果增加多个http头标识时,请注意\r\n来换行。\r\n输入时,是2字节的二进制数据。

2.当出现>表示模块开始接收自定义数据。

 

 

二、HTTP数据交互

1.  使用GET方式进行交互:AT+HTTPTP=GET

    使用POST方式进行交互:AT+HTTPTP=POST

 

功能:设置/查询HTTP协议头交互属性

查询指令格式:

AT+HTTPTP<CR><LF>

响应:

+ok=<­­­­­­type><CR><LF><CR><LF>

参数: 请参考设置参数

设置指令格式:

AT+HTTPTP=<type> <CR><LF>

响应:

+ok<CR><LF><CR><LF>

参数:

type:HTTP协议头交互属性,POST或者GET

 

2.  开始进行数据交互:

 

功能:HTTP协议交互

指令格式:

AT+HTTPDT=<len><CR>

响应:

+ok=n[,data]<CR><LF><CR><LF>

参数:

len:发送数据的长度。范围:0~2048 字节 当输入成功并且连接HTTP服务器连接成功后返回一个”>”, 串口等待 3s 输入,将串口收到数据发送到HTTP,若两个字节之间的间隔大于 10ms 则认为输入结束将立刻发送。

n:收到HTTP返回的数据内容长度

data:实际收到的HTTP返回的内容

注:

1. 当返回+ok时,则表明模组在HTTP层通信已经完成。当返回+ERR时,则表明HTTP通信失败。

2. 如果无上传的数据,则len一定要填写为0,如:AT+HTTPDT=0

3.当出现>表示HTTP已经连接成功,则成功的上传了HTTP的包头

4.只有当n大于0时,data部分才会有数据显示。当出现+ok=0时,也表示通信成功,只是HTTP部分没有数据部分返回。

 

 

 

 

如果遇到模组使用上的问题,可以进群号为519630819的QQ群进行交流。

 

相关产品,请关注:shop.mqlinks.com

 

 

 

展开阅读全文

没有更多推荐了,返回首页