Skip to main content

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:

  1. Account erstellen.

    Erstellen Sie auf der Webseite von OpenWeather einen Account oder melden Sie sich an, wenn Sie sich bereits registriert haben.

  2. 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äche Generate neue Schlüssel erstellen.

  3. 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 Feld Status sollte jetzt der Hinweis Activated stehen.

    Nach diesem Schritt sollten Sie folgendes sehen können:

    _example_img_iiot_openwheather.png
  4. 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 Spalte Calls 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 Applikation GeoLocatorExamples), um die GeoLocation-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:

_example_img_iiot_openwheather_visu.png
. Die Oberfläche besteht aus vier Hauptteilen:
  1. Steuerungsleiste

    Auf der linken Seite befindet sich eine Steuerungsleiste, mit deren Schaltflächen Sie die Anwendung steuern.

    Mit der Schaltfläche _example_icon_iiot_openwheather_update_data.png 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 _example_icon_iiot_openwheather_load_dummy.png 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 _example_icon_iiot_openwheather_api_key.png können Sie das Fenster, in dem Sie Ihren API-Schlüssel eintragen, ein- und ausblenden.

  2. API-Schlüssel-Overlay

    Wenn Sie auf die Schaltfläche _example_icon_iiot_openwheather_api_key.png klicken, wird das API-Schlüsseleintragungsfenster geöffnet. Klicken Sie in das Textfeld, um Ihren Schlüssel eintragen oder ändern zu können.

  3. 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).

  4. 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 _example_icon_iiot_openwheather_arrow_left.png und _example_icon_iiot_openwheather_arrow_right.png können Sie das Sichtfenster auf die 48 Einträge um einen Eintrag nach links oder nach rechts verschieben. Mit den Schaltflächen _example_icon_iiot_openwheather_arrow2_left.png und _example_icon_iiot_openwheather_arrow2_right.png 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

_example_icon.png DOWNLOAD Projekte