Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Oprindelig tilstand
- Trin 2: Dark Sky API
- Trin 3: Adafruit IO & PyPortal
- Trin 4: Kode
- Trin 5: PyPortal
- Trin 6: Initial State Dashboard
Video: Dark Sky API PyPortal & Weather Dashboard: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Dette projekt er en opfattelse af et, vi har gjort før, Dark Sky API Weather Dashboard. Denne gang i stedet for en Raspberry Pi bruger vi en Adafruit PyPortal til at vise vejrdata og sende disse data til den oprindelige tilstand. To dashboards til arbejdet med et!
Forbrugsvarer
- Adafruit PyPortal
- Adafruit IO -konto (gratis)
- Dark Sky API -konto (gratis)
- Oprindelig statskonto
Trin 1: Oprindelig tilstand
Initial State er en datavisualiseringsplatform. Vi sender data fra Dark Sky API og PyPortal til Initial State. Dette giver os mulighed for at have en log over vejrdata og se vejrtrends.
Du skal registrere og oprette en ny konto. Du får en 14 dages gratis prøveperiode, og alle med en edu -e -mail -adresse kan registrere sig til en gratis studenterplan.
Du skal bruge din adgangsnøgle til initial tilstand for at kunne sende data fra Dark Sky API og PyPortal til initial tilstand. Rul over dit brugernavn øverst til højre, og klik på mine indstillinger. Der vil du se en liste over Streaming Access Keys. Vælg en, der skal bruges, eller opret en ny. Vi får brug for dette senere for koden.
Trin 2: Dark Sky API
Dark Sky har specialiseret sig i vejrudsigter og visualisering. Det sejeste aspekt ved Dark Sky er deres vejr -API, som vi kan bruge til at hente vejrdata fra næsten overalt i verden. Det er ikke kun vejret, der er regnfuldt eller solrigt, men temperatur, dugpunkt, vindstød, fugtighed, nedbør, tryk, UV -indeks og mere, alt let tilgængeligt, uanset hvor du vil, når du vil.
For at bruge Dark Sky API skal du først bruge din egen API -nøgle. Bare rolig, det er hurtigt og gratis at få en API -nøgle. Alt du skal gøre er at gå til webstedet og klikke på "Prøv gratis" for at oprette en konto.
Du får 1.000 API -opkald gratis hver dag. Hver API -anmodning over den gratis daglige grænse koster $ 0.0001. Denne grænse nulstilles automatisk hver dag ved midnat UTC. Forespørgselsanmodningen returnerer den aktuelle vejrudsigt for den næste uge. Time Machine Request returnerer de observerede eller vejrudsigter for en dato i fortid eller fremtid.
Din hemmelige Dark Sky API -nøgle vil se sådan ud:
0123456789abcdef9876543210fedcba.
Vi vil bruge dette senere i koden.
Trin 3: Adafruit IO & PyPortal
Adafruit IO er en service Adafruit tilbyder at supplere deres hardware. Vi vil bruge denne service til urdelen af vores kode. Tilmeld dig en gratis konto. Klik på Vis AIO -nøglen til venstre for at se dit brugernavn og din nøgle. Vi vil bruge begge disse senere i vores kode senere.
Adafruit PyPortal er den nyeste IoT -enhed drevet af Circuit Python. Det fede ved PyPortal er, at du kan interagere med API’er og JSON’er for at vise næsten alt. Vi vil bruge det til at hente data fra Dark Sky API, vise disse data på PyPortal og sende disse data til Initial State.
Hvis dette er dit første projekt på din PyPortal, vil du følge denne vejledning for at downloade firmwaren, tilslutte din PyPortal til WiFi og gøre den klar. Når du har gennemført dette, er vi klar til Dark Sky API -koden.
Trin 4: Kode
Denne kode kan downloades til din computer her. Overfør alle filerne undtagen README.md -filen til din PyPortal. Du skal bare trække og slippe dem på PyPortal, som skal vises som CIRCUITPYTHON på din USB -liste. Det eneste dokument, du skal redigere, er secrets.py. Det vil trække alle dine private oplysninger ind i koden, så vi ikke har det for øjnene.
Jeg vil anbefale at bruge Mu Editor til at redigere og se din kode. Den har en seriel skærm til nem fejlfinding, mens du foretager ændringer. Enhver kodeditor fungerer dog.
Jeg vil tale om, hvad hvert stykke kode, biblioteker og mapper gør, så det er lettere at foretage ændringer og
kode.py
Dette er vores hovedfil, der starter på PyPortal, da den hedder code.py. Her ser du WiFi -forbindelsen, Dark Sky API -opkaldet og opsætningen til PyPortal -skærmen. Der er ingen ændringer, du skal foretage i denne fil.
darksky.py
Dette script kaldes fra hovedkoden. Det er her, vi analyserer Dark Sky API -opkaldet, konfigurerer tekstplacering på PyPortal -skærmen, bestemmer hvilket ikon, der skal vises, og sender API -dataene til den oprindelige tilstand. Der er ingen ændringer, du skal foretage her.
secrets.py
Dette gemmer alle dine adgangskoder og adgangsnøgler. Du skal opdatere næsten alle elementer i dette dokument. Du skal indtaste dit WiFi -navn, WiFi -adgangskode, tidszone, Dark Sky API -nøgle, Initial State -adgangsnøgle, længdegrad og breddegrad, bynavn og -stat, Adafruit IO -brugernavn og Adafruit IO -nøgle. Når du har alle dem indtastet og gemt, skal din kode køre uden fejl.
biblioteker
Dette er de biblioteker, der kræves for at køre PyPortal og moduler.
skrifttyper
Dette er den skrifttype, der bruges til at vise vejrinformationen på PyPortal.
ikoner
Dette er de forskellige ikoner, der vises som billedet på PyPortal baseret på de aktuelle vejrforhold.
Trin 5: PyPortal
Nu hvor din kode kører, viser din PyPortal din by og tilstand, tidspunktet, den aktuelle vejrsoversigt og ikon, der skal matche, og temperaturen i Fahrenheit.
Du kan justere størrelsen og placeringen af den tekst, der vises i Dark Sky -scriptet. Hvis du vil bruge forskellige ikoner, skal du bare gemme dem som de korrekte navne og lægge dem i mappen Ikoner. Alle displayelementer er justerbare. Du kan endda ændre, hvad du viser. Alt du skal gøre er at analysere en anden del af Dark Sky API -opkaldet, og det vil blive vist i stedet for temperatur eller vejroversigt.
Trin 6: Initial State Dashboard
Gå til din oprindelige statskonto og se på dine data. Jeg kortlagde temperatur- og vejrikonet til emojis, lavede temperaturværdien til en termometermålergraf, lavede fugtighed til en væskestandsmålergraf, lavede UV -indekset til et søjlediagram med farvetærskler og oprettede linjediagrammer over fugtighed, temperatur og UV -indeks. '
Du kan tilføje et baggrundsbillede til dit vejrdashboard for at give dig dashboard mere personlighed.
Hvis du vil bruge dashboardlayoutet fra en offentlig deling som dit dashboard, kan du importere et layout til din data bucket ved at følge instruktionerne her.
Den offentlige delings -URL til vores dashboard er
Nu har du ikke kun et, men to vejrdashboards og en log med vejrdata.
Anbefalede:
NaTaLia Weather Station: Arduino Solar Powered Weather Station Gjorde den rigtige vej: 8 trin (med billeder)
NaTaLia Weather Station: Arduino Solar Powered Weather Station Gjorde den rigtige vej: Efter 1 års vellykket drift på 2 forskellige steder deler jeg mine solcelledrevne vejrstation projektplaner og forklarer, hvordan det udviklede sig til et system, der virkelig kan overleve over lang tid perioder fra solenergi. Hvis du følger
AirVisual Air Quality API Dashboard: 5 trin
AirVisual Air Quality API Dashboard: AirVisual (https://www.airvisual.com) er et websted, der giver data om luftkvalitet rundt om i verden. De har en API, som vi vil bruge til at få luftkvalitetsdata til at sende til et dashboard. Vi vil interagere med denne API på samme måde som vi gjorde med vi
Byg et vejr -dashboard ved hjælp af Dark Sky API: 5 trin (med billeder)
Byg et vejrpanel ved hjælp af Dark Sky API: Dark Sky har specialiseret sig i vejrudsigter og visualisering. Det sejeste aspekt ved Dark Sky er deres vejr -API, som vi kan bruge til at hente vejrdata fra næsten overalt i verden. Det er ikke kun vejret, der er regnfuldt eller solrigt, men temperatur
Photochromic & Glow-in-the-Dark Clock: 12 trin (med billeder)
Fotokromisk og glød-i-mørke ur: Dette ur bruger et specialbygget 4-cifret 7-segment display fremstillet af UV LED'er. Foran displayet placeres en skærm, der enten består af fosforescerende ("glød-i-mørket") eller fotokromisk materiale. En trykknap øverst lyser
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 trin
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): Her kan du finde en gentagelse af brug af OneWire med de meget få pins på en ESP-01. valg (du skal have legitimationsoplysninger …) Indsamler sansedata fra en BMP280 og en DHT11