Obsah:

Vytvořte řídicí panel počasí pomocí API Dark Sky: 5 kroků (s obrázky)
Vytvořte řídicí panel počasí pomocí API Dark Sky: 5 kroků (s obrázky)

Video: Vytvořte řídicí panel počasí pomocí API Dark Sky: 5 kroků (s obrázky)

Video: Vytvořte řídicí panel počasí pomocí API Dark Sky: 5 kroků (s obrázky)
Video: 🚀 RUTUBE a BOD. Vývoj RUTUBA za 5 hodin *BEZ VODY* [Další / Reagovat / Nest / PostgreSQL / Redux] 2024, Listopad
Anonim
Image
Image

Dark Sky se specializuje na předpověď počasí a vizualizaci. Nejúžasnějším aspektem Dark Sky je jejich počasí API, které můžeme použít k načtení údajů o počasí téměř odkudkoli na světě. Není to jen deštivé nebo slunečné počasí, ale teplota, rosný bod, náraz větru, vlhkost, srážky, tlak, UV index a další, to vše snadno dostupné kdekoli chcete, kdykoli chcete.

Pojďme se naučit používat super jednoduché API Dark Sky. Pokud s používáním API začínáte, slibuji vám, že to bude opravdu snadné! A pokud jste dříve používali API, doufám, že vás můžeme naučit něco nového s kódem, který jsme použili.

Co budete pro tento projekt potřebovat:

  • Účet Dark Sky API
  • Počáteční stav účtu
  • Raspberry Pi nebo notebook

Krok 1: Začínáme

Už jsme pro vás dali spoustu práce s nohama, abyste dali kód dohromady a uspořádali informace. Budeme jen potřebovat, abyste na cestě provedli několik úprav. Pokud chcete trochu výzvu provést nějaké změny v našem kódu a jaká data o počasí jsou odesílána, existují neomezené možnosti!

Abyste získali všechny věci, které jsme pro vás připravili, budete muset klonovat úložiště z GitHubu. GitHub je služba, která nám umožňuje ukládat, revidovat a spravovat projekty jako je tento. Tento skript budete chtít spustit na vyhrazeném zařízení. Raspberry Pi je perfektní volbou pro spouštění aplikací, jako je tento návod.

Chcete -li klonovat úložiště, stačí přejít do terminálu našeho Pi nebo terminálu vašeho počítače, který je SSH’d, do vašeho pí a zadat tento příkaz:

$ git klon

Stiskněte Enter a uvidíte tyto informace:

Klonování do „darksky“…

dálkové ovládání: Počítání objektů: 2, hotovo. dálkové ovládání: Celkem 2 (delta 0), opakovaně 0 (delta 0), opakovaně použito 2 Rozbalení objektů: 100% (2/2), hotovo. Kontrola připojení … hotovo.

Jakmile to uvidíte, pak gratulujeme, úspěšně jste naklonovali GitHub Repo a máte všechny soubory potřebné k vytvoření tohoto projektu. Než přejdeme k dalšímu kroku, věnujme trochu času prozkoumání tohoto adresáře a naučíme se několik základních příkazů příkazového řádku.

Do terminálu zadejte následující příkaz:

$ ls

Tento příkaz uvádí vše, co je k dispozici v adresáři, ve kterém se právě nacházíte. Tento seznam ukazuje, že naše GitHub Repo bylo úspěšně naklonováno do našeho adresáře pod názvem „darksky“. Podívejme se, co je v tomto adresáři. Chcete -li se přesunout do adresáře, stačí zadat „cd“a poté zadat název adresáře, do kterého chcete přejít.

V tomto případě napíšeme:

$ cd darksky

Jakmile stiskneme klávesu Enter, uvidíte, že jsme nyní v adresáři darksky. Znovu zadejte „ls“, abychom zjistili, jaké soubory jsme nainstalovali na naše pi.

README.md darksky.py…

Zde vidíme, že máme dokument readme a soubory pythonu. Podívejme se na darksky.py pomocí příkazu „nano“. Příkaz nano nám umožňuje otevřít nano textový editor, kde máme veškerý náš kód pythonu pro každý segment tohoto projektu. Pokračujte a napište:

$ nano darksky.py

Zde můžete vidět veškerý kód, který jsme pro vás pro tento projekt připravili. V tomto dokumentu zatím nebudeme provádět žádné změny, ale můžete se posunout a zjistit, co budeme v tomto tutoriálu dělat později.

Krok 2: Použití API Dark Sky

Počáteční stav
Počáteční stav

