欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 659|回復: 2
打印 上一主題 下一主題
收起左側

用8266開發板+心知天氣制做一個實時天氣數據顯示器

[復制鏈接]
跳轉到指定樓層
樓主
在心知天氣網站上注冊登陸獲取一個API后就可利用8266開發板制做一個實時天氣數據顯示器,顯示器右側有一個按鈕,按下一次就可顯示室外當前天氣狀況30秒鐘然后自動關機。該顯示器還加裝了一個DHT11溫濕度傳感器用于顯示當前室內溫濕度。下面提供了顯示器圖片及電路圖和程序。
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClient.h>
#include <ArduinoJson.h>
#include <Wire.h>  
#include <SPI.h>
#include <dht11.h>
#include <Arduino.h>
#include <U8g2lib.h>
const char* ssid = "。。。。。。";   //WIFI名稱
const char* password = "。。。。。。"; //WIFI密碼
const char* host     = "api.seniverse com";
String apiKey = "。。。。。。";  // 注冊后獲取
String location      = "shanghai"; // 城市標識
String unit          = "c";       // 攝氏度
//U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); //使用OLED顯示
U8G2_ST7920_128X64_F_SW_SPI u8g2(U8G2_R0, /* clock=*/ 0, /* data=*/ 2, /* CS=*/ 1, /* reset=*/ 16); //使用ST7920顯示
dht11 DHT11;
#define DHT11PIN 14

void setup() {
  u8g2.begin(); // 初始化OLED
  u8g2.enableUTF8Print(); // 啟用UTF-8中文打印
  Serial.begin(9600);
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
// WiFi連接
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  u8g2.clearBuffer(); // 清顯存
u8g2.setFont(u8g2_font_wqy16_t_gb2312);
   u8g2.setCursor(20, 40); // 坐標(x,y),y是基線位置
  u8g2.print("心 知 天 氣"); // UTF-8中文   
  u8g2.sendBuffer(); // 顯存數據推送到顯示器顯示   
  }
}

void loop() {

    WiFiClient client;
    HTTPClient http;
  // 構建API請求URL
    String url = "http://" + String(host) + "/v3/weather/now.json?key=" + apiKey +
                 "&location=" + location + "&language=zh-Hans&unit=" + unit;

   // Serial.print("Request URL: ");
   // Serial.println(url);

    if(http.begin(client, url)) {
      int httpCode=http.GET();

          String payload=http.getString();
         // Serial.println("Payload: " + payload);

          // 解析JSON
StaticJsonDocument<200> doc;
         DeserializationError error=deserializeJson(doc, payload);

           String weather=doc["results"][0]["now"]["text"].as<String>();
            int temp=doc["results"][0]["now"]["temperature"].as<float>();
          int windSpeed=doc["results"][0]["now"]["wind_speed"];
         const char* windDir=doc["results"][0]["now"]["wind_direction"];
         float f= windSpeed/3.6;

          int chk = DHT11.read(DHT11PIN);
int t= (float)DHT11.temperature;
int h=(float)DHT11.humidity;
  u8g2.clearBuffer(); // 清顯存     
// 設置字體(必須選支持中文的字體,這里用u8g2_font_wqy12_t_gb2312)
  u8g2.setFont(u8g2_font_wqy12_t_gb2312);
  u8g2.setCursor(0, 20);
  u8g2.print("室內;");
   u8g2.setCursor(38, 20);
  u8g2.print(t);
    u8g2.setCursor(56, 20);
  u8g2.print("C");
  u8g2.setCursor(68, 20);
  u8g2.print("濕度:");
  u8g2.setCursor(106, 20);
  u8g2.print(h);
  u8g2.setCursor(122, 20);
  u8g2.print("%");
  u8g2.setCursor(0, 40);
  u8g2.print("溫度:");
u8g2.setCursor(38, 40);
  u8g2.print(temp);
  u8g2.setCursor(56, 40);
  u8g2.print("C");
  u8g2.setCursor(68, 40);
  u8g2.print("天氣:");
  u8g2.setCursor(106, 40);
  u8g2.print(weather);
   u8g2.setCursor(0, 60);
  u8g2.print("風向:");
   u8g2.setCursor(38, 60);
  u8g2.print(windDir);
u8g2.setCursor(68, 60);
  u8g2.print("風速:");
  u8g2.setCursor(106, 60);
  u8g2.print(f,1);
  u8g2.sendBuffer();        

      http.end();
      }   else {
     // Serial.println("HTTP begin failed");
    }

   delay(30000);
   digitalWrite(13, LOW); 關機
}

3e5c3b876d13efeaa82827e5d9547130.jpg (348.86 KB, 下載次數: 0)

3e5c3b876d13efeaa82827e5d9547130.jpg

861e20e96eec23832797aa4859578b33.jpg (340.51 KB, 下載次數: 0)

861e20e96eec23832797aa4859578b33.jpg

EasyCapture12.png (16.46 KB, 下載次數: 0)

EasyCapture12.png

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:65237 發表于 2026-2-10 10:09 | 只看該作者
樓主你這有完整資料分享一下,想做一個,有你更精彩
回復

使用道具 舉報

板凳
ID:997011 發表于 2026-2-11 07:04 | 只看該作者
阿飛7812 發表于 2026-2-10 10:09
樓主你這有完整資料分享一下,想做一個,有你更精彩

不知您還須要哪些資料請告之,我好提供給您.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表