Beispiel: Verwenden der Bibliothek OpenWeather Client SL
Produkt: CODESYS IIOT Libraries SL
Das Beispielprojekt OpenWeather Client SL Example.project
zeigt, wie Sie die Bibliothek OpenWeather Client SL
benutzten können, um Wetterdaten durch die OpenWeather-API abzufragen.
Vorbereitung
Um Daten von der externen OpenWeather
-API abfragen zu können, müssen Sie einen gültigen API-Schlüssel angeben. Für diesen Schlüssel muss der Dienst "One Call API 3.0" freigeschaltet sein. Wenn Sie bereits einen Schlüssel generiert haben, müssen Sie keine weiteren Vorbereitungsschritte durchführen.
Wenn Sie noch keinen Schlüssel haben, einen neuen Schlüssel erstellen möchten oder unsicher sind, ob der benötigte Dienst für Ihren Schlüssel freigeschaltet ist, dann gehen Sie wie folgt vor:
Account erstellen.
Erstellen Sie auf der Webseite von OpenWeather einen Account oder melden Sie sich an, wenn Sie sich bereits registriert haben.
Schlüssel generieren.
Wenn Sie angemeldet sind, navigieren Sie in den Menüpunkt
API keys
. Dort können Sie alle aktiven API-Schlüssel einsehen und über die SchaltflächeGenerate
neue Schlüssel erstellen.Dienst "One Call API 3.0" freischalten.
Dieser Dienst ist für eine korrekte Funktionsweise der Bibliothek erforderlich. Navigieren Sie in den Menüpunkt
Billing Plans
und suchen Sie nach dem Dienst "One Call API 3.0".Wenn Sie diesen Dienst noch nicht abonniert haben, tun Sie das, in dem Sie auf die Schaltfläche
Subscribe
klicken. Im FeldStatus
sollte jetzt der HinweisActivated
stehen.Nach diesem Schritt sollten Sie folgendes sehen können:
Optional: Abfragebeschränkung einrichten.
Wenn Sie ausschließlich das tägliche, kostenfreie Kontingent nutzen möchten, können Sie durch eine Begrenzung sicherstellen, dass nicht mehr als 1000 Abfragen gemacht werden können.
Navigieren Sie dazu in den Menüpunkt
Billing Plans
, damit Sie die oben gezeigte Ansicht sehen können. In der SpalteCalls per day
können Sie definieren, wie viele Anfragen Sie maximal pro Tag erlauben möchten.Fertig
Halten Sie Ihren API-Schlüssel bereit, um die Beispiel-Anwendungen ausführen zu können.
Beschreibung
Allgemeiner Hinweis zu Ortsinformationen in den Beispielen
Die Ortsdaten (
GeoLocation
) werden in den Beispielen statisch im Deklarationsbereich des jeweiligen Hauptprogramms der Applikation (hier:CFC_PRG
) definiert.Sie können die Werte dieses Objekts verändern, um Wetterdaten von anderen Orten abzufragen.
Hinweis
Nur die GPS-Koordinate im Format "Decimal Degree" (DD), die durch einen Längen- und Breitengrad definiert ist, beeinflusst hier tatsächlich den Ort, für den die Daten abgefragt werden. Weitere Informationen, wie beispielsweise der Stadtname, haben keinen Effekt.
Sie können die Koordinaten für einen Ort über einen Kartendienst erhalten und die restlichen Informationen bei Bedarf manuell eintragen. Alternativ können Sie die
GeoLocator
-Funktionsbausteine verwenden (siehe ApplikationGeoLocatorExamples
), um dieGeoLocation
-Struktur korrekt zu befüllen.
Applikation CurrentWeatherExample
In dieser Applikation werden aktuelle Wetterdaten für einen festgelegten Ort von der OpenWeather-API abgefragt. Fügen Sie Ihren API-Schlüssel in das Feld sApiKey
ein und setzen Sie das Flag xLoadWeatherData
auf TRUE
, um Daten zu erhalten. Die Daten werden in die Struktur currentWeatherData
geladen. Sie können den Inhalt der Struktur im Monitoring-Bereich einsehen.
Applikation WeatherForecastExample
In dieser Applikation wird eine stündliche Wettervorhersage für die nächsten 48 h für einen festgelegten Ort von der OpenWeather
-API abgefragt. Fügen Sie Ihren API-Schlüssel in das Feld sApiKey
ein und setzen Sie das Flag xLoadWeatherData
auf TRUE
, um Daten zu erhalten. Die Daten werden in die Struktur weatherForecast
geladen. Sie können den Inhalt der Struktur im Monitoring-Bereich einsehen.
Applikation CurrentWeatherAndForecastExample
In dieser Applikation wird das aktuelle Wetter, sowie die stündliche 48h-Wettervorhersage für einen festgelegten Ort von der OpenWeather-API
abgefragt. Fügen Sie Ihren API-Schlüssel in das Feld sApiKey
ein und setzen Sie das Flag xLoadWeatherData
auf TRUE
, um Daten zu erhalten. Die Daten werden in die Strukturen currentWeatherData
und weatherForecast
geladen. Sie können den Inhalt der Strukturen im Monitoring-Bereich einsehen.
Wichtig
Der Funktionsbaustein CurrentWeatherAndForecastExample
könnte den Anschein erwecken, er würde einfach die Funktionsbausteine CurrentWeather
und ForecastWeather
hintereinander ausführen. Das ist nicht der Fall. Der Funktionsbaustein CurrentWeatherAndForecastExample
kann die aktuellen und vorhergesagten Wetterdaten in nur einem API-Aufruf abfragen. Er sollte daher immer verwendet werden, wenn beide Daten benötigt werden.
Applikation GeoLocatorExamples
In dieser Applikation wird eine Ortsbeschreibung, vor allem aber die Koordinaten eines Ortes, von der OpenWeather-Geocoding
-API abgefragt.
Fügen Sie Ihren API-Schlüssel in das Feld sApiKey
ein und setzen Sie die Flags xLoad[...]
auf TRUE
, um Daten zu erhalten. Die Daten werden in die Struktur location
geladen. Sie können den Inhalt der Struktur im Monitoring-Bereich einsehen.
Applikation VisuExample
Die Applikation zeigt die Abfrage des aktuellen Wetters und der aktuellen 48 h-Vorhersage in Verbindung mit einer Visualisierungsoberfläche.
Eine Visualisierung eignet sich gut, um sich einen schnellen Überblick über die zur Verfügung stehenden Informationen zu verschaffen.
Benutzeroberfläche
Wenn Sie die Applikation starten, öffnet sich folgendes Visualisierungsfenster:

