Arduino: ESP32 WIFI Obtenga contenido de la página web y visualícelo en OLED

Debe ser un escenario de aplicación muy práctico para que ESP32 acceda a la página web especificada del servidor web a través de la red y muestre el contenido en la pantalla.

Descansando en casa hoy, solo tengo una Raspberry Pi y un pequeño OLED para hacer este experimento. Conecte el Raspberry Pi al WIFI en casa y sudo apt-get install apache2 para que el Raspberry Pi actúe como un servidor web. Creé a.html en / var / www / html y escribí TEST para ver cuál fue el resultado.

#include <WiFi.h>
#include <HTTPClient.h>
HTTPClient http;

#include "SSD1306.h"
SSD1306 display(0x3c, 21, 22);

unsigned long startTime = millis();

void setup() {

  //Serial.begin(115200);

  display.init();
  display.setFont(ArialMT_Plain_16);
  display.drawString(0, 0, "Starting...");
  display.display();

  WiFi.mode(WIFI_STA); //设置为STA模式
  WiFi.disconnect();   //断开当前可能的连接
  delay(1000);

  const char *ssid = "WIFI名称"; //你的网络名称,区分大小写
  const char *password = "****马赛克****"; //你的网络密码

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) //等待网络连接成功
  {
    if (millis() - startTime >= 15000) // 15秒连接超时
    {
      //Serial.println("Timed Out...");
      display.clear();
      display.drawString(0, 0, "Timed Out...");
      display.display();
      
      break;
    }
    else
    {
      display.clear();
      display.drawString(0, 0, "Connecting....");
      display.display();      
    }

    delay(500);
  }

}

void loop() {

  if (WiFi.status() == WL_CONNECTED)
  {
    http.begin("http://192.168.1.9/a.html"); // 访问指定URL

    int httpCode = http.GET();
    if (httpCode == HTTP_CODE_OK) {
      String pageData = http.getString();

      //Serial.println(pageData); // 网页内容

      display.clear();
      display.drawString(0, 0, pageData);
      display.display();
    }
    else
    {
      display.clear();
      display.drawString(0, 0, "GET Error.");
      display.display();
    }

    http.end();
  }
  else
  {
    display.clear();
    display.drawString(0, 0, "WIFI Error.");
    display.display();

  }

  delay(5000);
}

122 artículos originales publicados · Me gusta 61 · Visitas 530,000+

Supongo que te gusta

Origin blog.csdn.net/ki1381/article/details/88625039
Recomendado
Clasificación