Inhoudsopgave:

Dark Sky API PyPortal & Weer Dashboard - Ajarnpa
Dark Sky API PyPortal & Weer Dashboard - Ajarnpa

Video: Dark Sky API PyPortal & Weer Dashboard - Ajarnpa

Video: Dark Sky API PyPortal & Weer Dashboard - Ajarnpa
Video: RIP Dark Sky - Why Apple Shut Down The Best Weather App 2024, Juli-
Anonim
Image
Image

Dit project is een versie die we eerder hebben gedaan, het Dark Sky API Weather Dashboard. Deze keer gebruiken we in plaats van een Raspberry Pi een Adafruit PyPortal om weergegevens weer te geven en die gegevens naar de oorspronkelijke staat te sturen. Twee dashboards voor het werk van één!

Benodigdheden

  • Adafruit PyPortal
  • Adafruit IO-account (gratis)
  • Dark Sky API-account (gratis)
  • Initiële staatsaccount

Stap 1: Oorspronkelijke staat

Oorspronkelijke toestand
Oorspronkelijke toestand

Initial State is een datavisualisatieplatform. We sturen gegevens van Dark Sky API en de PyPortal naar Initial State. Hierdoor kunnen we een logboek van de weergegevens hebben en weertrends bekijken.

U moet zich registreren en een nieuw account aanmaken. Je krijgt een gratis proefperiode van 14 dagen en iedereen met een edu-e-mailadres kan zich registreren voor een gratis studentenabonnement.

U hebt uw Initial State Access Key nodig om gegevens van de Dark Sky API en de PyPortal naar de Initial State te kunnen verzenden. Scroll over je gebruikersnaam in de rechterbovenhoek en klik op mijn instellingen. Daar ziet u een lijst met streamingtoegangssleutels. Selecteer er een om te gebruiken of maak een nieuwe aan. Deze hebben we later nodig voor de code.

Stap 2: Dark Sky API

Dark Sky-API
Dark Sky-API

Dark Sky is gespecialiseerd in weersvoorspelling en visualisatie. Het coolste aspect van Dark Sky is hun weer-API die we kunnen gebruiken om de weergegevens van bijna overal ter wereld op te halen. Het is niet alleen regenachtig of zonnig weer, maar ook temperatuur, dauwpunt, windvlaag, vochtigheid, neerslag, druk, UV-index en meer, allemaal gemakkelijk beschikbaar voor waar u maar wilt, wanneer u maar wilt.

Om de Dark Sky API te gebruiken, heb je eerst je eigen API-sleutel nodig. Maak je geen zorgen, het verkrijgen van een API-sleutel is snel en gratis. Het enige wat u hoeft te doen is naar de website te gaan en op "Probeer gratis" te klikken om een account aan te maken.

U krijgt elke dag 1.000 gratis API-aanroepen. Elk API-verzoek boven de gratis dagelijkse limiet kost $ 0,0001. Deze limiet wordt elke dag om middernacht UTC automatisch opnieuw ingesteld. Het Forecast Request retourneert de huidige weersvoorspelling voor de volgende week. Het Time Machine Request retourneert de waargenomen of voorspelde weersomstandigheden voor een datum in de verleden of toekomst.

Je geheime Dark Sky API-sleutel ziet er ongeveer zo uit:

0123456789abcdef9876543210fedcba.

We zullen dit later in de code gebruiken.

Stap 3: Adafruit IO & PyPortal

Adafruit IO is een service die Adafruit aanbiedt als aanvulling op hun hardware. We zullen deze service gebruiken voor het klokgedeelte van onze code. Meld u aan voor een gratis account. Klik op de View AIO Key aan de linkerkant om uw gebruikersnaam en sleutel te zien. We zullen beide later in onze code later gebruiken.

De Adafruit PyPortal is het nieuwste IoT-apparaat aangedreven door Circuit Python. Het leuke van de PyPortal is dat je kunt communiceren met API's en JSON's om bijna alles weer te geven. We zullen het gebruiken om gegevens van de Dark Sky API op te halen, die gegevens op de PyPortal weer te geven en die gegevens naar de oorspronkelijke staat te sturen.

Als dit je eerste project op je PyPortal is, wil je deze tutorial volgen om de firmware te downloaden, je PyPortal op wifi aan te sluiten en klaar te maken. Zodra je dit hebt voltooid, zijn we klaar voor de Dark Sky API-code.

