使用WIFI模块AT指令进行HTTP或HTTPS交互

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

用户通过M0系列的模组可使用2种方式进行HTTP的交互:

1.使用标准的SOCKET通信

2.使用HTTP+AT固件中的HTTP指令进行交互

本文将着重介绍第二种交互方式


提示:M0系列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头中自定义选项

示例: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.设置HTTP数据通信方式

示例:

使用HTTP进行交互:AT+HTTPS=off

使用HTTPS进行交互:AT+HTTPS=on

功能:设置/查询HTTP数据通信方式

查询指令格式:

AT+HTTPS<CR><LF>

响应:

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

参数: 请参考设置参数

设置指令格式:

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

响应:

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

参数:

type:on:使用HTTPS,off:使用HTTS

2.设置HTTP数据交互方式

示例:

使用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

3.开始进行数据交互

功能: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部分没有数据部分返回。


其它

如需进一步了解模块信息,可登录mlzn.taobao.com,有专业客服进行解答。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值