#include <ESP8266WiFi.h>
#include <TimeLib.h>
#include <NtpClientLib.h>
#include <U8g2lib.h>
#include <Wire.h>
#include <SimpleTimer.h>
int8_t timeZone = 8;
const PROGMEM char *ntpServer = "ntp1.aliyuncom";
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
SimpleTimer timer;
void Simple_timer_1() {
u8g2.firstPage();
do
{
page1();
}while(u8g2.nextPage());
}
void page1() {
u8g2.setFont(u8g2_font_timR14_tf);
u8g2.setFontPosTop();
u8g2.setCursor(0,0);
u8g2.print(String(NTP.getDateYear()) + String("-") + String(((NTP.getDateMonth() < 10)?String("0") + String(NTP.getDateMonth()):((String)(NTP.getDateMonth())))) + String("-") + String(((NTP.getDateDay() < 10)?String("0") + String(NTP.getDateDay()):((String)(NTP.getDateDay())))));
u8g2.setFont(u8g2_font_timR24_tf);
u8g2.setFontPosTop();
u8g2.setCursor(0,30);
u8g2.print(String(((NTP.getTimeHour24() < 10)?String("0") + String(NTP.getTimeHour24()):((String)(NTP.getTimeHour24())))) + String(":") + String(((NTP.getTimeMinute() < 10)?String("0") + String(NTP.getTimeMinute()):((String)(NTP.getTimeMinute())))) + String(":") + String(((NTP.getTimeSecond() < 10)?String("0") + String(NTP.getTimeSecond()):((String)(NTP.getTimeSecond())))));
}
void setup(){
WiFi.begin("LXGX10Y", "88888888");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Local IP:");
Serial.print(WiFi.localIP());
NTP.setInterval (600);
NTP.setNTPTimeout (1500);
NTP.begin (ntpServer, timeZone, false);
u8g2.setI2CAddress(0x3C*2);
u8g2.begin();
timer.setInterval(1000L, Simple_timer_1);
u8g2.enableUTF8Print();
pinMode(14, OUTPUT);
Serial.begin(9600);
}
void loop(){
timer.run();
if (NTP.getTimeHour24() >= (10 && NTP.getTimeMinute() >= 33) && (NTP.getTimeHour24() <= 14 && NTP.getTimeMinute() < 02)) {
digitalWrite(14,HIGH);
} else {
digitalWrite(14,LOW);
}
Serial.print(NTP.getDateYear());
Serial.print("-");
Serial.print(NTP.getDateMonth());
Serial.print("-");
Serial.println(NTP.getDateDay());
Serial.print(NTP.getTimeHour24());
Serial.print(":");
Serial.print(NTP.getTimeMinute());
Serial.print(":");
Serial.println(NTP.getTimeSecond());
delay(1000);
}
|