天气时钟-esp8266和OLED做的,但是星期显示不对

#include <ESP8266WiFi.h>                   //ESP8266WiFi库
#include <ESP8266WiFiMulti.h>              //ESP8266WiFiMulti库     
#include <ArduinoJson.h>                   //ArduinoJson库
#include <Ticker.h>                        //Ticker库
#include <WiFiUdp.h>                       //WiFiUdp库
#include <NTPClient.h>                     //NTPClient库
#include <Arduino.h>                       //Arduino库
#include <U8g2lib.h>                       //U8g2lib库
//#include <U8glib.h> 
#include <Wire.h>                          //Wire库
//U8G2_SSD1309_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, SCL, SDA, U8X8_PIN_NONE);
//U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
//U8G2_SSD1309_128X64_NONAME_F_SW_I2C u8g2(13, 11, 10, 9);

                                           //OLED默认驱动设置                                          
const char* host = "api.seniverse.com";    //心知天气服务器地址
const int httpPort = 80;                   //服务器端口号
String privateKey = "ST1nKgHvk1fFqVoOD";   //请求URL所用私钥(在心知天气官网注册账号即可)
String requireCity = "北京";              //查询天气的城市(如Wuhan)
String temperatureUnit = "c";              //温度单位(摄氏度)

typedef struct {                           //天气信息结构体
  String date;                             //日期
  String day;                              //白天天气
  int dayCode;                             //白天天气代码
  String night;                            //夜晚天气
  int nightCode;                           //夜晚天气代码
  String high;                             //最高气温
  String low;                              //最低气温
  String humidity;                         //相对湿度
} weatherInfo;

weatherInfo todayWeather;                  //今天的天气信息
weatherInfo tomorrowWeather;               //明天的天气信息
weatherInfo afterTomorrowWeather;          //后天的天气信息

Ticker requestTicker;                      //向服务器请求定时器
int requestInterval = 0;                   //向服务器请求时间间隔
Ticker updateTimeTicker;                   //更新时间定时器
int updateTimeInterval = 0;                //更新时间时间间隔
Ticker displayTicker;                      //OLED显示界面定时器
int displayInterval = 0;                   //OLED显示界面时间间隔

WiFiUDP ntpUDP;                            //WiFiUDP对象
NTPClient timeClient(ntpUDP, "ntp.aliyun.com", 60 * 60 * 8, 30 * 60 * 1000);
                                           //timeClient对象
String weekDay = "";                       //星期几
String nowTime = "";                       //当前时间