Stap 4: Coderen

Deze code kunt u hier op uw computer downloaden. Breng alle bestanden behalve het bestand README.md over naar uw PyPortal. Je sleept ze gewoon naar de PyPortal, die zou moeten verschijnen als CIRCUITPYTHON op je USB-lijst. Het enige document dat u zou moeten bewerken, is de secrets.py. Het zal al uw privé-informatie in de code opnemen, zodat we het niet in het zicht hebben.

Ik zou aanraden om de Mu Editor te gebruiken om je code te bewerken en te bekijken. Het heeft een seriële monitor voor eenvoudig debuggen terwijl u wijzigingen aanbrengt. Elke code-editor zal echter werken.

Ik wil bespreken wat elk stukje code, bibliotheken en mappen doen, zodat het gemakkelijker is om wijzigingen aan te brengen en

code.py

Dit is ons hoofdbestand dat wordt gestart op de PyPortal omdat het code.py heet. Hier ziet u de WiFi-verbinding, de Dark Sky API-aanroep en de instellingen voor het PyPortal-display. Er zijn geen wijzigingen die u aan dit bestand hoeft aan te brengen.

darksky.py

Dit script wordt aangeroepen vanuit de hoofdcode. Dit is waar we de Dark Sky API-aanroep ontleden, de tekstlocatie op het PyPortal-display instellen, bepalen welk pictogram moet worden weergegeven en de API-gegevens naar de beginstatus sturen. U hoeft hier geen wijzigingen aan te brengen.

geheimen.py

Hierin staan al uw wachtwoorden en toegangssleutels. U moet bijna alle items in dit document bijwerken. U moet uw WiFi-naam, WiFi-wachtwoord, tijdzone, Dark Sky API-sleutel, Initial State-toegangssleutel, lengte- en breedtegraad, plaatsnaam en staat, Adafruit IO-gebruikersnaam en Adafruit IO-sleutel invoeren. Zodra u al deze hebt ingevoerd en opgeslagen, zou uw code zonder fouten moeten werken.

bibliotheken

Dit zijn de bibliotheken die nodig zijn om de PyPortal en modules uit te voeren.

lettertypen

Dit is het lettertype dat wordt gebruikt om de weersinformatie op de PyPortal weer te geven.

pictogrammen

Dit zijn de verschillende pictogrammen die als afbeelding op de PyPortal worden weergegeven op basis van de huidige weersomstandigheden.

Stap 5: PyPortal

PyPortal
PyPortal

Nu uw code actief is, toont uw PyPortal uw stad en staat, de tijd, de huidige weersomstandigheden en het bijbehorende pictogram, en de temperatuur in Fahrenheit.

U kunt de grootte en locatie aanpassen van de tekst die wordt weergegeven in het Dark Sky-script. Als u verschillende pictogrammen wilt gebruiken, hoeft u ze alleen maar onder de juiste namen op te slaan en in de pictogrammenmap te plaatsen. Elk van de display-items is verstelbaar. Je kunt zelfs veranderen wat je weergeeft. Het enige dat u hoeft te doen, is een ander deel van de Dark Sky API-aanroep ontleden en dat wordt weergegeven in plaats van een temperatuur- of weersamenvatting.

Stap 6: Initiële statusdashboard

Initiële statusdashboard
Initiële statusdashboard

Ga naar uw Initial State-account en bekijk uw gegevens. Ik bracht het temperatuur- en weerpictogram in kaart met emoji's, maakte van de temperatuurwaarde een thermometergrafiek, maakte van vochtigheid een grafiek voor vloeistofniveaumeters, maakte van de UV-index een staafdiagram met kleurdrempels en maakte lijngrafieken van vochtigheid, temperatuur en UV-index.'

U kunt een achtergrondafbeelding aan uw weerdashboard toevoegen om uw dashboard meer persoonlijkheid te geven.

Als u de dashboardlay-out van een openbare share als uw dashboard wilt gebruiken, kunt u een lay-out in uw databucket importeren door de instructies hier te volgen.

De openbare share-URL voor ons dashboard is

Nu heb je niet één, maar twee weerdashboards en een logboek met weergegevens.

Aanbevolen: