Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:42
Dark Sky on erikoistunut sääennusteisiin ja visualisointiin. Dark Skyn hienoin osa on niiden sääsovellusliittymä, jonka avulla voimme hakea säätiedot lähes mistä tahansa maailmasta. Sää ei ole vain sateinen tai aurinkoinen, vaan lämpötila, kastepiste, tuulenpuuska, kosteus, sateet, paine, UV -indeksi ja paljon muuta - kaikki helposti saatavilla missä ja milloin tahansa.
Opetellaan käyttämään Dark Skyn erittäin yksinkertaista sovellusliittymää. Jos olet uusi käyttämään sovellusliittymiä, lupaan sinulle, että tämä tulee olemaan todella helppoa! Ja jos olet käyttänyt sovellusliittymiä ennen, toivon, että voimme opettaa sinulle jotain uutta käyttämämme koodin avulla.
Mitä tarvitset tähän projektiin:
- Dark Sky -sovellusliittymän tili
- Valtion alkuperäinen tili
- Raspberry Pi tai kannettava
Vaihe 1: Aloittaminen
Olemme jo tehneet paljon työtä, jotta voit koota koodin ja järjestää tiedot. Tarvitsemme vain muutamia muutoksia matkan varrella. Jos haluat hieman haastetta, tee joitain muutoksia koodiin ja mitä säätietoja lähetetään, mahdollisuuksia on rajattomasti!
Jotta voit hakea kaikki sinulle valmistamamme asiat, sinun on kloonattava arkisto GitHubista. GitHub on palvelu, jonka avulla voimme tallentaa, tarkistaa ja hallita tällaisia projekteja. Haluat suorittaa tämän komentosarjan erillisellä laitteella. Raspberry Pi on täydellinen vaihtoehto tämän opetusohjelman kaltaisten sovellusten suorittamiseen.
Jos haluat kloonata arkiston, meidän tarvitsee vain mennä Pi: n päätelaitteeseen tai tietokoneesi päätelaitteeseen, joka on SSH: n piiriin, ja kirjoittaa tämä komento:
$ git klooni
Paina Enter ja näet nämä tiedot:
Kloonaus "tummaksi"…
kauko: Objektien laskeminen: 2, valmis. kaukosäädin: Yhteensä 2 (delta 0), uudelleenkäytetty 0 (delta 0), pakkaus uudelleenkäytetty 2 Pakkauksen purkaminen pakkauksesta: 100% (2/2), valmis. Yhteyden tarkistaminen… valmis.
Kun näet tämän, onnittelut, olet kloonannut onnistuneesti GitHub Repon ja sinulla on kaikki tarvittavat tiedostot tämän projektin rakentamiseksi. Ennen kuin siirrymme seuraavaan vaiheeseen, käytämme jonkin aikaa tutkia tätä hakemistoa ja oppia muutamia komentorivikomentoja.
Kirjoita alla oleva komento päätelaitteeseesi:
$ ls
Tämä komento luettelee kaiken, mitä käytettävissä olevassa hakemistossa on. Tämä luettelo osoittaa, että GitHub Repo on kloonattu onnistuneesti hakemistoomme nimellä "darksky". Katsotaanpa mitä hakemistossa on. Jos haluat siirtyä hakemistoon, sinun tarvitsee vain kirjoittaa "cd" ja kirjoittaa sen hakemiston nimi, johon haluat siirtyä.
Tässä tapauksessa kirjoitamme:
$ cd tumma
Kun painamme Enter -näppäintä, näet, että olemme nyt tummanhakemistossa. Kirjoita "ls" uudelleen nähdäksesi, mitä tiedostoja olemme asentaneet pi -laitteeseemme.
README.md darksky.py…
Täällä näemme, että meillä on readme -asiakirja ja python -tiedostot. Katsotaanpa darksky.py käyttämällä "nano" -komentoa. Nano -komennon avulla voimme avata nano -tekstieditorin, jossa meillä on kaikki python -koodimme kullekin tämän projektin segmentille. Mene eteenpäin ja kirjoita:
$ nano darksky.py
Täältä näet kaikki koodit, jotka olemme valmistaneet sinulle tätä projektia varten. Emme aio tehdä vielä muutoksia tähän asiakirjaan, mutta voit selata ympärillesi ja katsoa, mitä aiomme tehdä myöhemmin tässä opetusohjelmassa.
Vaihe 2: Dark Sky -sovellusliittymän käyttö
Jotta voit käyttää Dark Sky -sovellusliittymää, tarvitset ensin oman sovellusliittymäavaimesi. Älä huoli, sovellusliittymäavaimen hankkiminen on nopeaa ja ilmaista. Sinun tarvitsee vain siirtyä verkkosivustolle ja luoda "Luo tili" napsauttamalla "Kokeile ilmaiseksi".
- Saat 1 000 API -puhelua ilmaiseksi joka päivä. Jokainen sovellusrajapinta, joka ylittää ilmaisen päivittäisen rajan, maksaa 0,0001 dollaria.
- Tämä raja nollautuu automaattisesti joka päivä keskiyöllä UTC.
- Ennustepyyntö palauttaa seuraavan viikon sääennusteen.
- Aikakonepyyntö palauttaa havaitut tai ennustetut sääolot menneelle tai tulevalle päivämäärälle.
Salainen Dark Sky -sovellusliittymäavaimesi näyttää tältä: 0123456789abcdef9876543210fedcba.
Voit soittaa sovellusliittymäpuhelun Dark Skylle kirjoittamalla URL -osoitteen selaimeesi seuraavassa muodossa:
api.darksky.net/forecast/[key]/[latitude], [longitude]
Korvaa "avain" Dark Sky -sovellusliittymäavaimellasi ja pituusaste/leveysaste millä tahansa. Löydät pituus- ja leveysasteesi siirtymällä Google Mapsiin ja etsimällä sijaintisi. Nämä arvot näkyvät URL -osoitteessa. Kopioi ja liitä yllä oleva tumman taivaan URL -osoite, jossa on käyttöavain ja arvot lisätty osoitepalkkiin.
Kun teet sen, näet jotain tällaista:
päivä "," LähinStormDistance ": 57," LähinStormBearing ": 15," Sateen intensiteetti ": 0," Sateen Todennäköisyys ": 0," Lämpötila ": 53,9," näennäinen Lämpötila ": 53,9," Kastepiste ": 29,59," Kosteus ": 0,39, "paine": 1022,45, "windSpeed": 3,87, "windGust": 9,25, "windBearing": 259, "cloudCover": 0,01, "uvIndex": 3, "näkyvyys": 7,8, "otsoni": 309,71}, "minutely": {"summary": "Clear for the hour.", "icon": "clear-day", "data": [{"time": 1550615280, "rainIntensity": 0, "precipProbability": 0 },…
Se voi olla hieman ylivoimainen ja vaikea lukea, joten suosittelen käyttämään JSON -muotoilua tietojen luettavuuden parantamiseksi. Kun teet tämän, se näyttää tältä:
kohde {9}
leveysaste: 37.8267 pituusaste: -122.4233 aikavyöhyke: Amerikka/Los_Angeles tällä hetkellä {19} aika: 1550615286 yhteenveto: Tyhjennä kuvake: lähin päivä lähinStormDistance: 57 lähinnäMyrskylaakeri: 15 sadetta Intensiteetti: 0 sademäärä Todennäköisyys: 0 lämpötila: 53,9 näennäinen Lämpötila: 53,9 kastepiste: 29,59 kosteus 0.39 paine: 1022,45 tuuli Nopeus: 3,87 tuuliPuuska: 9,25 tuuli Laakeri: 259 pilviKansi: 0,01 uv Indeksi: 3 näkyvyys: 7,8 otsoni: 309,71
Soitit juuri sovellusliittymän puhelun! Näetkö kuinka helppoa se oli? Sinun ei tarvitse edes kirjoittaa yhtä koodiriviä. Nyt kun olet oppinut sovellusliittymät, voimme siirtyä tiedon suoratoisto -osaan.
Vaihe 3: Alkutila
Haluamme suoratoistaa kaikki säätiedot pilvipalveluun ja saada tämän palvelun muuttamaan tietomme mukavaksi kojelautaksi, jota voimme käyttää kannettavalla tietokoneella tai mobiililaitteella. Datamme tarvitsevat määränpään. Käytämme alkuperäistä valtiota kohteena.
Vaihe 1: Rekisteröi alkuperäisen valtion tili
Siirry osoitteeseen https://iot.app.initialstate.com ja luo uusi tili. Saat 14 päivän ilmaisen kokeilujakson, ja kaikki, joilla on edu -sähköpostiosoite, voivat rekisteröityä ilmaiseen opiskelijasuunnitelmaan.
Vaihe 2: Asenna ISStreamer
Asenna Initial State Python -moduuli Raspberry Pi -laitteeseesi. Suorita komentokehotteessa seuraava komento:
$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Vaihe 3: Tee automaattinen Automaattinen Vaiheen 2 jälkeen näet jotain seuraavan kaltaista lähtöä näytölle:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashSalasana: ISStreamer Python Helppo asennus! Asentaminen voi kestää muutaman minuutin, nappaa kahvia:) Mutta älä unohda palata, minulla on kysymyksiä myöhemmin! Löytyi easy_install: setuptools 1.1.6 Löytyi pip: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip pääversio: 1 pip vähäinen versio: 5 ISStreamer löytyi, päivitetään… Vaatimus on jo ajan tasalla: ISStreamer /Library/Python/2.7/site-packages Siivotaan… Haluatko automaattisesti saada esimerkkikomentosarjan? [y/N] Minne haluat tallentaa esimerkin? [oletus:./is_example.py] Valitse alkuperäinen tila, jota käytät: 1. app.initialstate.com 2. [UUSI!] iot.app.initialstate.com Anna vaihtoehto 1 tai 2: Kirjoita iot.app.initialstate.com -käyttäjänimi: Anna iot.app.initialstate.com -salasana:
Kun sinulta kysytään, haluatko saada automaattisesti esimerkkikomentosarjan, kirjoita "y" Kyllä -asentoon ja tallenna skriptisi oletussijaintiin painamalla Enter -näppäintä. Jos haluat tietää, mitä sovellusta käytät, valitse 2 (ellet ole rekisteröitynyt ennen marraskuuta 2018) ja anna käyttäjätunnuksesi ja salasanasi.
Vaihe 4: Suorita esimerkkikomentosarja
Suorita testikomentosarja varmistaaksesi, että voimme luoda tietovirran alkuperäisen valtion tilillesi. Kirjoita seuraava komento:
$ python on_esimerkki.py
Vaihe 6: Esimerkkitiedot
Palaa alkuperäisen valtion tilillesi verkkoselaimellasi. Python Stream -esimerkiksi kutsutun uuden tietoryhmän olisi pitänyt näkyä lokihyllyn vasemmalla puolella (sivu on ehkä päivitettävä). Napsauta tätä ryhmää nähdäksesi tietosi.
Vaihe 4: Dark Sky Weather Dashboard
Nyt hauska osa. Olemme valmiita käyttämään Dark Sky -sovellusliittymää luomaan säähallintapaneelin ja tallentamaan valitsemasi sijainnin säähistorian. Tätä varten käytämme Python -komentosarjaa: https://github.com/initialstate/darksky/blob/master/darksky.py. Tämä skripti yksinkertaisesti kutsuu Dark Sky -sovellusliittymän sovellusliittymäavaimesi avulla ja hakee säätiedot määrätyllä aikavälillä. Se myös suoratoistaa nämä tiedot alkuperäisen valtion tilillesi, jolloin voit luoda Dark Sky -säähallintapaneelin.
Voit joko kopioida tämän komentosarjan Pi -laitteellesi tai käyttää sitä aiemmin kloonatun GitHub -arkiston kautta. Voit tehdä tämän siirtymällä darksky -hakemistoosi kirjoittamalla:
$ cd tumma
Täältä voit käyttää python -tiedostoa, jonka suoritamme luomaan säähallintapaneelimme. Ennen kuin suoritat sen, sinun on asetettava haluamasi parametrit ja asetettava avaimet. Nano darksky.py -tiedostoon kirjoittamalla:
$ nano darksky.py
Muokkaa sitten komentosarjan yläosan lähellä olevaa osaa:
# --------- Käyttäjäasetukset ---------
CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "Sijoita DARK SKY API KEY TÄSTÄ" BUCKET_NAME = ": semi_sunny:" + CITY + "Weather" BUCKET_KEY = "ds1 ACCESS ACCE AVAIN TÄSTÄ "MINUTES_BETWEEN_READS = 15 # ---------------------------------
Sinun on asetettava halutut GPS -koordinaatit ja kaupungin nimi. Sinun on myös lisättävä Dark Sky -sovellusliittymäavaimesi ja alkuperäisen tilisi käyttöavain, tai tietosi eivät mene mihinkään. MINUTES_BETWEEN_READS -parametri määrittää, kuinka usein skriptisi kyselee Dark Sky -sovellusliittymästä säätietoja. 15 minuuttia tarjoaa pitkän aikavälin. Lyhytaikaisen testauksen vuoksi voit asettaa tämän 0,5 minuutiksi. Tee muutokset ja poistu ja tallenna painamalla näppäintä control+X.
Kun olet määrittänyt parametrit, olet valmis suorittamaan komentosarjasi:
$ python darksky.py
Jos olet ssh'ing Pi-laitteeseesi ja haluat jättää tämän komentosarjan toimimaan keskeytyksettä pitkään, voit käyttää nohup-komentoa (ei katkaisua) seuraavasti:
$ nohup python darksky.py &
Tämä käsikirjoitus tekee hieman enemmän kuin vain lukee säätiedot ja lähettää ne alkuperäiseen tilaan. Tämä käsikirjoitus aikoo hyödyntää Initial State -työkaluihin rakennettua emoji -tukea, jotta kojelauta muuttuisi hieman viileämmäksi. Näet logiikan, jolla säätiedot otetaan nykyisestä -> -kuvakkeesta ja muunnetaan emoji -tunnukseksi weather_icon -funktiossa. Jotain vastaavaa tapahtuu kuun vaiheelle moon_icon -toiminnossa ja tuulen suunnalle wind_dir_icon -funktiossa.
Vaihe 5: Johtopäätös
Siirry alkuperäisen valtion tilillesi ja katso tietosi. Muutin kaikki prosenttiarvot kaarimittariksi, saostuma nesteanturiksi ja lämpötilan lämpömittariksi. Voit vaihtaa mihin tahansa laatoitustyyppiin ja valita värit mittareille ja viivakaavioille. Voit tehdä kojelaudasta tumman tai vaalean ja upottaa lopullisen tuotteen verkkosivustoon upotus iFrame -kehyksen avulla.
Jos haluat käyttää koontinäytön asettelua julkisesta osuudesta koontinäytönä, voit tuoda asettelun tietokantaasi noudattamalla tässä olevia ohjeita. Voit lisätä taustakuvan koontinäyttöön, jolloin se antaa enemmän kontekstia.
Hallintapaneelimme julkisen jaon URL -osoite on
Nyt hallitset Dark Sky -sovellusliittymän, mahdollisuudet ovat rajattomat! Netissä on rajoittamaton määrä ilmaisia sovellusliittymiä tutkittavaksi, joten aloita.
Suositeltava:
Rakenna Internet-ohjattu videon suoratoistorobotti Arduinon ja Raspberry Pi: n avulla: 15 vaihetta (kuvilla)
Rakenna Internet-ohjattu videostriimausrobotti Arduinon ja Raspberry Pi: n kanssa: Olen @RedPhantom (alias LiquidCrystalDisplay / Itay), 14-vuotias israelilainen opiskelija, joka opiskelee Max Shein Junior High School for Advanced Science and Mathematics -koulussa. Teen tämän projektin kaikkien opittavaksi ja jaettaviksi! Sinulla saattaa olla
Rakenna interaktiivinen Rainbow -silta Minecraft Raspberry Pi Editionin avulla: 11 vaihetta
Rakenna Rainbow Interactive Bridge -sovellus Minecraftin Raspberry Pi Editionin avulla: Eilen näin 8-vuotiaan veljenpoikani leikkivän Minecraftia aiemmin antamani Raspberry Pi -pelin kanssa, ja sitten sain idean, joka käyttää koodia räätälöidyn ja jännittävän Minecraftin luomiseen- pi LED -lohkojen projekti. Minecraft Pi on loistava tapa aloittaa
Rakenna Stephen Hawkingin tietokoneen käyttöliittymä vain 1000 ruplaan (15 dollaria) Arduinon avulla: 5 vaihetta
Rakenna Stephen Hawkingin tietokonerajapinta vain 1000 ruplaan (15 dollaria) Arduinon avulla: Kaikki alkoi kysymyksellä "Kuinka Stephen Hawking puhuu?" järjestelmän versio vaarantamatta liikaa ominaisuuksia. Tämä laite
Rakenna moottoroitu dinosaurus muovijätteen avulla, 55 minuutissa tai vähemmän !: 11 vaihetta (kuvilla)
Rakenna moottoroitu dinosaurus käyttämällä muoviroskaa 55 minuutissa tai vähemmän !: Hei. Nimeni on Mario ja rakastan rakentaa asioita roskakorista. Viikko sitten minut kutsuttiin Azerbaidžanin kansallisen tv -kanavan aamu -esitykseen puhumaan " Waste to Art " näyttely. Ainoa ehto? Minulla oli t
Dark Sky API PyPortal & Weather Dashboard: 6 vaihetta
Dark Sky -sovellusliittymän PyPortal & Weather Dashboard: Tämä projekti on otos aiemmin tekemämme, Dark Sky API Weather Dashboardin kanssa. Tällä kertaa Raspberry Pi: n sijaan käytämme Adafruit PyPortalia säätietojen näyttämiseen ja tietojen lähettämiseen alkuperäiseen tilaan. Kaksi kojelautaa yhden työhön