Abyste mohli používat API Dark Sky, potřebujete nejprve svůj vlastní klíč API. Nebojte se, získání klíče API je rychlé a zdarma. Vše, co musíte udělat, je přejít na web a vytvořit si účet kliknutím na „Vyzkoušet zdarma“.

  • Každý den získáte 1 000 volání API zdarma. Každý požadavek API přes bezplatný denní limit stojí 0,0001 $.
  • Tento limit se automaticky resetuje každý den o půlnoci UTC.
  • Žádost o předpověď vrací aktuální předpověď počasí na příští týden.
  • Time Machine Request vrací pozorované nebo předpovídané povětrnostní podmínky pro datum v minulosti nebo budoucnosti.

Váš tajný klíč API Dark Sky bude vypadat nějak takto: 0123456789abcdef9876543210fedcba.

Volání API do Dark Sky můžete provést zadáním adresy URL do prohlížeče v následujícím formátu:

api.darksky.net/forecast/[key]/[latitude], [zeměpisná délka]

Nahraďte „klíč“klíčem API Dark Sky a zeměpisnou šířkou/šířkou za cokoli chcete. Svou zeměpisnou délku a šířku najdete v Mapách Google a ve vyhledávání své polohy. Tyto hodnoty budou v adrese URL. Zkopírujte a vložte výše uvedenou adresu URL tmavé oblohy pomocí přístupového klíče a hodnot přidaných do adresního řádku.

Jakmile to uděláte, uvidíte něco takového:

den "," nejbližšíStormDistance ": 57," nearestStormBearing ": 15," precipitntense ": 0," precipProbability ": 0," teplota ": 53,9," zjevná teplota ": 53,9," rosný bod ": 29,59," vlhkost ": 0,39, „tlak“: 1022,45, „windSpeed“: 3,87, „windGust“: 9,25, „windBearing“: 259, „cloudCover“: 0,01, „uvIndex“: 3, „viditelnost“: 7,8, „ozón“: 309,71}, "minutely": {"summary": "Clear for the hour.", "icon": "clear-day", "data": [{"time": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…

Může to být trochu zdrcující a těžko čitelné, takže doporučuji použít formátovač JSON, který pomůže zlepšit čitelnost dat. Když to uděláte, bude to vypadat nějak takto:

objekt {9}

zeměpisná šířka: 37,8267 zeměpisná délka: -122,4233 časové pásmo: Amerika/Los_Angeles aktuálně {19} čas: 1550615286 shrnutí: Vymazat ikonu: jasný den nejbližšíStorm Vzdálenost: 57 nejbližšíStormLožisko: 15 srážekHustota: 0 srážek Pravděpodobnost: 0 teplota: 53,9 zjevná Teplota: 53,9 rosný bod: 29,59 0,39 Tlak: 1022,45 Vítr Rychlost: 3,87 Vítr Náraz: 9,25 Vítr Ložisko: 259 Oblačnost: 0,01 uv Index: 3 Viditelnost: 7,8 Ozon: 309,71

Právě jste uskutečnili volání API! Vidíte, jak snadné to bylo? Nemuseli jste ani napsat jediný řádek kódu. Nyní, když jste zvládli API, můžeme přejít k části streamování dat.

Krok 3: Počáteční stav

Chceme streamovat všechna naše data o počasí do cloudové služby a nechat tuto službu proměnit naše data v pěkný řídicí panel, ke kterému máme přístup z našeho notebooku nebo mobilního zařízení. Naše data potřebují cíl. Jako cíl použijeme počáteční stav.

Krok 1: Zaregistrujte se pro počáteční stav účtu

Přejděte na https://iot.app.initialstate.com a vytvořte si nový účet. Získáte 14denní bezplatnou zkušební verzi a kdokoli s e -mailovou adresou edu se může zaregistrovat k bezplatnému studentskému plánu.

Krok 2: Nainstalujte ISStreamer

Nainstalujte modul Počáteční stav Python na svůj Raspberry Pi. Na příkazovém řádku spusťte následující příkaz:

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

Krok 3: Vyrobte si Automagic Po kroku 2 uvidíte na obrazovce něco podobného následujícímu výstupu:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: Začátek ISStreamer Python Snadná instalace! Instalace může trvat několik minut, dejte si kávu:) Ale nezapomeňte se vrátit, otázky budu mít později! Nalezeno easy_install: setuptools 1.1.6 Nalezeno pip: pip 1.5.6 z /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 nalezen, aktualizace… Požadavek již aktuální: ISStreamer v /Library/Python/2.7/site-packages Čištění… Chcete automaticky získat ukázkový skript? [y/N] Kam chcete příklad uložit? [výchozí:./is_example.py] Vyberte prosím aplikaci, kterou používáte v počátečním stavu: 1. app.initialstate.com 2. [NOVINKA!] iot.app.initialstate.com Zadejte volbu 1 nebo 2: Zadejte iot.app.initialstate.com uživatelské jméno: Zadejte heslo iot.app.initialstate.com:

