Zapytaj i zapisz dane pogodowe z OpenWeather za pomocą wtyczki REST

Firma OpenWeather udostępnia dane pogodowe i prognozy na swojej stronie internetowej OpenWeatherMap https://openweathermap.org w celu pobrania. Dane można zintegrować z własnymi aplikacjami. Pobieranie jest możliwe za pośrednictwem oferowanego interfejsu API za pośrednictwem interfejsu REST, dzięki czemu integracja może być zautomatyzowana. Oprócz szczegółowych prognoz długoterminowych, które są płatne, bieżące dane pogodowe i prognozy krótkoterminowe można wywołać bezpłatnie.

REST Open Weather z OPC Routerem

REST Open Weather z OPC Routerem

Na przykładzie OpenWeatherMap pokazujemy użycie wtyczki OPC Router REST do wywoływania interfejsów API REST i pokazujemy, jak

    • pobrać dane pogodowe z OpenWeatherMap
    • Przetwarzane są dane pogodowe JSON
    • Dane można przechowywać w bazie danych SQL za pomocą wtyczki SQL Server 
    • Dane pogodowe można przesyłać telegramem za pomocą wtyczki Telegra

Interfejs API pogody, interfejs REST do danych pogodowych

Interfejs REST to interfejs danych oparty na technologiach internetowych. Dane można pobrać z interfejsu API REST za pośrednictwem protokołu https. Technicznie rzecz biorąc, strona internetowa jest wywoływana za pomocą adresu URL, tak jak w przeglądarce. Parametry są przekazywane do wywołania strony internetowej, które są dołączane do adresu URL jako pola parametrów. Znaczenie parametrów jest zdefiniowane w odpowiedniej dokumentacji interfejsu API REST. Dokumentacja interfejsu API pogody OpenWeather jest dostępna online pod adresem https://openweathermap.org/api. Dla każdej formy pobierania danych (bieżąca pogoda, prognoza dzienna / 5 dni / 16 dni / 30 dni itp.) istnieje oddzielny punkt końcowy interfejsu API REST (adres URL wywołania).

Parametr „q” zawiera kod miasta i kraju. Punktem końcowym interfejsu API REST jest „weather”. Parametry są dołączane do punktu końcowego za pomocą „?” i łączone łańcuchem „&”. Każdy parametr jest deklarowany z nazwą i wartością, rozdzielonymi znakiem „=”.
Parametr „appid” jest używany przez Weather API jako uwierzytelnienie w celu identyfikacji klienta pobierającego. W przypadku własnej konfiguracji testowej należy poprosić o własny App-ID, aby pobrać dane. App-ID lub API KEY można uzyskać, rejestrując się na następującej stronie https://home.openweathermap.org/users/sign_up. API KEY można następnie wyświetlić w obszarze użytkownika w sekcji „API keys”.
Opis pobierania bieżącej pogody dla dowolnej lokalizacji jest udokumentowany tutaj: https://openweathermap.org/current

 

Podłączenie interfejsu REST w OPC Routerze

Aby wywołać punkt końcowy REST za pomocą OPC Routera, pierwszym krokiem jest wprowadzenie wtyczki REST do HOST. W tym celu tworzony jest następujący wpis:

Podłączenie interfejsu REST w OPC Routerze
Podłączenie interfejsu REST w OPC Routerze

Teraz, gdy znany jest host dla wywołania, obiekt transferu REST może być użyty w połączeniu OPC Routera, który używa utworzonego hosta. Następnie wybierany jest odpowiedni punkt końcowy w obiekcie transferu i określane są parametry. Do pobrania bieżącej pogody używany jest punkt końcowy „pogoda”, a w tym przypadku lokalizacja jest określana przez identyfikator lokalizacji (tutaj Schenefeld z identyfikatorem = 2839763).

