Innehållsförteckning:

Dark Sky API PyPortal & Weather Dashboard: 6 steg
Dark Sky API PyPortal & Weather Dashboard: 6 steg

Video: Dark Sky API PyPortal & Weather Dashboard: 6 steg

Video: Dark Sky API PyPortal & Weather Dashboard: 6 steg
Video: PyPortal Review and Tutorial | GIT TECH'D 2024, Juli
Anonim
Image
Image

Detta projekt är en uppfattning som vi har gjort tidigare, Dark Sky API Weather Dashboard. Den här gången istället för en Raspberry Pi, använder vi en Adafruit PyPortal för att visa väderdata och skicka den till Initial State. Två instrumentpaneler för arbetet med en!

Tillbehör

  • Adafruit PyPortal
  • Adafruit IO -konto (gratis)
  • Dark Sky API -konto (gratis)
  • Första statskontot

Steg 1: Ursprunglig status

Initialtillstånd
Initialtillstånd

Initial State är en datavisualiseringsplattform. Vi skickar data från Dark Sky API och PyPortal till Initial State. Detta gör att vi kan logga in väderdata och se väderutvecklingen.

Du måste registrera dig och skapa ett nytt konto. Du får en 14 dagars gratis provperiod och alla med en edu -e -postadress kan registrera sig för en gratis studentplan.

Du behöver din Initial State Access Key för att kunna skicka data från Dark Sky API och PyPortal till Initial State. Rulla över ditt användarnamn högst upp till höger och klicka på mina inställningar. Där kommer du att se en lista över Streaming Access Keys. Välj en för att använda eller skapa en ny. Vi kommer att behöva detta senare för koden.

Steg 2: Dark Sky API

Dark Sky API
Dark Sky API

Dark Sky är specialiserat på väderprognoser och visualisering. Den coolaste aspekten av Dark Sky är deras väder -API som vi kan använda för att hämta väderdata från nästan var som helst i världen. Det är inte bara vädret som är regnigt eller soligt utan temperatur, daggpunkt, vindbyar, fuktighet, nederbörd, tryck, UV -index och mer, allt lätt tillgängligt var du vill, när du vill.

För att kunna använda Dark Sky API behöver du först din egen API -nyckel. Oroa dig inte, att få en API -nyckel är snabbt och gratis. Allt du behöver göra är att gå till webbplatsen och klicka på "Prova gratis" för att skapa ett konto.

Du får 1 000 API -samtal gratis varje dag. Varje API -begäran över den kostnadsfria dagliga gränsen kostar $ 0,0001. Denna gräns återställs automatiskt varje dag vid midnatt UTC. Prognosbegäran returnerar den aktuella väderprognosen för nästa vecka. Time Machine Request returnerar de observerade eller prognostiserade väderförhållandena för ett datum i förflutna eller framtid.

Din hemliga Dark Sky API -nyckel kommer att se ut ungefär så här:

0123456789abcdef9876543210fedcba.

Vi kommer att använda detta senare i koden.

Steg 3: Adafruit IO & PyPortal

Adafruit IO är en tjänst Adafruit erbjuder för att komplettera sin hårdvara. Vi kommer att använda denna tjänst för klockdelen av vår kod. Registrera dig för ett gratis konto. Klicka på Visa AIO -nyckeln till vänster för att se ditt användarnamn och nyckel. Vi kommer att använda båda dessa senare i vår kod senare.

Adafruit PyPortal är den senaste IoT -enheten som drivs av Circuit Python. Det coola med PyPortal är att du kan interagera med API: er och JSON för att visa nästan vad som helst. Vi kommer att använda den för att hämta data från Dark Sky API, visa den informationen på PyPortal och skicka den till Initial State.

Om detta är ditt första projekt på din PyPortal, vill du följa den här självstudien för att ladda ner firmware, anslut din PyPortal till WiFi och gör den klar. När du har slutfört detta är vi redo för Dark Sky API -koden.

Steg 4: Kod

Denna kod kan laddas ner till din dator här. Överför alla filer utom filen README.md till din PyPortal. Du kommer bara att dra och släppa dem på PyPortal, som ska visas som CIRCUITPYTHON på din USB -lista. Det enda dokument du behöver redigera är secrets.py. Det kommer att dra all din privata information in i koden så att vi inte har den synlig.

Jag rekommenderar att du använder Mu Editor för att redigera och visa din kod. Den har en seriell bildskärm för enkel felsökning medan du gör ändringar. Vilken kodredigerare som helst fungerar dock.

Jag vill prata igenom vad varje kod, bibliotek och mappar gör så det är lättare att göra ändringar och

kod.py

Detta är vår huvudfil som initieras på PyPortal eftersom den heter code.py. Här ser du WiFi -anslutningen, Dark Sky API -samtalet och inställningen för PyPortal -skärmen. Det finns inga ändringar du behöver göra i den här filen.

darksky.py

Detta skript anropas från huvudkoden. Det är här vi analyserar Dark Sky API -anropet, ställer in textplats på PyPortal -skärmen, bestämmer vilken ikon som ska visas och skickar API -data till Initial State. Det finns inga ändringar du behöver göra här.

secrets.py

Detta innehåller alla dina lösenord och åtkomstnycklar. Du måste uppdatera nästan alla objekt i detta dokument. Du måste ange ditt WiFi -namn, WiFi -lösenord, tidszon, Dark Sky API -nyckel, Initial State access key, longitude & latitude, city name & state, Adafruit IO användarnamn och Adafruit IO key. När du har alla de angivna och sparade din kod bör köras utan fel.

bibliotek

Det här är de bibliotek som krävs för att köra PyPortal och moduler.

typsnitt

Detta är teckensnittet som används för att visa väderinformation på PyPortal.

ikoner

Det här är de olika ikonerna som visas som bilden på PyPortal baserat på de aktuella väderförhållandena.

Steg 5: PyPortal

PyPortal
PyPortal

Nu när din kod körs kommer din PyPortal att visa din stad och ditt tillstånd, tiden, den aktuella väderförhållandena och ikonen som ska matcha och temperaturen i Fahrenheit.

Du kan justera storleken och platsen för texten som visas i Dark Sky -skriptet. Om du vill använda olika ikoner behöver du bara spara dem som rätt namn och lägga dem i ikonen -mappen. Alla displayobjekt är justerbara. Du kan till och med ändra vad du visar. Allt du behöver göra är att analysera en annan del av Dark Sky API -samtalet och det kommer att visas istället för temperatur eller väderöversikt.

Steg 6: Initial State Dashboard

Initial State Dashboard
Initial State Dashboard

Gå till ditt Initial State -konto och titta på dina data. Jag kartlade temperatur- och väderikonen till emojis, gjorde temperaturvärdet till en termometermätare, gjorde luftfuktigheten till en vätskenivåmätare, gjorde UV -indexet till ett stapeldiagram med färgtrösklar och skapade linjediagram över luftfuktighet, temperatur och UV -index. '

Du kan lägga till en bakgrundsbild på din väderpanel för att ge dig instrumentpanelen mer personlighet.

Om du vill använda instrumentpanellayouten från en offentlig resurs som din instrumentpanel kan du importera en layout till din datahinka genom att följa instruktionerna här.

Den offentliga webbadressen för vår instrumentpanel är

Nu har du inte bara en, utan två väderinstrumentpaneler och en logg med väderdata.

Rekommenderad: