Skip to main content

示例:使用 OpenWeather Client SL 图书馆

产品: CODESYS 工业物联网库 SL

这个 OpenWeather Client SL Example.project 示例项目展示了如何使用 OpenWeather Client SL 用于通过 OpenWeather API 查询天气数据的库。

准备

为了从外部查询数据 OpenWeather API,您需要输入有效的 API 密钥。必须为该密钥激活 “One Call API 3.0” 服务。如果您已经生成了密钥,则无需执行任何进一步的准备步骤。

如果您还没有密钥并想要创建新密钥,或者不确定是否已为密钥激活所需的服务,请按以下步骤操作:

  1. 创建一个账户。

    在... 上创建一个账户 开放天气网站 或者如果您已经注册,请登录。

  2. 生成密钥。

    登录后,导航到 API keys 菜单项。在这里,您可以查看所有活跃的 API 密钥并使用创建新密钥 Generate 按钮。

  3. 激活 “One Call API 3.0” 服务。

    此服务是库正常运行所必需的。导航到 Billing Plans 菜单项并搜索 “One Call API 3.0” 服务。

    如果您尚未订阅此服务,则可以通过单击 Subscribe 按钮。 Status 字段应该是 Activated

    完成此步骤后,您应该能够看到以下内容:

    _example_img_iiot_openwheather.png
  4. 可选:设置通话限制。

    如果您只想使用每日免费配额,则可以设置上限以确保拨打的电话不超过1000个。

    为此,请导航到 Billing Plans 菜单项,以便您可以看到上面显示的视图。 Calls per day 列中,您可以定义每天允许的最大呼叫次数。

    完成了

    准备好您的 API 密钥以运行示例应用程序。

描述

示例中有关位置信息的一般说明

  • 在示例中,位置数据 (GeoLocation) 是在应用程序相应主程序的声明区域中静态定义的(此处: CFC_PRG)。

  • 您可以更改此对象的值来查询其他位置的天气数据。

    注意

    只有格式为 “十进制” (DD) 的 GPS 坐标(由经度和纬度定义)才会真正影响请求数据的位置。其他信息,例如城市名称,无效。

  • 您可以通过地图服务获取位置的坐标,并在必要时手动输入其余信息。或者,你也可以使用 GeoLocator 功能块(参见 GeoLocatorExamples应用程序)以正确填写 GeoLocation 结构。

应用程序: CurrentWeatherExample

在此应用程序中,从 OpenWeather API 请求指定位置的当前天气数据。 sApiKey 字段中,输入您的 API 密钥并设置 xLoadWeatherData 标记为 TRUE 以便获取数据。数据已加载到 currentWeatherData 结构。您可以在监控区域中查看结构的内容。

应用程序: WeatherForecastExample

在此应用程序中,请求向指定位置提供未来 48 小时的每小时天气预报 OpenWeather APIsApiKey 字段中,输入您的 API 密钥并设置 xLoadWeatherData 标记为 TRUE 以便获取数据。数据已加载到 weatherForecast 结构。您可以在监控区域中查看结构的内容。

应用程序: CurrentWeatherAndForecastExample

在此应用程序中,请求指定位置的当前天气和未来 48 小时的每小时天气预报 OpenWeather APIsApiKey 字段中,输入您的 API 密钥并设置 xLoadWeatherData 标记为 TRUE 以便获取数据。数据已加载到 currentWeatherDataweatherForecast 结构。您可以在监控区域中查看结构的内容。

重要

这个 CurrentWeatherAndForecastExample 功能块可能给人的印象是它只是在执行 CurrentWeatherForecastWeather 一个接一个的功能块。事实并非如此。这个 CurrentWeatherAndForecastExample 函数块只需一次 API 调用即可查询当前天气数据和预测天气数据。因此,当需要两种类型的数据时,应始终使用它。

应用程序: GeoLocatorExamples

在此应用程序中,要求提供位置描述(但最重要的是位置的坐标) OpenWeather Geocoding API。

sApiKey 字段中,输入您的 API 密钥并设置 xLoad[...] 标记为 TRUE 以便获取数据。数据已加载到 location 结构。您可以在监控区域中查看结构的内容。

应用程序: VisuExample

该应用程序通过可视化界面显示当前天气的查询和未来 48 小时的天气预报。

可视化是快速概览可用信息的好方法。

用户界面

启动应用程序时,将打开以下可视化窗口:

_example_img_iiot_openwheather_visu.png
. 该界面由四个主要部分组成:
  1. 控制栏

    您可以使用左侧的控制栏来控制应用程序。

    点击 _example_icon_iiot_openwheather_update_data.png 按钮来获取和显示来自 API 服务器的真实数据。请注意,您需要为此设置 API 密钥。如果单击此按钮无效,请检查您输入的 API 密钥。

    点击 _example_icon_iiot_openwheather_load_dummy.png 按钮加载不需要 API 调用的虚拟数据。然后从包含先前的 API 响应的 JSON 文件中加载这些数据。

    点击 _example_icon_iiot_openwheather_api_key.png 按钮以显示和隐藏您输入 API 密钥的窗口。

  2. API 密钥叠加层

    点击 _example_icon_iiot_openwheather_api_key.png 按钮将打开输入 API 密钥的窗口。在文本字段中单击以输入或更改您的密钥。

  3. 显示当前天气

    顶部中间的面板显示当前的天气数据。将显示所有可用信息。您可以使用工具提示(用鼠标指针将鼠标悬停在其上方)来显示界面上没有标签的值的描述

  4. 显示天气预报

    底部中央面板显示天气预报。为了获得清晰的显示效果,减少了此处显示的信息。从理论上讲,每个条目几乎都有所有信息,也可用于当前天气(日出/日落时间除外)

    由于未来 48 小时的预测包含每小时一个数据点,因此有 48 个面板可供切换。

    使用 _example_icon_iiot_openwheather_arrow_left.png_example_icon_iiot_openwheather_arrow_right.png 按钮可将 48 个条目的视图向左或向右移动一个条目。 _example_icon_iiot_openwheather_arrow2_left.png_example_icon_iiot_openwheather_arrow2_right.png 按钮可快速跳到起点或结尾。

系统要求和限制

编程系统

CODESYS Development System (版本 3.5.18.0 或更高版本)

运行时系统

CODESYS Control Win (版本 3.5.18.0)

附加组件

-

注意

_example_icon.png 下載 项目