電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>OLED上的天氣監(jiān)測(cè)

OLED上的天氣監(jiān)測(cè)

2022-11-25 | zip | 0.08 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹

天氣監(jiān)測(cè)設(shè)備是提供該地區(qū)有關(guān)溫度、濕度、風(fēng)速、降水、紫外線指數(shù)等大氣信息的有用工具。特定地區(qū)的天氣描述了很多關(guān)于棲息地、氣候條件的信息,并在一段時(shí)間內(nèi)積累了這些數(shù)據(jù)。一定的時(shí)間段可以用來(lái)預(yù)測(cè)未來(lái)的氣候變化。在這個(gè)項(xiàng)目中,我使用了 OLED 顯示屏,顯示溫度(攝氏度)、風(fēng)速(米/秒)、天氣的一般描述和圖形圖標(biāo),通過(guò) API 調(diào)用來(lái)描述天氣。

在職的

1.發(fā)送API請(qǐng)求并獲取Json響應(yīng)

天氣監(jiān)控設(shè)備通過(guò)向服務(wù)器發(fā)送 API 請(qǐng)求以返回 JSON 響應(yīng)來(lái)獲取天氣信息。對(duì)于我的項(xiàng)目,我使用了 weatherbit API 的當(dāng)前天氣 API,因?yàn)樗敲赓M(fèi)的并且非常適合我的要求。

要使用此 API,您首先需要在weatherbit.io上設(shè)置一個(gè)帳戶。創(chuàng)建后,您需要請(qǐng)求一個(gè) API 密鑰,大約需要 30 分鐘才能激活。將 API 密鑰保密以供您自己使用,因?yàn)樗挠猛居邢蕖?/font>

獲取 API 密鑰后,您可以通過(guò)在 Web 瀏覽器上發(fā)送請(qǐng)求(參見(jiàn)文檔)或從postman等工具以結(jié)構(gòu)化方式查看 JSON 格式來(lái)檢查 JSON 響應(yīng)。這是我的 api 請(qǐng)求的示例-

此請(qǐng)求的 JSON 響應(yīng)如下 -

{
"data": [
{
"rh": 91.3,
"pod": "d",
"lon": 73.78869,
"pres": 988.487,
"timezone": "Asia/Kolkata",
"ob_time": "2020-08-05 12:53",
"country_code": "IN",
"clouds": 100,
"ts": 1596631998,
"solar_rad": 30.8,
"state_code": "33",
"city_name": "Marmagao",
"wind_spd": 8.05612,
"wind_cdir_full": "west",
"wind_cdir": "W",
"slp": 994.225,
"vis": 2,
"h_angle": 64.3,
"sunset": "13:42",
"dni": 666.14,
"dewpt": 23.9,
"snow": 0,
"uv": 1.35293,
"precip": 0,
"wind_dir": 269,
"sunrise": "00:47",
"ghi": 308.26,
"dhi": 76.82,
"aqi": 51,
"lat": 15.40927,
"weather": {
"icon": "c04d",
"code": 804,
"description": "Overcast Clouds"
},
"datetime": "2020-08-05:12",
"temp": 25.4,
"station": "VAJJ",
"elev_angle": 20.94,
"app_temp": 26.4
}
],
"count": 1
}

同樣,要獲取您所在位置的天氣信息,您只需更改城市和國(guó)家名稱。

JSON 響應(yīng)(如您在上面看到的)包含大量信息,我們只需要一些信息。為了只從 JSON 中獲取必要的信息,我們必須進(jìn)行解析。

2.解析JSON響應(yīng)

為了解析所需的信息,我使用了 ArduinoJson 庫(kù)。為此,我必須獲取 json 緩沖區(qū)大小并為我想要的屬性創(chuàng)建一個(gè) json 對(duì)象。我已經(jīng)使用ArduinoJson 助手來(lái)計(jì)算緩沖區(qū)大小并獲取我想要顯示的鍵的值。緩沖區(qū)大小和解析程序是通過(guò)將 JSON 響應(yīng)粘貼到 ArduinoJson 助手獲得的。

?
?
?
pYYBAGOAMweASOuKAAF-WuABC_4709.jpg
?
1 / 3 ?獲取緩沖區(qū)大小
?

3. 創(chuàng)建天氣小部件

我創(chuàng)建了這些小部件,因?yàn)樗潜硎井?dāng)前天氣狀況的一種有吸引力的方式,并且在 OLED 顯示屏上具有吸引人的外觀。這些圖標(biāo)中的每一個(gè)都來(lái)自文檔,一些來(lái)自 Google 搜索。下面列出的是我使用過(guò)的天氣圖標(biāo)-

poYBAGOAMwmAXNn2AABKIYHWKTI168.jpg
?

所有圖標(biāo)已被裁剪為小于(或接近)57*57 像素的分辨率,以適應(yīng) OLED 顯示器,并已使用image2cpp工具轉(zhuǎn)換為各自的數(shù)組字節(jié)。圖像的數(shù)組字節(jié)如下所示 -

poYBAGOAMwyAX7BTAAJs2Mn_sHo844.jpg
?

在合并到主程序之前,我首先測(cè)試了顯示屏上的所有圖標(biāo),以檢查最終圖像的大小和對(duì)比度。結(jié)果如下——

天氣圖標(biāo)測(cè)試
?

在確保每個(gè)圖標(biāo)都完美顯示后,我已將這些圖標(biāo)分配給它們各自的圖標(biāo)代碼(查看文檔)。例如:200 到 202 之間的代碼顯示“雷暴雨”圖標(biāo),500 到 522 之間顯示“雨”圖標(biāo)等等。

最終執(zhí)行

該草圖需要以下庫(kù),可以從 Arduino IDE 的庫(kù)管理器安裝 - Adafruit 的Adafruit SSD1306 、Adafruit 的Adafruit GFX 庫(kù)、ArduinoJson (版本 5)。

在上傳草圖之前,請(qǐng)確保輸入 weatherbit io 的API 密鑰以及WiFi 路由器的SSID密碼

主顯示屏提供從 Weatherbit api 獲得的以下信息-

pYYBAGOAMxmATiohAAXBxIb09fM637.png
主顯示屏
?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1ADE-12H混頻器規(guī)格書
  2. 0.28 MB   |  1次下載  |  5 積分
  3. 2AD9984A高性能10位顯示接口英文手冊(cè)
  4. 0.49 MB   |  1次下載  |  5 積分
  5. 351開(kāi)發(fā)板芯片資料
  6. 14.95 MB   |  1次下載  |  1 積分
  7. 4用TL431LI-Q1監(jiān)控電流供應(yīng)
  8. 176.71KB   |  1次下載  |  免費(fèi)
  9. 5十進(jìn)制數(shù)據(jù)轉(zhuǎn)十六進(jìn)制字符_轉(zhuǎn)ASCII碼
  10. 0.01 MB   |  次下載  |  免費(fèi)
  11. 6使用TRF7970A進(jìn)行NFC主動(dòng)和被動(dòng)點(diǎn)對(duì)點(diǎn)通信
  12. 926.87KB   |  次下載  |  免費(fèi)
  13. 7LP8864-Q1 LP8864S-Q1 LP8866-Q1和LP8866S-Q1診斷說(shuō)明和故障處理程序
  14. 577.42KB   |  次下載  |  免費(fèi)
  15. 8將設(shè)計(jì)移植到LP3470A低lq電壓監(jiān)控器,以改善電源監(jiān)控
  16. 115.28KB   |  次下載  |  免費(fèi)

本月

  1. 1HFSS電磁仿真設(shè)計(jì)應(yīng)用詳解PDF電子教程免費(fèi)下載
  2. 24.30 MB   |  129次下載  |  1 積分
  3. 2正激、反激、推挽、全橋、半橋區(qū)別和特點(diǎn)
  4. 0.91 MB   |  36次下載  |  1 積分
  5. 3GBT 4706.1-2024家用和類似用途電器的安全第1部分:通用要求
  6. 7.43 MB   |  20次下載  |  免費(fèi)
  7. 4在設(shè)計(jì)中使用MOSFET瞬態(tài)熱阻抗曲線
  8. 1.57MB   |  15次下載  |  免費(fèi)
  9. 5幾張電動(dòng)車充電器電路圖
  10. 0.23 MB   |  9次下載  |  1 積分
  11. 6AD18學(xué)習(xí)筆記
  12. 14.47 MB   |  8次下載  |  2 積分
  13. 7H橋中的電流感測(cè)
  14. 545.39KB   |  7次下載  |  免費(fèi)
  15. 8電機(jī)驅(qū)動(dòng)器電路板布局的最佳實(shí)踐
  16. 3.03MB   |  6次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935113次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191360次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81578次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73804次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分