91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

如何使用DarkSkyAPI構(gòu)建天氣儀表板

454398 ? 來源:工程師吳畏 ? 2019-08-27 09:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:入門

我們已經(jīng)為您將大量代碼放在一起并組織信息。我們只需要你一路做一些調(diào)整。如果您想要對我們的代碼進行一些更改并發(fā)送天氣數(shù)據(jù),那么就有無限可能!

要檢索我們?yōu)槟鷾蕚涞乃袃?nèi)容,您需要從GitHub克隆存儲庫。 GitHub是一項服務(wù),允許我們存儲,修改和管理這樣的項目。您將需要在專用設(shè)備上運行此腳本。 Raspberry Pi是運行像本教程這樣的應(yīng)用程序的完美選擇。

要克隆存儲庫,我們需要做的就是進入我們的Pi終端,或者通過SSH連接到你的pi的計算機終端并輸入以下命令:

$ git clone https://github.com/InitialState/darksky.git

按Enter鍵,你會看到這個信息:

Cloning into ‘darksky’。..

remote: Counting objects: 2, done.

remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 2

Unpacking objects: 100% (2/2), done.

Checking connectivity.。. done.

一旦你看到這個,那么恭喜你,你已經(jīng)成功地克隆了GitHub Repo并擁有構(gòu)建這個項目的所有必要文件。在我們繼續(xù)下一步之前,讓我們花一些時間來探索這個目錄并學習一些基本的命令行命令。

在終端中輸入以下命令:

$ ls

此命令列出您當前所在目錄中可用的所有內(nèi)容。此列表顯示我們的GitHub Repo已成功克隆到我們的目錄中,名稱為“darksky”。讓我們看一下該目錄中的內(nèi)容。要移動到目錄,您只需鍵入“cd”,然后鍵入要轉(zhuǎn)到的目錄的名稱。

在這種情況下,我們將輸入:

$ cd darksky

點擊Enter后,您會看到我們現(xiàn)在位于darksky目錄中。讓我們再次輸入“l(fā)s”,看看我們在pi上安裝了哪些文件。

README.md darksky.py 。..

在這里,我們看到我們有自述文件和python文件。讓我們使用“nano”命令查看darksky.py。 nano命令允許我們打開納米文本編輯器,我們擁有該項目每個部分的所有python代碼。繼續(xù)輸入:

$ nano darksky.py

在這里,您可以看到我們?yōu)榇隧椖繙蕚涞乃写a。我們暫時不會對此文檔進行任何更改,但可以隨意滾動查看本教程后面的內(nèi)容。

步驟2:使用Dark Sky API

要使用Dark Sky API,您首先需要自己的API密鑰。不用擔心,獲取API密鑰很快且免費。您只需訪問該網(wǎng)站并點擊“免費試用”即可創(chuàng)建一個帳戶。

每天免費獲得1,000次API調(diào)用。每個免費每日限額的API請求費用為0.0001美元。

此限制會在UTC午夜自動重置。

預測請求會返回下周的當前天氣預報。

Time Machine請求返回過去或?qū)砟硞€日期的觀察或預測天氣狀況。

您的秘密Dark Sky API密鑰將如下所示: 0123456789abcdef9876543210fedcba。

您可以通過以下格式在瀏覽器中輸入URL來對Dark Sky進行API調(diào)用:

https://api.darksky.net/forecast/[key]/[latitude],[longitude]

用Dark Sky API替換“key”隨心所欲的關(guān)鍵和經(jīng)度/緯度。您可以訪問Google地圖并搜索您的位置來查找經(jīng)度和緯度。這些值將在URL中。使用您的訪問鍵復制并粘貼上面的黑暗天空URL,并將值添加到地址欄中。

執(zhí)行此操作后,您將看到如下內(nèi)容:

