RM新时代网站-首页

電子發(fā)燒友App

硬聲App

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

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

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

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

2022-11-25 | zip | 0.08 MB | 次下載 | 免費

資料介紹

描述

介紹

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

在職的

1.發(fā)送API請求并獲取Json響應

天氣監(jiān)控設備通過向服務器發(fā)送 API 請求以返回 JSON 響應來獲取天氣信息。對于我的項目,我使用了 weatherbit API 的當前天氣 API,因為它是免費的并且非常適合我的要求。

要使用此 API,您首先需要在weatherbit.io上設置一個帳戶。創(chuàng)建后,您需要請求一個 API 密鑰,大約需要 30 分鐘才能激活。將 API 密鑰保密以供您自己使用,因為它的用途有限。

獲取 API 密鑰后,您可以通過在 Web 瀏覽器上發(fā)送請求(參見文檔)或從postman等工具以結構化方式查看 JSON 格式來檢查 JSON 響應。這是我的 api 請求的示例-

此請求的 JSON 響應如下 -

{
"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
}

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

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

2.解析JSON響應

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

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

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

我創(chuàng)建了這些小部件,因為它是表示當前天氣狀況的一種有吸引力的方式,并且在 OLED 顯示屏上具有吸引人的外觀。這些圖標中的每一個都來自文檔,一些來自 Google 搜索。下面列出的是我使用過的天氣圖標-

poYBAGOAMwmAXNn2AABKIYHWKTI168.jpg
?

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

poYBAGOAMwyAX7BTAAJs2Mn_sHo844.jpg
?

在合并到主程序之前,我首先測試了顯示屏上的所有圖標,以檢查最終圖像的大小和對比度。結果如下——

天氣圖標測試
?

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

最終執(zhí)行

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

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

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

pYYBAGOAMxmATiohAAXBxIb09fM637.png
主顯示屏
?

?


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
RM新时代网站-首页