精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于ESP32的網絡天氣時鐘 微服務器

jf_51322043 ? 來源:jf_51322043 ? 作者:jf_51322043 ? 2024-10-08 11:49 ? 次閱讀

2024年國慶期間,假期無聊寫的程序

wKgaomb_-GuAHKNXAAeykpPte1E708.png主界面 wKgaomb_-MaAFN5fAAS-QB8lFZI967.png

主程序

#include 
#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();
}

手機界面

wKgZomb_-WOAKewtAAd-hnlLI80841.png

實物圖(實物--4led是采用中斷實現)-- 手機相機拍攝會有頻閃

wKgaomb_-aKAFBX_ACLaxG-_Zkk566.png

項目地址:

https://www.alipan.com/t/mcfNjbGrBJJX9AIxfa7I

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ESP32
    +關注

    關注

    17

    文章

    957

    瀏覽量

    17082
收藏 人收藏

    評論

    相關推薦

    京準電鐘:NTP網絡時鐘服務器應用石油化工行業

    京準電鐘:NTP網絡時鐘服務器應用石油化工行業
    的頭像 發表于 10-24 16:01 ?124次閱讀
    京準電鐘:NTP<b class='flag-5'>網絡</b><b class='flag-5'>時鐘</b><b class='flag-5'>服務器</b>應用石油化工行業

    esp32用什么軟件編程

    ESP32是一款由樂鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍牙雙模微控制,廣泛應用于物聯網、智能家居、智能穿戴等領域。要對ESP32進行編程,需要選擇合適的編程軟件和開發環境
    的頭像 發表于 08-19 17:24 ?2825次閱讀

    如何將多個ESP連接到一個ESP并向服務器發送數據?

    。 該站模式 ESP 連接了傳感。所有這些站模式 esp 收集傳感數據并將數據發送到主 esp, 這個主
    發表于 07-19 06:49

    ESP8266進入輕度睡眠模式后,有沒有辦法保持與服務器的連接?

    LightSleep的。我已經測試過了,我認為,客戶端保持與 AP 的連接,但在進入輕度睡眠模式后,他與服務器斷開連接。有沒有辦法保持與服務器的連接?
    發表于 07-16 07:52

    ESP為什么無法訪問服務器

    ESP無法訪問服務器??
    發表于 07-16 07:43

    ESP8266網絡天氣時鐘OLED顯示

    基于ESP8266實現網絡獲取天氣時鐘并OLED顯示
    的頭像 發表于 06-28 04:46 ?984次閱讀
    <b class='flag-5'>ESP</b>8266<b class='flag-5'>網絡</b><b class='flag-5'>天氣</b><b class='flag-5'>時鐘</b>OLED顯示

    為什么在一些路由中使用ESP32的Active mode無法接收服務器的TCP數據呢?

    我們設置 AT+CIPRECVMODE=1(Passive mode),我們能夠從服務器接收 TCP 數據。 請解釋為什么在一些路由(如“Arris”)中使用 ESP32 中的 Active mode無法接收
    發表于 06-27 07:34

    安徽京準 | PLC時鐘同步(NTP網絡時間服務器)的重要性

    安徽京準、PLC時鐘同步-ntp網絡時間服務器的重要性
    的頭像 發表于 06-19 10:38 ?443次閱讀
    安徽京準 | PLC<b class='flag-5'>時鐘</b>同步(NTP<b class='flag-5'>網絡</b>時間<b class='flag-5'>服務器</b>)的重要性

    服務器端主動斷開連接,esp32C3用TCP的send函數仍能發送成功返回字節數,為什么?

    服務器端主動斷開連接esp32C3用TCP的send函數仍能發送成功返回字節數,但服務器端已經無法收到數據。為何還能發送成功?這里如何判斷服務器已斷開從而進行斷線重連?
    發表于 06-13 07:16

    如何利用ESP32C3做UDP的服務器

    請教一下,我利用了ESP32C3 建立了Soft AP ,我想利用ESP32C3做UDP的服務器。熱點的建立,參考例程都沒有問題。關鍵是如何形成UDP的服務器。教程有教如何制作成TCP
    發表于 06-12 08:18

    ESP32使用HTTPS協議無法與服務器建立連接怎么解決?

    地址正常(使用其他工具驗證能連接且能收到服務器返回的數據) 4、源碼附在最后。 問題如下:1、參考此例程默認配置參數 .is_async = false,初始化時直接
    發表于 06-12 07:01

    請問ESP32-C3-WROOM-02模塊基于小型MCU能否訪問Linux服務器來獲取數據?

    我想請問一下,ESP的WiFi模塊中包含小型MCU,能不能基于此訪問服務器獲取相應數據,然后ESP32-C3-WROOM-02模塊的無線數據收發,包括數據包拆解是如何進行的,有這方面的資料嘛,謝謝~
    發表于 06-07 07:49

    京準科技、大數據監控網絡里的NTP時鐘同步服務器應用

    京準科技、大數據網絡監控系統里的NTP時鐘同步服務器應用
    的頭像 發表于 06-06 14:15 ?274次閱讀

    NTP網絡時鐘同步服務器(授時服務器)的幾種設置方法

    NTP網絡時鐘同步服務器(授時服務器)的幾種設置方法
    的頭像 發表于 04-29 11:28 ?7843次閱讀
    NTP<b class='flag-5'>網絡</b><b class='flag-5'>時鐘</b>同步<b class='flag-5'>服務器</b>(授時<b class='flag-5'>服務器</b>)的幾種設置方法

    【算能RADXA微服務器試用體驗】Radxa Fogwise 1684X Mini 規格

    通過網絡可以了解到,算能RADXA微服務器的具體規格: 處理:BM1684X 算力:高達32Tops INT8峰值算力 內存:16GB LPDDR4X 內存 存儲:64GB eMMC 編程框架
    發表于 02-28 11:21