Погода с сервиса weatherstack.com

<< Click to Display Table of Contents >>

Навигация  Примеры > HTTP запросы >

Погода с сервиса weatherstack.com

Previous pageReturn to chapter overviewNext page

weatherstack.com имеет удобный API для чтения данных о погоде. После регистрации на сайте Вы получите уникальный ключ доступа (API Access Key), который необходимо использовать в запросах GET для получения данных о погоде. В документации weatherstack можно посмотреть примеры запросов и на их основании составить запрос, например, для Берлина он должен быть таким:

 

http://api.weatherstack.com/current?access_key=API_ACCESS_KEY&query=Berlin

 

Вместо API_ACCESS_KEY нужно вставить ключ доступа, полученный при регистрации. Обратите внимание, если Вам нужно передать параметр, содержащий пробел, например «Нью-Йорк», тогда пробел необходимо заменить на «% 20», то есть «New% 20York». Вы можете проверить правильность запроса, вставив его в адресную строку браузера:

 

weatherstack

 

Браузер отобразил ответ с правильными данными, что означает, что запрос был составлен правильно. Как видите, ответ отправляется в формате JSON, позже мы извлечем из него нужные нам свойства.

Теперь мы можем приступить к решению задачи в TeslaSCADA2.

1. Сначала создадим интерфейс в проекте. Температура, давление, ветер, влажность и местное время будут отображаться при помощи объектов Текст/ПолеВвода. В поле CityName мы активируем свойство Ввод текста, чтобы иметь возможность изменить название города. На изображении ниже показан созданный интерфейс и имена, которые мы дали компонентам:

 

interfaceweather

 

2. Создадим теги для каждого текстового объекта и привяжем их:

 

weathertags

 

3. Теперь создадим скрипт на языке  ST, который будет выполняться, когда вы нажимаете на экран.:

 

weatherscript

 

Напишем скрипт:

 

stweather

 

Измените API_ACCESS_KEY на свой ключ, полученный с сайта.

После того как записали скрипт обязательно запустим его путем нажатия кнопки на панели инструментов: clip0048

 

4. Запустим имитацию, чтобы проверить настройки:

 

weatherhttp1

 

Вы можете скачать проект из примера здесь.