2024年国庆期间,假期无聊写的程序
主界面 
主程序
#include < Arduino.h > #include "Backend_service.h" #include "SMG_4.h" void setup() { Serial.begin(115200); SMG_4_Init(); // 初始化数码管显示 connectToWiFi(); // 连接Wi-Fi initOLED(); // 初始化 OLED // 初始化 NTP 客户端 timeClient.begin(); // 等待时间同步 while(!timeClient.update()) { Serial.println("Waiting for NTP time sync..."); delay(1000); // 每秒钟检查一次 } // 处理网页请求 server.on("/", handleRoot); // 处理根路径 server.on("/setCity", handleSetCity); // 处理设置城市请求 server.on("/time", handleTime); // 处理时间请求 server.on("/weather", handleWeather); // 处理天气请求 server.begin(); // 启动服务器 } void loop() { static unsigned long lastWeatherUpdate = 0; // 上一次天气刷新的时间 static unsigned long lastTimeUpdate = 0; // 上一次时间刷新的时间 unsigned long currentMillis = millis(); // 确保 NTP 客户端保持更新 timeClient.update(); // 获取当前时间的小时和分钟 hours = timeClient.getHours(); minutes = timeClient.getMinutes(); // 每20s更新 OLED 上的时间 if (currentMillis - lastTimeUpdate >= 10000) { // 20s更新一次 lastTimeUpdate = currentMillis; String timeString = String(hours) + ":" + (minutes < 10 ? "0" + String(minutes) : String(minutes)); // 格式化时间 (HH:MM) // 更新 OLED 显示时间和天气信息 updateOLED(timeString, weatherEnglish, temp + "°C", WiFi.localIP().toString(),city); } // 每 20 分钟刷新一次天气信息 if (currentMillis - lastWeatherUpdate >= 1200000) { // 1200000 毫秒 = 20 分钟 lastWeatherUpdate = currentMillis; // 调用获取天气数据的函数 handleWeather(); } // 显示当前时间的小时和分钟到数码管 displayTime(hours, minutes); // 处理网页请求 server.handleClient(); }
手机界面

实物图(实物--4led是采用中断实现)-- 手机相机拍摄会有频闪

项目地址:
https://www.alipan.com/t/mcfNjbGrBJJX9AIxfa7I
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
ESP32
+关注
关注
24文章
1083浏览量
20850
发布评论请先 登录
相关推荐
热点推荐
ESP32-运行网页服务器(Web Server)-实用篇
在前一篇文章《ESP32-运行网页服务器(WebServer)-入门篇》,我们介绍了ESP32运行网页服务器(WebServer)的原理,然后我们基于
ntp时钟同步服务器是什么?ntp时钟同步服务器介绍
时间、时钟、时辰是我们非常熟悉的,但是你们知道如今的时间、时钟都是哪里产生的吗?尤其当今网络设备的普及使用,上面几乎都有时间标识,其实他们都是通过一些设备传递的,比如ntp时钟同步
ESP32运行网页服务器 (Web-Server)-入门篇
什么是ESP32WebServer?ESP32WebServer是在ESP32微控制器上运行的一个嵌入式网页服务器。它能够处理HTTP请求并
微服务器架构几种典型的基础框架,你了解吗?
SpringCloud、Dubbo、Dropwizard、Akka等是常见微服务框架。SpringCloud基于SpringBoot,生态丰富;Dropwizard轻量且继承SpringBoot优点
解密北斗时钟服务器的现代使命
在ICU病房的生命监护仪上,在高铁调度中心的运行图上,在智能制造车间的机械臂之间,北斗时钟服务器正以人类难以察觉的方式编织着精密的时间网络。这些看似普通的数字显示器背后,连接着维系现代
发表于 02-25 14:54
云服务器需要网络吗?怎么设置
需要。云服务器的运行依赖于网络连接,以确保用户能够通过互联网远程访问和管理服务器资源。网络设置是云服务器配置过程中的重要环节,它涉及到IP地
新加坡云服务器网络中断的常见原因有哪些
新加坡云服务器网络中断的常见原因包括以下几方面: 硬件故障,网络设备故障:数据中心内部的路由器、交换机等网络设备出现故障,会导致云
NTP服务器故障排除技巧 NTP服务器与网络安全
网络时间协议(NTP)服务器对于确保网络中的设备时间同步至关重要。无论是在企业网络还是数据中心,时间同步都是网络安全和数据一致性的基础。然而

基于ESP32的网络天气时钟 微服务器
评论