Innehållsförteckning:
- Tillbehör
- Steg 1: Ursprunglig status
- Steg 2: Dark Sky API
- Steg 3: Adafruit IO & PyPortal
- Steg 4: Kod
- Steg 5: PyPortal
- Steg 6: Initial State Dashboard
Video: Dark Sky API PyPortal & Weather Dashboard: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
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
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 ä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
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
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:
NaTaLia Weather Station: Arduino Solar Powered Weather Station Gjord på rätt sätt: 8 steg (med bilder)
NaTaLia väderstation: Arduino soldriven väderstation gjord på rätt sätt: Efter 1 års framgångsrik drift på 2 olika platser delar jag mina solcellsdrivna väderstationsprojektplaner och förklarar hur det utvecklades till ett system som verkligen kan överleva över lång tid perioder från solenergi. Om du följer
AirVisual Air Quality API Dashboard: 5 steg
AirVisual Air Quality API Dashboard: AirVisual (https://www.airvisual.com) är en webbplats som tillhandahåller data om luftkvalitet runt om i världen. De har ett API som vi kommer att använda för att få luftkvalitetsdata att skicka till en instrumentpanel. Vi kommer att interagera med detta API på samma sätt som vi gjorde med vi
Weather API -anslutning: 7 steg
Väder -API -anslutning: Den här handboken hjälper dig att skaffa en väder -API -nyckel. Detta är ett av många steg för att skapa en smart spegel som hjälper dig att bestämma vad du ska ha på dig. Ett av behoven är att få väderdata om din plats. Bilden ovan visar dig informationen du
Bygg en väderpanel med Dark Sky API: 5 steg (med bilder)
Bygg en väderpanel med 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
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 steg
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): Här kan du hitta en iteration av att använda OneWire med de få få stiften på en ESP-01. val (du måste ha meriter …) Samlar in sensoriska data från en BMP280 och en DHT11