Steuerungsleiste
Auf der linken Seite befindet sich eine Steuerungsleiste, mit deren Schaltflächen Sie die Anwendung steuern.
Mit der Schaltfläche
können Sie reale Daten vom API-Server abrufen und anzeigen lassen. Beachten Sie, dass Sie dazu einen API-Schlüssel setzen müssen. Wenn ein Klicken auf diese Schaltfläche keinen Effekt hat, überprüfen Sie bitte ihren eingetragenen API-Schlüssel.
Mit der Schaltfläche
können Sie Dummy-Daten laden, was keinen API-Aufruf erfordert. Diese Daten werden dann aus einer JSON-Datei geladen, die eine frühere API-Antwort enthält.
Mit der Schaltfläche
können Sie das Fenster, in dem Sie Ihren API-Schlüssel eintragen, ein- und ausblenden.
API-Schlüssel-Overlay
Wenn Sie auf die Schaltfläche
klicken, wird das API-Schlüsseleintragungsfenster geöffnet. Klicken Sie in das Textfeld, um Ihren Schlüssel eintragen oder ändern zu können.
Anzeige des aktuellen Wetters
Das obere, mittige Panel zeigt die aktuellen Wetterdaten. Es werden alle zur Verfügung stehenden Informationen angezeigt. Die Beschreibung der Werte, die keine Beschriftung auf der Oberfläche haben, können Sie über einen Tooltip einblenden (mit der Maus darüber hovern).
Anzeige der Wetter-Vorhersage
Das untere, mittige Panel zeigt die Wettervorhersage. Die dargestellten Informationen sind hier reduziert, um eine übersichtliche Darstellung zu erreichen. Theoretisch stehen für jeden Eintrag fast alle Informationen zur Verfügung, die es auch für das aktuelle Wetter gibt (außer Sonnenauf-/untergangszeiten).
Da die Vorhersage für die nächsten 48 h stündlich einen Datenpunkt enthält, gibt es 48 Panele, die Sie durchschalten können.
Über die Schaltflächen
und
können Sie das Sichtfenster auf die 48 Einträge um einen Eintrag nach links oder nach rechts verschieben. Mit den Schaltflächen
und
springen Sie schnell an den Start oder das Ende.
Systemvoraussetzungen und Einschränkungen
Programmiersystem | CODESYS Development System Version 3.5.18.0 oder höher |
Laufzeitsystem | CODESYS Control Win Version 3.5.18.0 |
Zusatzkomponenten | - |
Hinweis
DOWNLOAD Projekte