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

2023-11-17

        超文本传输协议(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

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用WIFI模块AT指令进行HTTP交互 的相关文章

随机推荐

  • 关于docker和podman

    docker daemon 存在问题 单点故障问题 docker daemon一旦死亡 所有容器都将死亡 docker daemon 拥有运行中的容器的所有子进程 所有docker操作都需由具有跟root相同权限的用户执行 构建容器时 可能
  • 【华为OD机试】按身高和体重排队(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • Thread.Sleep(0)的妙用

    https www cnblogs com JianGuoWan p 9139698 html Thread Sleep 0 表示挂起0毫秒 你可能觉得没作用 你要写Thread Sleep 1000 就有感觉了 似乎毫无意义 MSDN的说
  • VS2010配色方案

    找了很久的配色方案 绝对是精挑细选的 现在分享一下地址 http www hanselman com blog VisualStudioProgrammerThemesGallery aspx 个人喜欢的配色方案 Ragnarok 附图 忘
  • 添加数据设置某个列自增_流量物联卡这样设置,网速立马变快

    物联卡是什么 简单而言 物联卡跟手机卡的区别就是 不能打电话和发短信 物联卡有自己的流量池 共享流量 比如下图就是某个物联卡的套餐 移动APN设置 移动设置APN 安卓手机需要把设备的接入点改成CMIOT 具体步骤如下 A 找到设置移动网络
  • 本地主机连接阿里云数据库(自建数据库)排雷

    最近在阿里云上开了一台云主机 自己搭建了数据库作为数据库使用 正当我本地去连接云上mysql时 发现死活连接不上 我这边阿里云上安全组端口已经放开了 出方向和入方向都开了歪 但是依然连接不上 是不是数据库做了限制 此时的我恍然大悟 欻欻欻欻
  • 叉积的意义

    我们知道 向量的叉积可以帮助我们求出一个和已知两个向量构成的平面相互垂直的另一个向量 例如求法向量 而且一般来说 都是求三维空间的向量的叉积 下面我们要讨论的就是各种 为什么如此 考虑两个相互不平行的三维向量 它们的叉积 以行列式形式来表示
  • 用VRTK4.0如何实现与UI交互(保姆级别教程)

    1 导入Tilia UnityUI master包 点击下面的链接直接跳到这个界面studentutu Tilia UnityUI Tilia package for VRTK 4 featuring support for Unity U
  • Your python install is corrupted. Please fix the '/usr/bin/python' symlink.

    执行如下命令就ok了 sudo ln sf usr bin python2 7 usr bin python 如果还是不行 reinstall sudo apt get install reinstall python 参考地址 https
  • ‘open3d.open3d.geometry.PointCloud‘ object has no attribute ‘voxel_down_sample‘

    scene cloud open3d geometry PointCloud scene cloud points open3d utility Vector3dVector scene points scene cloud scene c
  • 第四讲 系统建模方法

    系统建模一般流程 实际系统的分析方法大致类似 但对于实际系统的模型实现方式则有多种 1 面向方程 图框 的因果建模 基于图框进行系统模型实现 的软件很多 如Simulink AMESim 应用于控制领域 等 2 面向对象 非因果 的物理建模
  • Ztree和eazyUi-tree的区别

    l 在页面中引入ztree相关的文件 1 1 使用简单json数据构造ztree 重点
  • 常用端口

    端口号码 层 名称 注释 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime
  • 使用father打包发布前端工具库

    father库说明 GitHub https github com umijs father 升级迁移 教程使用father v1 版本较老 可参考下面的教程升级 father 4升级教程 安装 yarn add father 项目配置 0
  • WebStorm、Idea编辑器中右侧的SVN下拉,提交标志不见了呢?--已解决

    新打开的窗口 没有SVN的下拉标志如何把他弄出来呢 首先你得安装了小乌龟软件 然后来到编辑器中 选择 1 VCS Enable Version Control Integretion 2 选择Subversion 点击OK ok 完成
  • logback打印日志不显示具体的信息,显示问号

    目录 表象 原因 日志打印的Appender是使用的ch qos logback classic AsyncAppender 正确配置 表象 配置
  • java21天打卡Day13-正则表达式

    原来正则表达式是这样用的
  • 前端实现文件在线预览

    需求 一个览pdf word xls ppt等文件需要在线预览功能 介绍 使用 XDOC文档预览云服务文档地址 基于HTTP的REST方式调用 只需要传入URL 支持pdf docx xlsx pptx rtf jpg png mp4等多种
  • DINO-DETR论文学习记录

    摘要 我们介绍了DINO 带有改进的去噪器box的DETR 一种最先进的端到端对象检测器 DINO 通过使用对比方式进行去噪训练 混合查询选择方法进行锚点初始化以及用于框预测的ook forward twice方案 在性能和效率方面比以前的
  • 使用WIFI模块AT指令进行HTTP交互

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