{“l(fā)atitude”:37.8267,“l(fā)ongitude”:-122.4233,“timezone”:“America/Los_Angeles”,“currently”:{“time”:1550615286,“summary”:“Clear”,“icon”:“clear-

day”,“nearestStormDistance”:57,“nearestStormBearing”:15,“precipIntensity”:0,“precipProbability”:0,“temperature”:53.9,“apparentTemperature”:53.9,

“dewPoint”:29.59,“humidity”:0.39,“pressure”:1022.45,“windSpeed”:3.87,“windGust”:9.25,“windBearing”:259,“cloudCover”:0.01,“uvIndex”:3,

“visibility”:7.8,“ozone”:309.71},“minutely”:{“summary”:“Clear for the hour.”,“icon”:“clear-day”,“data”:[

{“time”:1550615280,“precipIntensity”:0,“precipProbability”:0},。..

它可能有點壓倒性且難以閱讀,因此我建議使用JSON Formatter來幫助使數(shù)據(jù)更具可讀性。當你這樣做時,它看起來像這樣:

object {9}

latitude: 37.8267

longitude: -122.4233

timezone: America/Los_Angeles

currently {19}

time: 1550615286

summary: Clear

icon: clear-day

nearestStormDistance: 57

nearestStormBearing: 15

precipIntensity: 0

precipProbability: 0

temperature: 53.9

apparentTemperature: 53.9

dewPoint: 29.59

humidity: 0.39

pressure: 1022.45

windSpeed: 3.87

windGust: 9.25

windBearing: 259

cloudCover: 0.01

uvIndex: 3

visibility: 7.8

ozone: 309.71

你剛剛進行了API調(diào)用!看看這有多容易?你甚至不必寫一行代碼。現(xiàn)在您已經(jīng)掌握了API,我們可以轉(zhuǎn)到數(shù)據(jù)流部分。

第3步:初始狀態(tài)

我們我們希望將所有天氣數(shù)據(jù)流式傳輸?shù)皆品?wù),并將該服務(wù)轉(zhuǎn)換為我們可以從筆記本電腦或移動設(shè)備訪問的漂亮儀表板。我們的數(shù)據(jù)需要目的地。我們將使用初始狀態(tài)作為該目的地。

步驟1:注冊初始狀態(tài)帳戶

轉(zhuǎn)到https://iot.app.initialstate。 com并創(chuàng)建一個新帳戶。您可以獲得14天的免費試用,任何擁有edu電子郵件地址的人都可以注冊免費的學生計劃。

步驟2:安裝ISStreamer

將初始狀態(tài)Python模塊安裝到Raspberry Pi上。在命令提示符下,運行以下命令:

$ cd /home/pi/

$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

步驟3:進行一些Automagic

在步驟2之后,您將看到類似于以下輸出的內(nèi)容到屏幕:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Password:

Beginning ISStreamer Python Easy Installation!

This may take a couple minutes to install, grab some coffee :)

But don‘t forget to come back, I’ll have questions later!

Found easy_install: setuptools 1.1.6

Found pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7)

pip major version: 1

pip minor version: 5

ISStreamer found, updating.。.

Requirement already up-to-date: ISStreamer in /Library/Python/2.7/site-packages

Cleaning up.。.

Do you want automagically get an example script? [y/N]

Where do you want to save the example? [default: 。/is_example.py]

Please select which Initial State app you‘re using:

1. app.initialstate.com

2. [NEW!] iot.app.initialstate.com

Enter choice 1 or 2:

Enter iot.app.initialstate.com user name:

Enter iot.app.initialstate.com password:

當系統(tǒng)詢問您是否要自動獲取示例腳本時,將“y”設(shè)置為yes并按Enter鍵將腳本保存在默認位置。有關(guān)您使用的應(yīng)用程序的問題,請選擇2(除非您在2018年11月之前注冊)并輸入您的用戶名和密碼。

步驟4:運行示例腳本

運行測試腳本以確保我們可以為您的初始狀態(tài)帳戶創(chuàng)建數(shù)據(jù)流。編寫以下命令:

$ python is_example.py

步驟6:示例數(shù)據(jù)

在Web瀏覽器中返回初始狀態(tài)帳戶。一個名為“Python Stream Example”的新數(shù)據(jù)桶應(yīng)該出現(xiàn)在日志架的左側(cè)(您可能需要刷新頁面)。點擊此桶查看您的數(shù)據(jù)。

步驟4:Dark Sky天氣儀表板

現(xiàn)在為有趣的部分。我們已準備好開始使用Dark Sky API創(chuàng)建天氣儀表板并捕獲我們選擇的位置的天氣歷史記錄。為此,我們將使用Python腳本:https://github.com/initialstate/darksky/blob/master/darksky.py。此腳本只需使用您的API密鑰調(diào)用Dark Sky API,并在指定的時間間隔內(nèi)檢索天氣信息。它還將該數(shù)據(jù)流式傳輸?shù)侥某跏紶顟B(tài)帳戶,這將允許您創(chuàng)建Dark Sky天氣儀表板。

您可以將此腳本復制到Pi,或通過我們克隆的GitHub存儲庫訪問它早。您可以通過鍵入以下命令更改為darksky目錄來執(zhí)行此操作:

$ cd darksky

從這里,您將能夠訪問我們將運行的python文件以創(chuàng)建我們的天氣儀表板。在運行之前,您需要設(shè)置所需的參數(shù)并插入密鑰。通過鍵入以下內(nèi)容將Nano納入darksky.py文件中:

$ nano darksky.py

然后編輯腳本頂部附近的部分:

# --------- User Settings ---------

CITY = “Nashville”

GPS_COORDS = “36.1628414,-86.780199”

DARKSKY_API_KEY = “PLACE YOUR DARK SKY API KEY HERE”

BUCKET_NAME = “:partly_sunny: ” + CITY + “ Weather”

BUCKET_KEY = “ds1”

ACCESS_KEY = “PLACE YOUR INITIAL STATE ACCESS KEY HERE”

MINUTES_BETWEEN_READS = 15

# ---------------------------------

您需要設(shè)置所需的GPS坐標和城市名稱。您還必須插入您的Dark Sky API密鑰和您的初始狀態(tài)帳戶訪問密鑰,否則您的數(shù)據(jù)將無處可去。 MINUTES_BETWEEN_READS參數(shù)將設(shè)置腳本輪詢Dark Sky API獲取天氣信息的頻率。 15分鐘長期提供良好的間隔。為了進行短期測試,您可以將其設(shè)置為0.5分鐘。進行更改,然后輸入control + X退出并保存。

設(shè)置好參數(shù)后,就可以運行腳本了:

$ python darksky.py

如果你是ssh’ing到你的Pi并希望讓這個腳本長時間不間斷地運行,你可以使用nohup命令(沒有掛斷),如下所示:

$ nohup python darksky.py &

這個腳本正在運行要做的不僅僅是閱讀天氣數(shù)據(jù)并將其發(fā)送到初始狀態(tài)。該腳本將利用Initial State工具中內(nèi)置的表情符號支持,使儀表板更加酷炫。您可以看到用于從當前 - 》圖標獲取天氣狀態(tài)的邏輯,并將其轉(zhuǎn)換為weather_icon功能中的表情符號標記。類似于moon_icon函數(shù)中的月相和wind_dir_icon函數(shù)中的風向。

步驟5:結(jié)論

轉(zhuǎn)到您的初始狀態(tài)帳戶并查看您的數(shù)據(jù)。我將所有百分比值更改為電弧規(guī),將液體壓力降至液位計,將溫度更改為溫度計。您可以更改為任何類型的瓷磚類型,并選擇您的顏色和儀表。折線圖。您可以將儀表板設(shè)置為暗或亮,并使用嵌入式iFrame將最終產(chǎn)品嵌入到網(wǎng)站中。

