ESP8266+OLED显示实时时间

话不多说上代码

注:此处有引用其他博主代码:tongyue

在其基础并有部分更新
放在此处方便参考,并自己保存用

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <Arduino.h>
#include <U8g2lib.h>
#include "dingyi.h"
#include <Wire.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
const char* ssid     = "NETGEAR"; 
const char* password = "dahai121";  
WiFiClient client;
HTTPClient http;
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,D2,D1,U8X8_PIN_NONE);
void setup() {
  u8g2.begin();
  u8g2.enableUTF8Print(); 
  delay(1000);
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  String GetUrl = "http://quan.suning.com/getSysTime.do";
  http.setTimeout(5000);
  http.begin(client,GetUrl);
}
void loop() {
  int httpCode = http.GET();
  u8g2.setFont(u8g2_font_unifont_t_chinese2);
  u8g2.setFontDirection(0);
  u8g2.clearBuffer();
  if (httpCode > 0) {
      Serial.printf("[HTTP] GET... code: %d\n", httpCode);
      if (httpCode == HTTP_CODE_OK) {
        String response = http.getString();
        //Serial.println(response);
        u8g2.setCursor(0, 15);
        u8g2.print((response.substring(13,23)));
        u8g2.setCursor(0, 30);
        u8g2.print((response.substring(24,32)));
        u8g2.sendBuffer();  
      }
  } else {
      Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
      
  }
  http.end();
  delay(900);
}

运行效果:

ESP8266+OLED显示实时时间

上一篇:Charles抓包分析Android


下一篇:基于机智云云服务平台的媒体设备控制系统研究