找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 583|回复: 2
收起左侧

ESP8266网络时钟+定时功能

[复制链接]
ID:1143774 发表于 2025-2-13 10:21 | 显示全部楼层 |阅读模式
#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);

}
51hei图片_20250213101952.jpg
回复

使用道具 举报

ID:1110477 发表于 2025-2-25 05:49 | 显示全部楼层
这个好,只要改个网络名字和密码
回复

使用道具 举报

ID:1110792 发表于 2025-3-3 21:23 | 显示全部楼层
不错,清晰明了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表