Innholdsfortegnelse:
- Trinn 1: Komme i gang
- Trinn 2: Bruke Dark Sky API
- Trinn 3: Opprinnelig tilstand
- Trinn 4: Dark Sky Weather Dashboard
- Trinn 5: Konklusjon
Video: Bygg et værpanel ved hjelp av Dark Sky API: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Dark Sky spesialiserer seg på værmelding og visualisering. Det kuleste aspektet ved Dark Sky er deres vær -API som vi kan bruke til å hente værdataene fra nesten hvor som helst i verden. Det er ikke bare været som er regnfullt eller solrikt, men temperatur, duggpunkt, vindkast, fuktighet, nedbør, trykk, UV -indeks og mer, alt lett tilgjengelig hvor du vil, når du vil.
La oss lære hvordan du bruker Dark Skys super-enkle API. Hvis du er ny i å bruke APIer, lover jeg deg at dette kommer til å bli veldig enkelt! Og hvis du har brukt API før, håper jeg at vi kan lære deg noe nytt med koden vi har brukt.
Hva du trenger for dette prosjektet:
- Dark Sky API -konto
- Opprinnelig statskonto
- Bringebær Pi eller bærbar PC
Trinn 1: Komme i gang
Vi har allerede lagt ned mye av beinarbeidet for at du skal sette koden sammen og organisere informasjonen. Vi trenger bare at du gjør noen justeringer underveis. Hvis du vil ha litt utfordringer, gjør noen endringer i koden vår og hvilke værdata som sendes, det er ubegrensede muligheter!
For å hente alt vi har forberedt for deg, må du klone depotet fra GitHub. GitHub er en tjeneste som lar oss lagre, revidere og administrere prosjekter som dette. Du vil kjøre dette skriptet på en dedikert enhet. En Raspberry Pi er et perfekt alternativ for å kjøre applikasjoner som denne opplæringen.
For å klone depotet trenger vi bare å gå inn på Pi -terminalen vår, eller datamaskinens terminal som er SSH'd i pi -en din og skrive denne kommandoen:
$ git -klone
Trykk enter og du vil se denne informasjonen:
Kloning til 'darksky' …
fjernkontroll: Teller objekter: 2, ferdig. fjernkontroll: Totalt 2 (delta 0), gjenbrukt 0 (delta 0), pakke gjenbrukt 2 Utpakningsobjekter: 100% (2/2), ferdig. Kontrollerer tilkobling… gjort.
Når du ser dette og gratulerer, har du klonet GitHub Repo og har alle de nødvendige filene for å bygge dette prosjektet. Før vi går videre til neste trinn, la oss ta litt tid å utforske rundt denne katalogen og lære noen grunnleggende kommandolinjekommandoer.
Skriv inn kommandoen nedenfor i terminalen din:
$ ls
Denne kommandoen viser alt som er tilgjengelig i katalogen du er i. Denne listen viser at vår GitHub Repo har blitt klonet inn i katalogen vår under navnet "darksky." La oss se på hva som er i den katalogen. For å flytte til en katalog er alt du trenger å gjøre å skrive “cd” og deretter skrive inn navnet på katalogen du vil gå til.
I dette tilfellet skriver vi:
$ cd darksky
Når vi trykker enter, vil du se at vi nå er i darksky -katalogen. La oss skrive "ls" igjen for å se hvilke filer vi har installert på pi -en vår.
README.md darksky.py …
Her ser vi at vi har vårt readme -dokument og python -filer. La oss se på darksky.py ved å bruke kommandoen "nano". Nano -kommandoen lar oss åpne nano -tekstredigeringsprogrammet der vi har all vår python -kode for hvert segment av dette prosjektet. Fortsett og skriv:
$ nano darksky.py
Her kan du se all koden vi har utarbeidet for deg for dette prosjektet. Vi kommer ikke til å gjøre noen endringer i dette dokumentet ennå, men bla gjerne rundt og se hva vi skal gjøre senere i denne opplæringen.
Trinn 2: Bruke Dark Sky API
For å bruke Dark Sky API trenger du først din egen API -nøkkel. Ikke bekymre deg, det er raskt og gratis å skaffe en API -nøkkel. Alt du trenger å gjøre er å gå til nettstedet og klikke "Prøv gratis" for å opprette en konto.
- Du får 1 000 API -anrop gratis hver dag. Hver API -forespørsel over den gratis daglige grensen koster $ 0,0001.
- Denne grensen tilbakestilles automatisk hver dag ved midnatt UTC.
- Forvarsforespørselen returnerer gjeldende værmelding for neste uke.
- Time Machine Request returnerer de observerte eller prognostiserte værforholdene for en dato i fortiden eller fremtiden.
Din hemmelige Dark Sky API -nøkkel vil se omtrent slik ut: 0123456789abcdef9876543210fedcba.
Du kan ringe et API til Dark Sky ved å skrive inn en URL i nettleseren din i følgende format:
api.darksky.net/forecast/[key]/[breddegrad], [lengdegrad]
Erstatt "nøkkel" med Dark Sky API -nøkkelen og lengdegrad/breddegrad med det du vil. Du kan finne lengdegrad og breddegrad ved å gå til Google Maps og søke etter posisjonen din. Disse verdiene vil være i URL -adressen. Kopier og lim inn ovennevnte dark sky -URL med tilgangsnøkkelen og verdiene lagt til i en adresselinje.
Når du gjør det vil du se noe slikt:
dag "," nærmesteStormDistance ": 57," nærmesteStormBearing ": 15," nedbørIntensitet ": 0," nedbørProbabilitet ": 0," temperatur ": 53,9," tilsynelatende temperatur ": 53,9," dewPoint ": 29,59," fuktighet ": 0,39, "press": 1022,45, "windSpeed": 3,87, "windGust": 9,25, "windBearing": 259, "cloudCover": 0,01, "uvIndex": 3, "synlighet": 7,8, "ozon": 309,71}, "minutely": {"summary": "Clear for the hour.", "icon": "clear-day", "data": [{"time": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…
Det kan være litt overveldende og vanskelig å lese, så det jeg anbefaler å bruke er å bruke en JSON -formatter for å gjøre dataene mer lesbare. Når du gjør dette vil det se slik ut:
objekt {9}
breddegrad: 37.8267 lengdegrad: -122.4233 tidssone: America/Los_Angeles for tiden {19} tid: 1550615286 oppsummering: Klar ikon: klar dag nærmestStormavstand: 57 nærmesteStormBearing: 15 nedbør Intensitet: 0 nedbør Sannsynlighet: 0 temperatur: 53,9 tilsynelatende temperatur: 53,9 duggpunkt: 29,59 fuktighet: 0,39 trykk: 1022,45 vind Hastighet: 3,87 vind Vindstød: 9,25 vind Peiling: 259 sky Dekning: 0,01 uv Indeks: 3 sikt: 7,8 ozon: 309,71
Du har nettopp foretatt et API -anrop! Ser du hvor enkelt det var? Du trengte ikke engang å skrive en eneste kodelinje. Nå som du har mestret API -er, kan vi gå videre til datastrømmingsdelen.
Trinn 3: Opprinnelig tilstand
Vi ønsker å streame alle værdataene våre til en skytjeneste og få den til å gjøre dataene våre til et fint dashbord som vi kan få tilgang til fra den bærbare eller mobile enheten. Våre data trenger en destinasjon. Vi vil bruke Initial State som den destinasjonen.
Trinn 1: Registrer deg for den første statskontoen
Gå til https://iot.app.initialstate.com og opprett en ny konto. Du får en 14 dagers gratis prøveperiode, og alle med en edu -e -postadresse kan registrere seg for en gratis studentplan.
Trinn 2: Installer ISStreamer
Installer Initial State Python -modulen på Raspberry Pi. Kjør følgende kommando i ledeteksten:
$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Trinn 3: Lag litt Automagic Etter trinn 2 vil du se noe som ligner på følgende utgang til skjermen:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: Start ISStreamer Python Enkel installasjon! Dette kan ta et par minutter å installere, ta en kaffe:) Men ikke glem å komme tilbake, jeg har spørsmål senere! Funnet easy_install: setuptools 1.1.6 Funnet pip: pip 1.5.6 fra /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip hovedversjon: 1 pip mindre versjon: 5 ISStreamer funnet, oppdaterer … Krav allerede oppdatert: ISStreamer i /Library/Python/2.7/site-packages Rydder opp … Vil du automatisk få et eksempelskript? [y/N] Hvor vil du lagre eksemplet? [standard:./is_example.py] Velg hvilken Initial State -app du bruker: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Angi valg 1 eller 2: Skriv inn iot.app.initialstate.com brukernavn: Skriv inn iot.app.initialstate.com passord:
Når du blir spurt om du vil få et eksempelskript automatisk å sette "y" for ja, og trykk enter for å lagre skriptet på standardplasseringen. For spørsmålet om hvilken app du bruker, velg 2 (med mindre du registrerte deg før november 2018) og skriv inn brukernavn og passord.
Trinn 4: Kjør eksempelskriptet
Kjør testskriptet for å sikre at vi kan opprette en datastrøm til din opprinnelige statskonto. Skriv følgende kommando:
$ python er_eksempel.py
Trinn 6: Eksempeldata
Gå tilbake til din opprinnelige statskonto i nettleseren din. En ny databøtte kalt "Python Stream -eksempel" burde ha dukket opp til venstre i logghyllen din (du må kanskje oppdatere siden). Klikk på denne bøtta for å se dataene dine.
Trinn 4: Dark Sky Weather Dashboard
Nå for den morsomme delen. Vi er klare til å begynne å bruke Dark Sky API for å lage et dashbord for vær og fange værhistorikken for stedet vi velger. For å gjøre dette skal vi bruke Python -skriptet: https://github.com/initialstate/darksky/blob/master/darksky.py. Dette skriptet kaller ganske enkelt Dark Sky API ved hjelp av API -nøkkelen og henter værinformasjonen på et bestemt tidsintervall. Den streamer også disse dataene til din opprinnelige statskonto, som lar deg lage et Dark Sky -værpanel.
Du kan enten kopiere dette skriptet til din Pi, eller få tilgang til det gjennom GitHub -depotet som vi klonet tidligere. Du kan gjøre dette ved å bytte til darksky -katalogen din ved å skrive:
$ cd darksky
Herfra får du tilgang til python -filen som vi kjører for å lage vårt dashbord. Før du kjører den, må du angi ønskede parametere og sette inn nøklene. Nano inn i darksky.py -filen ved å skrive:
$ nano darksky.py
Rediger deretter delen nær toppen av skriptet:
# --------- Brukerinstillinger ---------
CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "PLACE YOUR DARK SKY API KEY HERE" BUCKET_NAME = ": delvis_sunny:" + CITY + "Weather" BUCKET_KEY = "ds1" ACCESS_KEY = NØKKEL HER "MINUTES_BETWEEN_READS = 15 # ---------------------------------
Du må angi ønskede GPS -koordinater og bynavn. Du må også sette inn Dark Sky API -nøkkelen og tilgangsnøkkelen til Initial State -kontoen, ellers kommer dataene dine ingen vei. Parameteren MINUTES_BETWEEN_READS angir hvor ofte skriptet ditt vil undersøke Dark Sky API for værinformasjon. 15 minutter gir et fint intervall på lang sikt. Av hensyn til kortsiktig testing kan du sette dette til 0,5 minutter. Gjør endringene og skriv deretter inn kontroll+X for å gå ut og lagre.
Når du har angitt parameterne, er du klar til å kjøre skriptet ditt:
$ python darksky.py
Hvis du ssh'er inn i Pi-en din og vil la dette skriptet kjøre uavbrutt i lang tid, kan du bruke nohup-kommandoen (ingen henge-på) som følger:
$ nohup python darksky.py &
Dette skriptet kommer til å gjøre litt mer enn bare å lese værdataene og sende det til opprinnelig tilstand. Dette skriptet kommer til å dra nytte av emoji -støtten som er innebygd i Initial State's verktøy for å gjøre dashbordet litt mer kult. Du kan se logikken som brukes til å ta værstatusen fra ikonet for øyeblikket -> og konvertere det til et emoji -token i weather_icon -funksjonen. Noe lignende skjer for månefasen i moon_icon -funksjonen og vindretningen i wind_dir_icon -funksjonen.
Trinn 5: Konklusjon
Gå til din opprinnelige statskonto og se på dataene dine. Jeg endret alle mine prosentverdier til lysbue målere, nedbøren til en væskemåler og temperaturen til en temperaturmåler. Du kan bytte til alle slags flisetyper og velge fargene dine for målere og linjediagrammer. Du kan gjøre dashbordet mørkt eller lyst og legge det endelige produktet inn på et nettsted ved hjelp av en innebygd iFrame.
Hvis du vil bruke dashbordoppsettet fra en offentlig deling som dashbord, kan du importere et oppsett til dataskuffen din ved å følge instruksjonene her. Du kan legge til et bakgrunnsbilde på dashbordet for å gi det mer kontekst.
Den offentlige delingsadressen for dashbordet vårt er
Nå har du mestret Dark Sky API, mulighetene er uendelige! Det er et ubegrenset antall gratis APIer på nettet å utforske, så kom i gang.
Anbefalt:
DIY -- Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: 6 trinn
DIY || Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: Mens du lager en edderkopprobot, kan du lære så mange ting om robotikk. Som å lage roboter er både underholdende og utfordrende. I denne videoen skal vi vise deg hvordan du lager en Spider -robot, som vi kan bruke ved hjelp av smarttelefonen vår (Androi
Bygg en energimonitorenhet ved hjelp av et partikkelelektron: 5 trinn (med bilder)
Bygg en energimonitorenhet ved hjelp av et partikkelelektron: I de fleste virksomheter anser vi energi som en forretningskostnad. Regningen vises i vår e -post eller e -post, og vi betaler den før avbestillingsdatoen. Med fremveksten av IoT og smarte enheter begynner Energy å ta et nytt sted i en virksomhets bala
Hvordan lage en drone ved hjelp av Arduino UNO - Lag en quadcopter ved hjelp av mikrokontroller: 8 trinn (med bilder)
Hvordan lage en drone ved hjelp av Arduino UNO | Lag en Quadcopter ved hjelp av mikrokontroller: Introduksjon Besøk min Youtube -kanal En Drone er en veldig dyr gadget (produkt) å kjøpe. I dette innlegget skal jeg diskutere hvordan jeg får det billig? Og hvordan kan du lage din egen slik til en billig pris … Vel, i India er alle materialer (motorer, ESCer
Dark Sky API PyPortal & Weather Dashboard: 6 trinn
Dark Sky API PyPortal & Weather Dashboard: Dette prosjektet er en oppgave vi har gjort før, Dark Sky API Weather Dashboard. Denne gangen i stedet for en Raspberry Pi, bruker vi en Adafruit PyPortal for å vise værdata og sende disse dataene til Initial State. To dashbord for arbeidet med en
Bygg din første IOT ved hjelp av Arduino Uten tilleggsmoduler: 5 trinn (med bilder)
Bygg din første IOT ved hjelp av Arduino Uten tilleggsmoduler: Verden går smartere hver dag, og den største årsaken bak dette er utviklingen av smart teknologi. Som teknisk entusiast må du ha hørt om begrepet IOT som betyr tingenes internett. Tingenes internett betyr å kontrollere og mate