如果要將公共共享中的儀表板布局用作儀表板,則可以將布局導入按照此處的說明操作您的數(shù)據(jù)桶。

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

    關(guān)注

    2

    文章

    2383

    瀏覽量

    66818
  • 儀表板
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    9440
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    恩智浦i.MX RT1170 MCU如何變革兩輪車騎行體驗

    以MCU為核心的平臺為入門級數(shù)字互聯(lián)儀表板 (DCC) 增添智能手機鏡像投屏功能。目前,可集成于儀表板的騎行者必備功能日益豐富,RT產(chǎn)品路線圖還將納入更多先進特性。
    的頭像 發(fā)表于 12-19 16:25 ?2282次閱讀
    恩智浦i.MX RT1170 MCU如何變革兩輪車騎行體驗

    Nuvoton ChipCorder在汽車儀表板中的應(yīng)用

    的調(diào)查結(jié)果強調(diào)了對汽車音頻的需求不斷增長,特別是在標準儀表板配置中。這需要能夠快速傳遞各種緊急警報并提供直接、快速的語音提示的直觀功能,確保及時向駕駛員傳遞信息。 預編程播放錄制的音頻文件 各種車輛信息
    發(fā)表于 09-05 06:07

    如何使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 構(gòu)建 Web 服務(wù)器?

    使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 構(gòu)建 Web 服務(wù)器
    發(fā)表于 09-04 08:10

    如何使用 Mbed OS 在 NuMaker IoT 構(gòu)建 Web 服務(wù)器?

    使用 Mbed OS 在 NuMaker IoT 構(gòu)建 Web 服務(wù)器
    發(fā)表于 09-04 06:33

    【RA4E2開發(fā)評測】——7.使用AT指令獲取城市天氣預報

    使用ESP8266連接RA4E2開發(fā)后,可以通過ESP8266連接WIFI網(wǎng)絡(luò),然后通過AT指令訪問api.seniverse.com心知天氣網(wǎng)站獲取城市天氣預報。 板子連接如下圖所示: 硬件
    發(fā)表于 09-03 13:10

    ??FourCastNet 3實現(xiàn)快速精準的大型集合天氣預報

    FourCastNet 3(FCN3)是 NVIDIA Earth-2 中最新的 AI 全球天氣預報系統(tǒng)。FCN3 首次完美地結(jié)合了概率預測能力、計算效率、頻譜保真度、集合校準和次季節(jié)
    的頭像 發(fā)表于 08-30 15:49 ?2273次閱讀

    如何使用 SEGGER emWin AppWizard 工具為儀表板界面設(shè)計圖形用戶界面?

    如何使用 SEGGER emWin AppWizard 工具為儀表板界面設(shè)計圖形用戶界面 (GUI)。它集成了控制 MA35H0 系列評估上的 LED 和按鈕的功能。
    發(fā)表于 08-19 07:23

    利用NVIDIA Earth-2平臺預測天氣

    隨著極端天氣事件愈發(fā)頻繁,破壞性也越來越強,能夠?qū)ζ溥M行預測變得至關(guān)重要。對于那些對天氣波動非常敏感的行業(yè)來說,次季節(jié)氣候預測(即預測兩周或更長時間之后的天氣),為主動決策和風險管理奠定了基礎(chǔ)。
    的頭像 發(fā)表于 08-12 15:08 ?1273次閱讀

    【匯思博SEEK100開發(fā)試用體驗】05 天氣app開發(fā)--支持24小時+7天天氣預報

    1 前言 這次接著開發(fā)天氣APP,上次已經(jīng)實現(xiàn)了從和風天氣獲取實時、24h以及7天的天氣數(shù)據(jù)了,但只是將實時數(shù)據(jù)顯示出來。這次要完成24h和7天的數(shù)據(jù)顯示,用到List和Scroll容器。 2
    發(fā)表于 07-08 20:23

    【匯思博SEEK100開發(fā)試用體驗】04 網(wǎng)絡(luò)連接及獲取和風天氣數(shù)據(jù)

    1 前言 接著開發(fā)天氣APP。這次要實現(xiàn)通過http請求獲取和風天氣的數(shù)據(jù),然后將其解析到我們制定好的模型中,以便調(diào)用賦值。 2 http數(shù)據(jù)請求API 2.1 介紹 應(yīng)用通過HTTP發(fā)起一個數(shù)
    發(fā)表于 07-08 19:26

    明遠智睿SSD2351開發(fā):儀器儀表與智慧農(nóng)業(yè)的創(chuàng)新利器

    在儀器儀表和智慧農(nóng)業(yè)領(lǐng)域,對設(shè)備的精度、穩(wěn)定性和智能化程度有著較高的要求。明遠智睿的SSD2351開發(fā)以其獨特的優(yōu)勢,成為這兩個領(lǐng)域的創(chuàng)新利器。 在儀器儀表方面,SSD2351開發(fā)
    發(fā)表于 05-09 19:09

    【RA-Eco-RA4M2開發(fā)評測】RA4M2 + ESP8266獲取城市天氣預報(二)使用串口助手獲取天氣+破解任意類型AT指令

    https://bbs.elecfans.com/jishu_2487602_1_1.html 前一篇帖子中我已經(jīng)實現(xiàn)了完整的RA4M2配合ESP8266獲取城市天氣預報信息數(shù)據(jù),可以完美結(jié)帖了
    發(fā)表于 05-04 10:07

    智慧路燈如何應(yīng)對惡劣天氣

    ,面對暴雨、大風、暴雪等惡劣天氣,叁仟智慧路燈的穩(wěn)定運行面臨著嚴峻考驗。一旦叁仟智慧路燈在惡劣天氣下出現(xiàn)故障,不僅會影響城市的照明系統(tǒng),還可能導致交通混亂、信息傳遞受阻,給城市的正常運轉(zhuǎn)和居民的生活帶來諸多不便。
    的頭像 發(fā)表于 04-01 18:27 ?634次閱讀

    為自定義構(gòu)建具有scarthgap 6.6.52支持的yocto映像時遇到報錯如何解決?

    在嘗試為我們的定制構(gòu)建 imx8mm 的 yocto 映像時,我們遇到了以下錯誤,如何解決?
    發(fā)表于 04-01 06:08

    智慧路燈如何應(yīng)對極端天氣?

    引言 在氣候變化的大背景下,極端天氣愈發(fā)頻繁,如狂風暴雨、高溫酷暑、暴雪嚴寒等。這些極端天氣對城市基礎(chǔ)設(shè)施構(gòu)成嚴峻挑戰(zhàn),叁仟智慧路燈作為智慧城市建設(shè)的關(guān)鍵一環(huán)也不例外。叁仟智慧路燈不僅要在正常環(huán)境下
    的頭像 發(fā)表于 03-19 17:20 ?728次閱讀