ESP8266-01S AT指令 发起GET请求获取时间戳

本文讲述了作者使用ESP8266-01WiFi模块实现GET请求获取拼多多时间戳API数据的过程,包括固件配置、AT指令应用和GET请求的详细步骤,并对比了GET与POST请求的区别。
摘要由CSDN通过智能技术生成

前言

之前,我利用ESP8266-01S WIFI模块成功实现了与OneNET云平台的MQTT协议连接,成功实现上传温湿度数据,并通过微信小程序使用OneNET的API接口下发数据来控制LED的亮灭。
这里放置一个传送门:ESP8266-01s入门:上报和下发数据控制单片机 AT指令讲解和上云 烧录AT固件与OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信单片机前置任务)

现在,我再次利用这个强大的WIFI模块,学习了如何发起GET请求,以获取实时的时间戳和天气信息。这个过程既充满了挑战,也收获颇丰。接下来,我将分享我在实现这一功能过程中的经验和心得,希望能对大家有所帮助。

固件烧录

这个固件要求使用出厂自带的就可以了,因为我烧录的是MQTT的AT指令固件但是这个依旧可以发起GET请求并且不影响mqtt的AT指令,并且既可以同时使用GET请求也可以使用mqtt的发布和订阅功能
烧录固件的步骤可以查看我的另一篇文章开头有讲解
固件烧入步骤

时间戳API

拼多多的时间戳API接口:http://api.pinduoduo.com/api/server/_stm

开始用AT指令发起GET请求

串口发送的内容串口接收的内容
1.AT+UART=9600,8,1,0,0\r\nOK
2. AT\r\nOK
3.AT+RST\r\nOK
4. AT+CWMODE=1\r\nOK
5. AT+CWJAP="WIFI名称","WIFI密码"\r\nOK
6.AT+CIPSTART="TCP","api.pinduoduo.com",80\r\nOK
7.AT+CIPMODE=1\r\nOK
8.AT+CIPSEND\r\nOK
9.GET /api/server/_stm HTTP/1.1\r\nHost: api.pinduoduo.com\r\nConnection: close\r\n\r\nOK
10.+++

用的AT指令解释

  1. AT+UART=9600,8,1,0,0\r\n

    • 功能:设置串口的波特率、数据位、停止位和校验位。
    • 参数:9600是波特率,8是数据位,1是停止位,0表示无奇偶校验。
    • 解释:这条指令用于配置ESP8266的串口通信参数,以便主机与模块之间可以正确通信。
  2. AT\r\n

    • 功能:测试AT指令是否可用。
    • 解释:发送此指令可以检查模块是否响应AT指令,通常用于验证模块与主机的连接是否正常。
  3. AT+RST\r\n

    • 功能:重启模块。
    • 解释:这条指令将重启ESP8266模块,有时用于解决一些连接或配置问题。
  4. AT+CWMODE=1\r\n

    • 功能:设置Wi-Fi模式。
    • 参数:1表示Station模式,即ESP8266作为客户端连接到Wi-Fi网络。
    • 解释:这条指令用于配置ESP8266的Wi-Fi模式,以便它可以连接到Wi-Fi网络。
  5. AT+CWJAP="WIFI名称","WIFI密码"\r\n

    • 功能:连接Wi-Fi网络。
    • 参数:"WIFI名称"和"WIFI密码"分别是要连接的Wi-Fi网络的SSID和密码。
    • 解释:这条指令用于使ESP8266连接到指定的Wi-Fi网络。
  6. AT+CIPSTART="TCP","api.pinduoduo.com",80\r\n

    • 功能:建立TCP连接。
    • 参数:"TCP"表示使用TCP协议,"api.pinduoduo.com"是目标服务器的地址,80是HTTP服务的默认端口。
    • 解释:这条指令用于启动一个TCP连接到指定的服务器和端口,以便发送HTTP请求。
  7. AT+CIPMODE=1\r\n

    • 功能:设置TCP连接模式。
    • 参数:1表示透传模式,即发送的数据将直接传递给TCP连接。
    • 解释:这条指令用于将ESP8266的TCP连接设置为透传模式,这样你就可以直接发送和接收原始数据。
  8. AT+CIPSEND\r\n

    • 功能:发送数据到TCP连接。
    • 解释:在透传模式下,发送此指令后,你可以直接输入要发送的数据。对于非透传模式,这条指令后面通常需要跟上要发送数据的长度。
  9. GET /api/server/_stm HTTP/1.1\r\nHost: api.pinduoduo.com\r\nConnection: close\r\n\r\n

    • 功能:发送HTTP GET请求。
    • 解释:这是实际的HTTP GET请求内容,包括请求行、头部和结束标志。这条指令是在透传模式下发送的,用于从服务器获取数据。
  10. +++

  • 功能:退出透传模式。
  • 解释:发送+++(三个加号,中间没有空格)并等待一段时间后,ESP8266将退出透传模式,并返回到AT指令模式。这通常用于在发送完数据后返回AT指令模式进行其他操作。

GET请求和POST请求基本解释和区别

GET请求

定义
GET请求用于从指定的资源请求数据。它通常用于获取数据,而不是发送数据到服务器。

特点

  • GET请求的参数附加在URL后面,通过问号(?)与URL分隔,多个参数之间用和号(&)分隔。
  • GET请求可以被缓存。
  • GET请求被包含在浏览器的历史记录中。
  • GET请求的数据大小通常有限制(因为浏览器对URL长度有限制)。
  • GET请求只应当用于请求数据,而不应当用于发送敏感数据或改变服务器状态,因为GET请求的URL可能会被保存在浏览器历史记录、网络日志或服务器日志中。

用途

  • 查询数据库中的数据。
  • 请求网页内容。
  • 提交搜索表单。

POST请求

定义
POST请求用于向指定的资源提交数据进行处理请求(例如提交表单或者上传文件)。数据包含在请求体中。

特点

  • POST请求的数据包含在请求体中,不会出现在URL中。
  • POST请求不会被缓存。
  • POST请求不会保存在浏览器的历史记录中。
  • POST请求没有数据大小的限制(实际上还是受限于服务器配置和客户端限制,但通常比GET请求的限制大得多)。
  • POST请求通常用于提交数据,特别是当数据量较大或者包含敏感信息时。

用途

  • 提交表单数据,如用户注册或登录。
  • 上传文件。
  • 提交评论或反馈。

GET与POST的主要区别

  1. 数据位置:GET请求的数据附加在URL上,而POST请求的数据放在请求体中。
  2. 安全性:由于GET请求的数据在URL中可见,所以它不适合用于传输敏感信息。POST请求的数据在请求体中,相对更安全(但也要注意使用HTTPS来保证传输过程中的安全性)。
  3. 缓存和历史记录:GET请求可以被缓存,并且会出现在浏览器的历史记录中;POST请求则不会。
  4. 数据大小限制:GET请求由于URL长度的限制,传输的数据量相对较小;POST请求则没有这种限制(或限制较大)。

后续

如果该文章对你有帮助,请点个赞支持一下!
后续还会出POST请求以及GET请求获取天气信息

  • 10
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

送外卖的CV工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值