Aby znaleźć identyfikator swojej lokalizacji, po prostu wyszukaj swoje miasto na stronie głównej (https://openweathermap.org). Na stronie prognozy dla swojego miasta identyfikator można znaleźć w adresie URL: https://openweathermap.org/city/2839763
GET jest tutaj używany jako metoda REST, a parametry są przekazywane jako „QueryString”. Dokumentację dotyczącą pobierania bieżącej pogody według identyfikatora można znaleźć tutaj: https://openweathermap.org/current#cityid

Pobieranie danych pogodowych przez REST jako dokument JSON

Wywołanie REST API zwraca dokument JSON z danymi pogodowymi. Ten dokument JSON można przenieść do obiektu transferu JSON w połączeniu OPC Router:

Pobieranie danych pogodowych przez REST jako dokument JSON
Pobieranie danych pogodowych przez REST jako dokument JSON

Po wykonaniu połączenia dostępne są informacje o strukturze JSON. Dlatego w połączeniu umieszczono już 30-sekundowy wyzwalacz, a połączenie zostało opublikowane, aby można je było wykonać.
Po wykonaniu połączenia można użyć funkcji „Sugestie” w konfiguracji obiektu transferu JSON, aby określić dostępne pola z dokumentu JSON i udostępnić je do wyboru. Przycisków strzałek można użyć do wybrania pól do użycia w połączeniu.

W tym przykładzie wybrane są podstawowe informacje o bieżącej pogodzie z dokumentu JSON (temperatura, ciśnienie powietrza, wilgotność, minimalna/maksymalna dzienna temperatura, prędkość i kierunek wiatru). Po wybraniu pól danych obiekt transferu jest odpowiednio wyświetlany.

Pobieranie danych pogodowych przez REST jako dokument JSON

Pobieranie danych pogodowych przez REST jako dokument JSON

Pobieranie danych pogodowych przez REST jako dokument JSON

Pobrane dane pogodowe można teraz dalej przetwarzać zgodnie z życzeniem. W tym przykładzie dane zostaną zapisane w bazie danych i wysłane do usługi komunikacyjnej. Wtyczka SQL Server OPC Routera może zostać użyta do zapisania danych w bazie danych MS SQL. W konfiguracji wtyczki określone są zwykłe parametry połączenia bazy danych SQL, a następnie tabele i procedury składowane są dostępne w wyborze obiektu transferu. Przykład pokazuje bazę danych „Weather” z tabelą „TBL_WEATHER_CURRENT” jako miejscem przechowywania bieżących danych pogodowych. Tabela jest wybrana, a kolumny, które mają zostać użyte, są oznaczone.

W rezultacie obiekt transferu SQL Server jest gotowy i połączony z polami dokumentu JSON. Jeśli wyzwalacz połączenia zostanie teraz wyzwolony, połączenie zapisze dane pogodowe w tabeli SQL Server. Wyzwalacz jest teraz ustawiony na poranny transfer o 6:15 rano.
Z tabeli dane są teraz dostępne dla innych aplikacji.

Pobieranie danych pogodowych przez REST jako dokument JSON

Pobieranie danych pogodowych przez REST jako dokument JSON

Pobieranie danych pogodowych przez REST jako dokument JSON

Wtyczka Telegram może być używana do dystrybucji danych pogodowych nie tylko za pośrednictwem SQL, ale również na przykład bezpośrednio za pośrednictwem wiadomości push do urządzenia mobilnego (np. telefonu komórkowego). Za pomocą wtyczki Telegram podłączane są tak zwane boty Telegram. Z jednej strony bot może być używany do wysyłania aktywnych poleceń od użytkownika mobilnego do OPC Routera, z drugiej strony OPC Router może również wysyłać aktywne wiadomości do zarejestrowanych użytkowników.
W naszym przykładzie wygenerowaliśmy bota telegramu, który jest używany do dystrybucji informacji pogodowych. Bot jest generowany za pośrednictwem aplikacji Telegram:

Aby wysłać wiadomość z danymi do zalogowanego użytkownika, obiekt transferu telegramu jest teraz rysowany w połączeniu. Obiekt transferu wysyła przekazany mu tekst do wszystkich użytkowników. Aby tekst był łatwy do odczytania dla użytkowników, obiekt transferu „Text Replace” jest wstawiany poprzez wstawienie wartości z dokumentu JSON do tekstu. Do konwersji z Kelvinów na stopnie Celsjusza używany jest obiekt transferu kalkulatora.

Pobieranie danych pogodowych przez REST jako dokument JSON

Efekt końcowy: od OpenWeather do SQL Server i Telegram

Efekt końcowy: od OpenWeather do SQL Server i Telegram

W rezultacie zbiór danych zostaje zapisany w bazie danych SQL w określonym momencie wyzwalania (możliwe jest również cykliczne lub kilkukrotne) i wysłana zostaje wiadomość telegramu.W naszym przykładzie wygenerowaliśmy bota telegramu, który jest używany do dystrybucji informacji pogodowych. Bot jest generowany za pośrednictwem aplikacji Telegram:

Oprócz wtyczki SQL Server i wtyczki Telegram dostępnych jest wiele innych wtyczek, dzięki którym dane pogodowe można przesyłać do różnych systemów w celu dostarczania informacji lub optymalizacji procesów w zależności od pogody.

Efekt końcowy: od OpenWeather do SQL Server i Telegram

Test OPC Routera

Wypróbuj sam i pobierz już dziś wersję próbną OPC Routera tutaj:

Nie znalazłeś jeszcze odpowiednich informacji?

Tutaj znajdziesz więcej informacji o naszym oprogramowaniu, a także przegląd wszystkich dostępnych wtyczek OPC Router. Udostępniamy również bezpłatne demo, dzięki któremu możesz przetestować w pełni funkcjonalną wersję OPC Router.

Tel. +48 32 235 45 60     E-mail: info@inee.pl

© Wszystkie prawa zastrzeżone INEE Sp. z o.o. 2024 - 2025