Na dotaz, zda chcete automaticky získat ukázkový skript, zadejte „y“pro ano a stisknutím klávesy Enter uložte skript do výchozího umístění. Na otázku, kterou aplikaci používáte, vyberte 2 (pokud jste se nepřihlásili do listopadu 2018) a zadejte své uživatelské jméno a heslo.

Krok 4: Spusťte ukázkový skript

Spusťte testovací skript, abyste se ujistili, že můžeme vytvořit datový proud na váš účet Počáteční stav. Napište následující příkaz:

$ python is_example.py

Krok 6: Příklad dat

Vraťte se ve webovém prohlížeči na svůj účet Počáteční stav. Vlevo na poličce s protokolem se měl objevit nový datový segment s názvem „Příklad Python streamu“(možná budete muset stránku aktualizovat). Kliknutím na tento segment zobrazíte svá data.

Krok 4: Počasí na temné obloze

Temná obloha Počasí Dashboard
Temná obloha Počasí Dashboard

Nyní k zábavné části. Jsme připraveni začít používat API Dark Sky k vytvoření panelu počasí a zachycení historie počasí pro místo, které si vybereme. K tomu použijeme skript Pythonu: https://github.com/initialstate/darksky/blob/master/darksky.py. Tento skript jednoduše zavolá API Dark Sky pomocí vašeho klíče API a načte informace o počasí v zadaném časovém intervalu. Rovněž tato data streamuje na váš účet Počáteční stav, což vám umožní vytvořit řídicí panel počasí na temné obloze.

Tento skript můžete buď zkopírovat do svého Pi, nebo k němu získat přístup prostřednictvím úložiště GitHub, které jsme klonovali dříve. To lze provést změnou do adresáře darksky zadáním:

$ cd darksky

Odtud budete mít přístup k souboru python, který spustíme k vytvoření našeho panelu počasí. Než jej spustíte, musíte nastavit požadované parametry a vložit klíče. Nano do souboru darksky.py zadáním:

$ nano darksky.py

Poté upravte sekci v horní části skriptu:

# --------- Uživatelské nastavení ---------

CITY = "Nashville" GPS_COORDS = "36.1628414, -86,780199" DARKSKY_API_KEY = "MÍSTO KEY API DARK SKY ZDE" BUCKET_NAME = ": částečně_sunny:" + CITY + "Počasí" BUCKET_KEY = "ds1" ACCESS_ KLÍČE ZDE "MINUTES_BETWEEN_READS = 15 # ---------------------------------

Musíte nastavit požadované souřadnice GPS a název města. Musíte také vložit klíč API služby Dark Sky a přístupový klíč k počátečnímu stavu, jinak vaše data nikam nepůjdou. Parametr MINUTES_BETWEEN_READS nastaví, jak často bude váš skript dotazovat API Dark Sky na informace o počasí. 15 minut poskytuje pěkný interval dlouhodobě. Kvůli krátkodobému testování to můžete nastavit na 0,5 minuty. Proveďte změny, poté zadejte control+X pro ukončení a uložení.

Jakmile máte nastavené parametry, jste připraveni spustit skript:

$ python darksky.py

Pokud ssh'ujete do svého Pi a chcete nechat tento skript běžet nepřetržitě po dlouhou dobu, můžete použít příkaz nohup (žádné zavěšení) následujícím způsobem:

$ nohup python darksky.py &

Tento skript bude dělat trochu víc, než jen číst data o počasí a odesílat je do počátečního stavu. Tento skript bude využívat podporu emodži zabudovanou do nástrojů Počátečního stavu, aby byl řídicí panel o něco chladnější. Logiku použitou k převzetí stavu počasí můžete zobrazit z aktuálně -> ikony a převést ji na token emoji ve funkci weather_icon. Něco podobného se děje pro fázi měsíce ve funkci moon_icon a směr větru ve funkci wind_dir_icon.

Krok 5: Závěr

Závěr
Závěr
Závěr
Závěr

Přejděte na svůj účet Počáteční stav a podívejte se na svá data. Změnil jsem všechny své procentní hodnoty na obloukové měřiče, srážky na měřič kapaliny a teplotu na teploměr. Můžete se změnit na jakýkoli typ dlaždic a vybrat si barvy pro měřidla a spojnicové grafy. Hlavní panel můžete ztmavit nebo zesvětlit a vložit konečný produkt na web pomocí integrovaného rámce iFrame.

Pokud chcete jako hlavní panel použít rozložení řídicího panelu z veřejné sdílené složky, můžete importovat rozložení do datového segmentu podle pokynů zde. Na svůj řídicí panel můžete přidat obrázek na pozadí, aby měl více kontextu.

Veřejná sdílená adresa URL pro náš řídicí panel je

Nyní, když ovládáte API Dark Sky, jsou možnosti nekonečné! K prozkoumání je neomezené množství bezplatných rozhraní API online, takže můžete začít.

Doporučuje: