Оглавление:

Панель управления AirVisual Air Quality API: 5 шагов
Панель управления AirVisual Air Quality API: 5 шагов

Видео: Панель управления AirVisual Air Quality API: 5 шагов

Видео: Панель управления AirVisual Air Quality API: 5 шагов
Видео: Uruguay le pays de la simplicité - Montevideo - Documentaire voyage - AMP 2024, Июль
Anonim
Image
Image

AirVisual (https://www.airvisual.com) - это веб-сайт, на котором представлены данные о качестве воздуха во всем мире. У них есть API, который мы будем использовать для получения данных о качестве воздуха для отправки на панель управления. Мы будем взаимодействовать с этим API так же, как с панелью управления погодой.

Это простой проект, который научит вас пользоваться API. Давайте начнем!

Шаг 1. Начало работы

AirVisual API
AirVisual API

Мы уже собрали большую часть кода, но вам нужно будет внести некоторые изменения по ходу дела. Есть много возможностей для расширения того, что мы сделали.

Чтобы получить все, что мы подготовили для вас, вам нужно клонировать репозиторий из GitHub. GitHub - отличный сервис, который позволяет нам хранить, редактировать и управлять такими проектами. Вы захотите запустить этот сценарий на выделенном устройстве. Вы можете использовать ноутбук, Raspberry Pi или другой одноплатный компьютер. Чтобы клонировать репозиторий, все, что нам нужно сделать, это войти в терминал нашего компьютера или Pi и ввести эту команду:

$ git clone

Нажмите Enter, и вы увидите эту информацию:

$ git clone https://github.com/InitialState/airvisual.git Клонирование в 'airvisual'… удаленный: перечисление объектов: 13, готово. удаленный: Подсчет объектов: 100% (13/13), готово. remote: Сжатие объектов: 100% (12/12), готово. удаленный: всего 13 (дельта 2), повторно используется 0 (дельта 0), повторно используется пакет 0 Распаковка объектов: 100% (13/13), выполнено.

Как только вы это увидите, поздравляю, вы успешно клонировали репозиторий GitHub и имеете все необходимые файлы для сборки этого проекта. Перейдем в новый каталог. Чтобы сменить каталог, все, что вам нужно сделать, это ввести «cd», а затем ввести имя каталога, в который вы хотите перейти. В этом случае мы набираем:

$ cd airvisual

Как только мы нажмем Enter, вы увидите, что теперь мы находимся в каталоге airvisual. Введите "ls", чтобы увидеть, какие файлы мы установили. Должно получиться примерно следующее:

ЛИЦЕНЗИЯ README.md airquality.py

Прежде чем мы сможем редактировать код, нам понадобятся некоторые другие элементы, поэтому давайте теперь рассмотрим API качества воздуха.

Шаг 2: AirVisual API

AirVisual API
AirVisual API
AirVisual API
AirVisual API

AirVisual имеет API-интерфейс качества воздуха (AQI) и загрязнения, который позволяет бесплатно совершать до 10 000 вызовов API в месяц. Вы можете зарегистрироваться на уровне сообщества. После регистрации вы можете перейти в My Air и на вкладку API. Здесь вы найдете свои ключи API и документацию по API.

Нажмите кнопку + New Key, чтобы создать наш первый ключ доступа к API. Для «Выбрать план» используйте раскрывающееся меню, чтобы выбрать «Сообщество», и нажмите «Создать». Если все пойдет хорошо, вы увидите сообщение об успешном выполнении и сможете вернуться на панель управления API, чтобы найти новую ключевую информацию. Значение ключа (числа и символы) - это то, что вам понадобится для этого проекта. Если вы внимательно изучите документацию по API, вы увидите, что вы можете выполнять несколько типов вызовов API. Для этого проекта мы хотим получить данные о ближайшем городе на основе координат GPS. Для этого вызова вам понадобятся ваши долгота, широта и ключ API. Введите эти параметры в вызов ниже, поместите их в адресную строку браузера и нажмите Enter.

api.airvisual.com/v2/nearest_city?lat={{LATITUDE}}&lon={{LONGITUDE}}&key={{YOUR_API_KEY}}

Это вернет данные о ближайшем городе на основе координат GPS. Это будет выглядеть примерно так:

Я рекомендую использовать форматировщик JSON, чтобы лучше просматривать данные. Если вы воспользуетесь этим, это будет выглядеть примерно так:

"status": "успех", "данные": {"город": "Нашвилл", "штат": "Теннесси", "страна": "США", "местоположение": {"тип": "Точка", "координаты": [- 86.7386, 36.1767]}, "current": {"weather": {"ts": "2019-04-08T19: 00: 00.000Z", "_v": 0, "createdAt": "2019-04-08T19: 04: 18.662Z »,« hu »: 88,« ic »:« 04d »,« pr »: 1012,« tp »: 18,« updatedAt »:« 2019-04-08T19: 46: 53.140Z »,« wd »: 90, «ws»: 3.1}, «загрязнение»: {«ts»: «2019-04-08T18: 00: 00.000Z», «aqius»: 10, «mainus»: «p2», «aqicn»: 3, "maincn": "p2"}

Теперь мы легко видим, что у нас есть информация о местоположении, погоде и загрязнении. Два значения, на которых мы фокусируемся в этом проекте, - это Индекс качества воздуха в США (aquis) и основной загрязнитель (mainus). Значение индекса качества воздуха говорит нам, каково значение местного качества воздуха и как оно влияет на ваше здоровье. Таблица с цветовым кодированием приведена ниже. Основной загрязнитель сообщает нам, какое загрязняющее вещество в воздухе является основным для вашего района (твердые частицы, оксид азота, озон, оксид углерода, оксид серы). Эти загрязнители обычно являются побочными продуктами дымовых труб или выбросов транспортных средств.

Теперь, когда мы знаем, как использовать Air Visual API, следующее, что нам понадобится, это платформа панели инструментов для отображения данных.

Шаг 3: исходное состояние

Начальное состояние
Начальное состояние
Начальное состояние
Начальное состояние

Мы хотим передавать все наши данные о погоде в облачный сервис, и этот сервис превращает наши данные в красивую панель управления. Нашим данным нужен пункт назначения, поэтому в качестве пункта назначения мы будем использовать начальное состояние.

Зарегистрируйтесь для учетной записи с начальным состоянием

Перейдите на https://iot.app.initialstate.com и создайте новую учетную запись.

Установите ISStreamer

Установите модуль Python начального состояния на свой ноутбук или Raspberry Pi. В командной строке выполните следующую команду:

$ / curl -sSL https://iot.app.initialstate.com -o - | sudo bash

Сделайте немного автомагии

После того, как вы запустите команду curl, вы увидите что-то похожее на следующий вывод на экран:

$ / curl -sSL https://iot.app.initialstate.com -o - | sudo bash

Пароль: Начало простой установки ISStreamer Python! Установка может занять пару минут, выпейте кофе:) Но не забудьте вернуться, у меня будут вопросы позже! Найдено easy_install: setuptools 1.1.6 Найдено pip: pip 1.5.6 из /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer обнаружен, обновление… Требование уже актуально: ISStreamer в /Library/Python/2.7/site-packages Очистка… Хотите автоматически получить пример сценария? [да / нет] Где вы хотите сохранить пример? [по умолчанию:./is_example.py] Выберите, какое приложение начального состояния вы используете: 1. app.initialstate.com 2. [НОВИНКА!] iot.app.initialstate.com Введите вариант 1 или 2: введите iot.app Имя пользователя.initialstate.com: Введите пароль iot.app.initialstate.com:

Когда будет предложено автоматически получить пример сценария, введите y. Это создаст тестовый сценарий, который мы можем запустить, чтобы убедиться, что мы можем передавать данные в исходное состояние. Следующее приглашение спросит, где вы хотите сохранить файл примера. Вы можете ввести собственный локальный путь или нажать Enter, чтобы принять расположение по умолчанию. Наконец, вас спросят, какое приложение начального состояния вы используете. Если вы недавно создали учетную запись, выберите вариант 2, затем введите имя пользователя и пароль. После этого установка будет завершена.

Ключи доступа

Давайте посмотрим на созданный пример скрипта. $ nano is_example.py В строке 15 вы увидите строку, которая начинается с streamer = Streamer (bucket_…. Эти строки создают новую корзину данных с именем «Python Stream Example» и связываются с вашей учетной записью. Эта связь происходит из-за access_key =”…” в той же строке. Эта длинная серия букв и цифр является ключом доступа к вашей учетной записи в исходном состоянии. Если вы перейдете в свою учетную запись в исходном состоянии в веб-браузере, щелкните свое имя пользователя в правом верхнем углу, затем перейдите в «мои настройки» вы найдете тот же ключ доступа внизу страницы в разделе «Ключи доступа к потоку». Каждый раз, когда вы создаете поток данных, этот ключ доступа будет направлять этот поток данных в вашу учетную запись (так что не поделитесь своим ключом с кем угодно).

Запустите пример Запустите тестовый скрипт, чтобы убедиться, что мы можем создать поток данных для вашей учетной записи начального состояния. Выполните в командной строке следующее:

$ python is_example.py

Пример данных

Вернитесь к своей учетной записи в исходном состоянии в веб-браузере. Новое ведро данных под названием «Пример потока Python» должно появиться слева на полке вашего ведра (возможно, вам придется обновить страницу). Щелкните эту корзину, чтобы просмотреть данные.

Теперь вы готовы начать потоковую передачу реальных данных из AirVisual API.

Шаг 4. Панель мониторинга качества воздуха

Панель управления качеством воздуха
Панель управления качеством воздуха
Панель управления качеством воздуха
Панель управления качеством воздуха
Панель управления качеством воздуха
Панель управления качеством воздуха
Панель управления качеством воздуха
Панель управления качеством воздуха

Теперь самое интересное. Мы готовы начать использовать AirVisual API для создания панели мониторинга качества воздуха и сбора данных о загрязнении воздуха, где бы мы ни выбрали. Этот скрипт airquality.py просто вызывает API AirVisual с помощью вашего ключа API и извлекает текущую информацию о загрязнении воздуха. Он также передает эти данные в вашу учетную запись начального состояния, что позволит вам создать панель мониторинга качества воздуха.

Вы можете получить доступ к скрипту через репозиторий Github, который мы клонировали ранее. Первое, что нам нужно сделать, это убедиться, что мы находимся в каталоге AirVisual:

$ cd airvisual

Отсюда вы сможете получить доступ к файлу python, который мы запустим для создания панели мониторинга качества воздуха. Нам нужно внести некоторые изменения в файл перед его запуском. Чтобы открыть файл python, используйте команду nano, чтобы открыть текстовый редактор:

$ nano airquality.py

После открытия текстового редактора в верхней части скрипта вы увидите следующее:

# --------- Пользовательские настройки ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Local Air Quality" BUCKET_KEY = "aq1" ACCESS_KEY = "INITIAL State ACCES KEY" MINUTES_BADWE -------------------------

Вам необходимо ввести широту, долготу, ключ API AirVisual и ключ доступа к исходному состоянию. Параметр MINUTES_BETWEEN_READS устанавливает, как часто ваш сценарий будет опрашивать AirVisual API для получения информации о качестве воздуха. 5 минут достаточно, чтобы вы не превысили лимит в 10 000 вызовов API в месяц. Для краткосрочного тестирования вы можете установить это значение на 0,5 минуты. После ввода параметров сохраните и выйдите из ввода текста, набрав Control + X. Теперь вы готовы запустить свой скрипт:

$ python airquality.py

Если вы хотите, чтобы этот сценарий работал без прерывания в течение длительного времени, вы можете использовать команду nohup (без зависания) следующим образом:

$ nohup python airquality.py &

Как только это будет запущено, перейдите в исходное состояние, чтобы просмотреть свои данные. Ваша панель управления должна выглядеть примерно так, как на картинке ниже. У вас есть ваше местоположение по GPS, значение индекса качества воздуха и ваш основной загрязнитель.

Моя рекомендация - изменить значение AQI на калибровочную плитку. Кроме того, переместите плитки и измените размер по мере необходимости. Если вы используете это для встроенной панели инструментов, вы можете перемещать их по размеру по мере необходимости.

Если вы решите использовать значение AQI в качестве измерителя, вы можете установить пороговое значение цвета, аналогичное диаграмме индекса качества воздуха. Это дает вам мгновенную информацию о том, где находится значение AQI на диаграмме, когда вы проверяете свою панель управления. Вы можете добавить фоновое изображение на свою панель инструментов, чтобы придать ей больше контекста.

Итак, у вас есть все необходимое для создания панели мониторинга качества воздуха. Но что, если вы хотите добавить что-то еще или добавить это на уже созданную вами панель управления погодой? Если это так, продолжайте читать!

Шаг 5. Создайте сводную сводку погоды

Сделайте приборную панель Total Weather Dashboard
Сделайте приборную панель Total Weather Dashboard

Вам недостаточно данных о качестве воздуха? Что ж, есть много вариантов, чтобы добавить что-то на свою панель инструментов или передать эти данные на панель управления погодой, которая у вас уже есть!

Транслируйте информацию о погоде и качестве воздуха в единую панель управления

Если вы уже реализовали наш проект DarkSky API или Hyper-Local Weather Dashboard, вы можете добавить эти данные о качестве воздуха в существующую панель. Это довольно просто, все, что вам нужно сделать, это изменить ваши параметры в скрипте качества воздуха, чтобы они имели то же имя сегмента, ключ контейнера и ключ доступа, что и те, которые вы использовали для своей панели мониторинга погоды. Это позволит отправлять данные в ту же панель управления. Теперь у вас будет полная панель управления погодой!

Сделайте так, чтобы ваш файл Python погоды сделал вызов, чтобы запустить файл Python качества воздуха

Другой вариант, если вы не хотите запускать две отдельные программы, - это поместить файл python для проверки качества воздуха в каталог проекта погоды. Попросите файл Python проекта погоды вызывать файл качества воздуха, чтобы он запускался при запуске файла погоды. Опять же, убедитесь, что вы указали одно и то же имя сегмента, ключ сегмента и ключ доступа, чтобы они работали на одной панели инструментов.

Создайте единый файл с данными о погоде и качестве воздуха

И если вы чувствуете себя очень смелым, вы можете поместить часть кода качества воздуха в свой скрипт погодного Python и просто запустить один скрипт. Это потребует немного больше усилий по кодированию, чем два других варианта, но это упрощенная программа.

Потоковая передача дополнительной информации из AirVisual API

Как вы видели, когда мы обращались к API AirVisual, он содержит больше информации, чем просто качество воздуха. Он также обеспечивает температуру, влажность, скорость ветра, направление ветра и атмосферное давление. Мы можем отправить эту информацию в начальное состояние так же, как мы отправили значение индекса качества воздуха и основного загрязнителя. Вам нужно всего лишь написать еще несколько операторов if.

Рекомендуемые: