ESP8266可以直接作为一个网页客户端来使用,封装的库中提供函数以快速配置ESP8266为一个网页客户端,能够直接获取网页服务端的代码。例如打开百度首页,通过串口返回所有html代码。这里暂未设置DNS服务因此需要通过IP直接访问。

程序流程:

1、连接NodeMCU板子,打开Arduino IDE,选择好开发板型号和串口号。

2、新建ino文件,添加头文件。

  1. #include <Arduino.h>
  2. #include <ESP8266WiFi.h>
  3. #include <ESP8266WiFiMulti.h>
  4. #include <ESP8266HTTPClient.h>

3、以宏定义的形式设定地址,端口和wifi名称,密码。

  1. #define HTTPIP      "14.215.177.37"   //baidu的ip
  2. #define HTTPPORT    80
  3. #define WIFINAME    "你的wifi名称"
  4. #define WIFIPW      "wifi密码"</span>

4、配置串口并尝试连接Wifi。

  1. Serial.begin(115200);
  2. Serial.println();
  3. Serial.println("Connecting");
  4. WiFiMulti.addAP(WIFINAME,WIFIPW);
  5. while(WiFiMulti.run()!=WL_CONNECTED)
  6. {
  7. delay(500);
  8. Serial.print(".");
  9. }
  10. Serial.println("Connected!");

5、连接指定的网页服务器IP,这里的"/"是指页面文件名称,例如"index.jsp""main. PHP "等。

  1. http.begin(HTTPIP,HTTPPORT,"/");

6、 获取代码,如果返回值为200则表示请求网页成功,打印页面。

  1. int Code = http.GET();
  2. if(Code)
  3. {
  4. Serial.printf("HTTP Code:%d\n",Code);
  5. if(Code == 200)
  6. {
  7. String payload = http.getString();
  8. Serial.println(payload);
  9. }
  10. else
  11. {
  12. Serial.println("Couldn't link to server");
  13. }

整体代码如下:

  1. #include <Arduino.h>
  2. #include <ESP8266WiFi.h>
  3. #include <ESP8266WiFiMulti.h>
  4. #include <ESP8266HTTPClient.h>
  5. ESP8266WiFiMulti WiFiMulti;
  6. #define HTTPIP      "14.215.177.37"//baidu
  7. #define HTTPPORT    80
  8. #define WIFINAME    "*******"
  9. #define WIFIPW      "*****"
  10. void setup() {
  11. // put your setup code here, to run once:
  12. Serial.begin(115200);
  13. Serial.println();
  14. Serial.println("Connecting");
  15. WiFiMulti.addAP(WIFINAME,WIFIPW);
  16. while(WiFiMulti.run()!=WL_CONNECTED)
  17. {
  18. delay(500);
  19. Serial.print(".");
  20. }
  21. Serial.println("Connected!");
  22. }
  23. void loop() {
  24. // put your main code here, to run repeatedly:
  25. HTTPClient http;
  26. Serial.println("Try link to http.");
  27. http.begin(HTTPIP,HTTPPORT,"/");
  28. int Code = http.GET();
  29. if(Code)
  30. {
  31. Serial.printf("HTTP Code:%d\n",Code);
  32. if(Code == 200)
  33. {
  34. String payload = http.getString();
  35. Serial.println(payload);
  36. }
  37. else
  38. {
  39. Serial.println("Couldn't link to server");
  40. }
  41. }
  42. delay(5000);
  43. }

Esp8266(4)相关推荐

  1. 安装esp8266库_基于ESP8266,DIY低成本智能远程开关灯小装置

    废话不多说,直接开始 首先需要必备的环境arduino ide,Blinker app(应用商店均可下载)以及必备的一些库(aduino ide1.8.7及以上版本,esp8266拓展,blinker ...

  2. esp freertos_如何开始使用FreeRTOS和ESP8266

    esp freertos by Denis Nuțiu 丹尼斯·努尤(Denis Nuțiu) 如何开始使用FreeRTOS和ESP8266 (How to get started with Free ...

  3. 一、ESP8266入门(基于LUA开发)

    序 一入坑便停不下来...  还挺有意思的哈,233,,,,  资料杂,自己一个一个去找确实浪费了不少时间,而且大多还都是英文的,需要硬着头皮看.  这次实践入门,更是对英语的重要确信无疑.Githu ...

  4. 乐鑫esp8266模块MicroPython开发板MQTT物联网人工智能最小系统

    简 介: ※对于购买自网络的基于ESP8266的实验模块进行了初步的测试,它其中的一些示例进行了练习.特别是对于基于ESP8266的特殊的一些外设的测试. 关键词: ESP8266,MicroPyth ...

  5. 基于USR-WiFi模块的 ESP32,ESP8266 Thonny调试器

    简 介: 本文给出了基于WiFi模块 USR-WiFi232 设置无线调试ESP32,ESP8266 MicroPython开发的环境. 关键词: ESP32,ESP8266,Thonny,Micro ...

  6. 利用ESP8266测量模块来设计远距离反射式光电检测 : ITR8307

    简 介: 为了能够使得下一届的智能车竞赛中的节能信标组摆脱磁铁的干扰,可以进行对抗比赛.在现有的节能信标灯的基础上,增加光电反射检测单元.该电路采用了反射式光电检测管,利用单片机的定时ADC转换,可以 ...

  7. ESP32,ESP8266之间WiFi互联实验

    ▌ESP32,ESP8266模块互联 ESP32,ESP8266 模块具有很丰富的功能,便于设计一些现场需要联网的场合.基于此在AI视觉组基于ESP32的裁判系统第一版本设计要求 就使用了ESP32进 ...

  8. ESP8266 D1-UNO-R3开发板的初步测试

    简 介: 测试购买到的基于ESP8266的开发板,但是始终没有能够成功下载程序.问题尚待后期进行测试. 关键词: ESP8266,Arduino #mermaid-svg-6x74Q9rymsvfSg ...

  9. 安装 Arduino IDE 中STM32 软件包,ESP8266软件包

    简 介: 搜集了更多的基于Arduino生态环境的安装和使用方法. 关键词: Arduino,STM32,ESP8266 §01 安装STM32在Arduino IDE软件包 1.参考文献1 参照推文 ...

  10. ESP8266访问网站-urequest get方法

    §01 利用ESP8266访问网站 在制作基于ESP8266的联网的智能门控系统,ESP8266负载将局部的基于人脸识别的门控系统的信息与管理网站之间进行信息的交互.利用了 http 中的 get 方 ...

最新文章

  1. 《HttpClient官方文档》2.4 多线程请求执行
  2. 得到的概率值_论文推荐|屋面钢梁在超强意外雪荷载作用下的失效概率
  3. 【必看】运维是“越老越吃香“的职业?
  4. 亚马逊记AWS(Amazon Web Services)自由EC2应用
  5. SpringMVC配置类WebMvcConfigurerAdapter学习总结
  6. vue获取浏览器地址栏参数(?及/)路由+非路由实现方式
  7. 如梦如幻,开源实时的天空特效算法!
  8. 从五大结构体,带你掌握鸿蒙轻内核动态内存Dynamic Memory
  9. iOS --- [持续更新中] iOS移动开发中的优质资源
  10. python encode函数_python_base64和encode函数
  11. 实时渲染——三种渲染方法介绍
  12. ncie全国计算机等级考试,国家信息化工程师认证考试(NCIE)
  13. ws550 第三方固件_【详细图文】华为WS550固件升级方法
  14. 2020-12-24
  15. 现实中的软件工程:如何快速迭代代码
  16. 自定义可折叠和展开的View
  17. 阿里云负载均衡的配置和使用场景
  18. 等保2.0三级云计算扩展要求
  19. STM32-SPI的NSS详解
  20. AutoGluon包使用示例(表格、图像与多模态)

热门文章

  1. 给定一个数值,计算最合适的行列数量的代码
  2. matlab 蒙特卡洛工具箱_MATLAB多维T分布蒙特卡洛?
  3. C++ OpenCV 学习笔记【0】- 未整理,草稿记录用
  4. Android Studio 3.1.0.0 拖入控件显示问题
  5. oracle如何储存超长汉子_厦门到惠州整车运输超长超宽超重运输
  6. python可以500x1000_Python练习题 一. 使用匿名函数对1~1000求和,代码力求简洁。...
  7. php 忽略加载动态某个目录,php – 如何使用RecursiveIteratorIterator忽略目录?
  8. echarts legend颜色_Canvas专题—综合案例:echarts实现k线图(11)
  9. sci的figure怎么做_一文看懂SCI论文中都有哪几种Figure
  10. 深入了解字符集和编码