学习太极创客 — ESP8226 (五)HTTP 协议数据通讯

      最后更新:2022-06-16 15:37:17 手机定位技术交流文章

      视频网址: https://www.bilibili.com/video/BV1L7411c7jw?p=13&spm_id_from=333.880.my_history.page.click&vd_source=b91967c499b23106586d7aa35af46413

      程序网址: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/esp8266-client-sends-iot-data-to-esp8266-server/

      1.客户向服务器发送数据信息

      1.1.使用ESP8266客户端发送数据到ESP8266服务器

      硬件要求:一个ESP8226开发板作为客户端和一个ESP8226开发板作为服务器。
      在这里插入图片描述

      实现功能:在这个例子中,ESP8266客户端将通过HTTP协议向ESP8266服务器发送信息。在运行过程中,ESP8266客户端将实时检查板上的关键状态,然后将按钮状态发送到服务器上。服务器收到客户端的键状态后,服务器端子上的LED灯可以根据客户端的键状态开关或关闭。最终实现的效果是,我们可以通过客户ESP8266开发板上的键来打开和关闭远程服务器上的LED。
      在这里插入图片描述

      注意,在实例中的服务器端的ESP8266和客户端ESP8266必须连接到相同的WiFi网络来进行数据通信。

      需要规定通信要求:

      客户端向服务器发送三个变量,其中一个是内式测试数据,另一个是浮动式测试数据,另一个是关键状态值。

      客户端

      客户端如何向服务器发送数据?

      在预客户端程序注释中,有一个发送 http 消息的描述:

      这个声明是客户端发送给服务器请求时发送的地址信息。

      这个地址信息包括服务器端的 ip 地址,/update 是通过请求这个地址页面信息,目的是让服务器调用函数 handleUpdate ,问号后面的内容是三个参数数值(通过 & 进行分隔的)。

      最后,需要补充关于HTTP协议的知识。

      在客户端中,GET用于向服务器发送请求信息,这可能导致问题,当客户端想要从服务器获取信息时,我们使用GET,这里是发送信息给服务器,为什么发送信息和获取信息都使用GET?

      事实上,在 http 协议中,没有非常严格的要求说哪种操作必须以哪种方式进行。 GET可以从服务器中获取信息或发送到服务器。

      服务器端

      实现功能:
      1 – 收到客户端的 http 请求,并分析信息中的数据信息
      2 – 显示通过串联显示器分析的数据信息,供用户查看
      3 –使用分析客户的关键状态信息来控制服务器端子上的LED的照明和熄灭

      下面, 让我们看看下面的运行效果.

      当开发板连接到路由器时,路由器通常动态地分配一个IP地址给开发板,而这个地址不是固定的。

      在程序中,设置了四个IPAddress类型对象,

      通常,IP地址由一个小点分开, 这里是一个逗号.

      然后在 program.config下使用WiFi来配置网络信息。

      这里只使用3个,并且缺少dns对象,因为dns是一个选项参数,有或没有选项。

      然后尝试WiFi连接。 连接到WiFi后,输出连接信息。

      也就是说,当客户端请求开发板/更新页面信息时,我们允许它执行 handleUpdate函数。

      下面分析了函数 handleUpdate.

      首先定义三个变量,然后使用服务器。 方法 arg用于分析和处理(数据类型转换)。

      之后,

      向客户端返回响应状态代码,然后向客户端返回“收到”响应消息。

      然后根据分析的关键状态值控制端(服务器端)的灯光。

      最后, 通过串联显示器输出得到的变量值.

      上述运行结果如下,

      在这里插入图片描述
      您可以使用浏览器模拟此操作。

      输入浏览器地址栏

      按下回车后,
      在这里插入图片描述
      同时,在服务器端有一个小灯会被点亮。

      客户端从服务器接收数据信息

      2.1.使用ESP8266客户端从ESP8266服务器获取数据

      程序链接: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-nodemcu-web-client/esp8266-client-gets-iot-data-from-esp8266-server/

      注: 分析数据需要等待时间.

      那有什么解决办法?

      这让我们知道JSON的内容。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/27519.html

          热门文章

          文章分类