数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 112|回复: 2

[other] AI编程玩一元钱的ESP32-C2模块——wifi联网获取时间数据

[复制链接]
发表于 5 小时前 | 显示全部楼层 |阅读模式
本帖最后由 慕名而来 于 2025-7-8 09:52 编辑

今年初跟着大家一起入手了两个一元钱的大夏龙雀 WF-25 ESP32C2 模块,入手后配置开发环境完成后测试了点亮LED灯的程序,并发了帖子:
一元钱的ESP32-C2模块成功点亮板载LED指示灯https://www.mydigit.cn/forum.php?mod=viewthread&tid=503038&fromuid=1505079(出处: 数码之家)
一晃半年过去了这个模块就再没摸过,最近想用它替换现在用的esp8266模块来联网获取时间,重新搭好硬件开始测试程序,原本以为这东西可以兼容8266的代码,试过后发展无法编译通过,于是转向AI编程,没想到“DeepSeep|深度求索”给出的代码竟然可以成功运行,直接就在串口助手窗口中看到了时间数据。
这是我的提问:
给出大夏龙雀的ESP32C2模块的完整可以运行的arduino代码,连接wifi并get时间并在串口助手窗口显示时间
这是答案:
以下是一个完整的 Arduino 代码,用于 ESP32-C2 模块连接 WiFi 并获取网络时间(NTP),然后在串口监视器中显示:
#include <WiFi.h>
#include <NTPClient.h>
#include <WiFiUdp.h>
// 替换为你的WiFi凭证
const char* ssid     = "你的WiFi名称";
const char* password = "你的WiFi密码";
// 定义NTP客户端获取时间
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "ntp.ntsc.ac.cn", 28800, 60000); // 使用中国国家授时中心NTP服务器,+8时区(28800秒)
void setup() {
  Serial.begin(115200);
  
  // 连接WiFi
  WiFi.begin(ssid, password);
  
  Serial.print("正在连接到WiFi ");
  Serial.println(ssid);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  Serial.println("");
  Serial.println("WiFi连接成功");
  Serial.print("IP地址: ");
  Serial.println(WiFi.localIP());
  // 初始化NTP客户端
  timeClient.begin();
}
void loop() {
  // 更新NTP时间
  timeClient.update();
  
  // 获取并打印格式化时间
  String formattedTime = timeClient.getFormattedTime();
  Serial.print("当前时间: ");
  Serial.println(formattedTime);
  
  // 获取并打印日期和时间
  time_t epochTime = timeClient.getEpochTime();
  struct tm *ptm = gmtime ((time_t *)&epochTime);
  
  int currentYear = ptm->tm_year + 1900;
  int currentMonth = ptm->tm_mon + 1;
  int currentDay = ptm->tm_mday;
  
  Serial.print("当前日期: ");
  Serial.print(currentYear);
  Serial.print("-");
  Serial.print(currentMonth < 10 ? "0" : "");
  Serial.print(currentMonth);
  Serial.print("-");
  Serial.print(currentDay < 10 ? "0" : "");
  Serial.println(currentDay);
  
  // 每5秒更新一次
  delay(5000);
}
这是演示效果:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
发表于 4 小时前 | 显示全部楼层
挺好的,赞一个先,有空去试试看
回复 支持 反对

使用道具 举报

发表于 2 小时前 | 显示全部楼层
NTPClient库没有处理时间秒的小数部分,最大可能有1秒左右的误差,我Wifi对时的应用已经放弃这个库,直接发送对时请求,然后解析返回数据包。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-8 14:57 , Processed in 0.093601 second(s), 7 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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