//启动开始界面
static const unsigned char Start[] U8X8_PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xF0, 0x00,
  0x00, 0x80, 0x0F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0E, 0xF0, 0x00, 0x00, 0xE0, 0x1F, 0x00, 0x80, 0x1F, 0x03, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x0E, 0xF0, 0x00,
  0x00, 0xFE, 0x0F, 0x00, 0xC0, 0xEF, 0x0F, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x0F, 0x70, 0x00, 0x00, 0xFC, 0x07, 0x00, 0xE0, 0xFF, 0x0F, 0x00, 0x80, 0x03, 0xF0, 0x01, 0x00, 0xF7, 0x70, 0x00,
  0x00, 0xF8, 0x01, 0x00, 0xF0, 0xFF, 0x03, 0x00, 0xC0, 0x0F, 0xE0, 0x01, 0x80, 0xFF, 0x70, 0x0F, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0xFF, 0x00, 0x00, 0x80, 0x1F, 0xE0, 0x01, 0xC0, 0x7D, 0xF0, 0x1F,
  0x00, 0x68, 0x00, 0x00, 0xE0, 0x7F, 0x00, 0x00, 0x00, 0x1C, 0xE0, 0x01, 0xE0, 0x18, 0xF8, 0x3C, 0x00, 0x30, 0x00, 0x00, 0xE0, 0xFE, 0x01, 0x00, 0x10, 0x1C, 0xE0, 0x07, 0xE0, 0x10, 0x7E, 0x3C,
  0x00, 0x38, 0x0C, 0x00, 0x80, 0xFF, 0x01, 0x00, 0x10, 0x1C, 0xFE, 0x0F, 0x70, 0xF8, 0x77, 0x1E, 0x00, 0xB4, 0x3F, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0x30, 0xDC, 0xFF, 0x1F, 0x38, 0xFE, 0x73, 0x0F,
  0x00, 0xF8, 0x1F, 0x00, 0xC0, 0x7F, 0x03, 0x00, 0x38, 0xFC, 0xFF, 0x0C, 0xD8, 0x9F, 0xF3, 0x03, 0x00, 0xF8, 0x07, 0x00, 0xC0, 0xDF, 0x07, 0x00, 0xFC, 0xFD, 0xE3, 0x00, 0xDC, 0x8F, 0xF3, 0x07,
  0x00, 0xFE, 0x01, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xF8, 0x8F, 0xE1, 0x00, 0xCE, 0xB7, 0xFB, 0x07, 0xA0, 0x7F, 0x00, 0x00, 0x80, 0x3F, 0x0F, 0x00, 0xF8, 0x0F, 0xE0, 0x00, 0x86, 0x7F, 0xFF, 0x07,
  0xE0, 0xFF, 0x00, 0x00, 0xC0, 0x0F, 0x07, 0x00, 0xF8, 0xEF, 0xE3, 0x00, 0x83, 0x7E, 0x7F, 0x00, 0xE0, 0xFF, 0x01, 0x00, 0xF8, 0x03, 0x03, 0x00, 0xB8, 0xEF, 0xE7, 0x80, 0x41, 0x4F, 0x7E, 0x00,
  0xC0, 0xDF, 0x03, 0x00, 0xFC, 0x00, 0x03, 0x00, 0x78, 0xEE, 0xE7, 0xC0, 0xE0, 0x27, 0x70, 0x00, 0x00, 0x1C, 0x0F, 0x00, 0x3C, 0x80, 0x01, 0x00, 0x38, 0x2F, 0xE7, 0x00, 0xF0, 0x27, 0x70, 0x00,
  0x00, 0x0C, 0x1E, 0x00, 0x00, 0x80, 0x01, 0x00, 0xB8, 0x2F, 0xE3, 0x00, 0xF0, 0x13, 0x70, 0x00, 0x00, 0x0C, 0x3C, 0x00, 0x00, 0x80, 0x01, 0x00, 0xF8, 0x4F, 0xE1, 0x00, 0x60, 0x13, 0x70, 0x00,
  0x00, 0x0E, 0x78, 0x00, 0x00, 0x80, 0x01, 0x00, 0xFC, 0x8E, 0xE0, 0x00, 0x00, 0x0B, 0x70, 0x00, 0x00, 0x0F, 0xF0, 0x03, 0x00, 0x80, 0x41, 0x00, 0x7C, 0x8E, 0xE3, 0x00, 0x00, 0x0F, 0x70, 0x00,
  0x80, 0x07, 0xF0, 0x0F, 0x00, 0x80, 0x81, 0x00, 0x78, 0x0E, 0xFF, 0x00, 0x00, 0x0F, 0x70, 0x00, 0xC0, 0x03, 0xE0, 0x3F, 0x00, 0x80, 0x81, 0x00, 0x10, 0x06, 0xFE, 0x00, 0x00, 0x0E, 0x70, 0x00,
  0xF8, 0x00, 0x80, 0x7F, 0x00, 0x80, 0x03, 0x01, 0x00, 0x06, 0xFC, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x07, 0x03, 0x00, 0x02, 0xF8, 0x00, 0x00, 0x00, 0x70, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x07, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

//晴
static const unsigned char Sunny[] U8X8_PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00,
  0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x80, 0x3F, 0x00, 0xF8, 0x0F, 0x00, 0x38, 0x00, 0x00, 0x1F, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0x00,
  0x00, 0x0E, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x0F, 0x00, 0x00,
  0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00,
  0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值