Съдържание:

Табло за управление на API за качество на въздуха на AirVisual: 5 стъпки
Табло за управление на API за качество на въздуха на AirVisual: 5 стъпки

Видео: Табло за управление на API за качество на въздуха на AirVisual: 5 стъпки

Видео: Табло за управление на API за качество на въздуха на AirVisual: 5 стъпки
Видео: Friendzy: Laravel 8 API & Nuxt - Ep.#5 Middleware 2024, Юли
Anonim
Image
Image

AirVisual (https://www.airvisual.com) е уебсайт, който предоставя данни за качеството на въздуха по целия свят. Те имат API, който ще използваме, за да получим данни за качеството на въздуха, които да изпратим до таблото за управление. Ще взаимодействаме с този API, подобно на това, което направихме с таблото за прогноза за времето.

Това е прост проект, който ви учи как да използвате API. Да започваме!

Стъпка 1: Първи стъпки

AirVisual API
AirVisual API

Вече сме събрали по -голямата част от кода, но ще трябва да направите няколко корекции по пътя. Има и много възможности за разширяване на това, което сме направили.

За да извлечете всички неща, които сме ви подготвили, ще трябва да клонирате хранилището от GitHub. GitHub е страхотна услуга, която ни позволява да съхраняваме, преразглеждаме и управляваме проекти като този. Ще искате да стартирате този скрипт на специално устройство. Можете да използвате лаптоп, Raspberry Pi или друг едноплатен компютър. За да клонираме хранилището, всичко, което трябва да направим, е да отидем в терминала на компютъра или Pi и въведем тази команда:

$ git клонинг

Натиснете Enter и ще видите тази информация:

$ git clone https://github.com/InitialState/airvisual.git Клониране в 'airvisual' … дистанционно: Изброяване на обекти: 13, готово. дистанционно: Преброяване на обекти: 100% (13/13), направено. дистанционно: Компресиране на обекти: 100% (12/12), направено. дистанционно: Общо 13 (делта 2), повторно използвано 0 (делта 0), пакетирано повторно 0 Разопаковане на обекти: 100% (13/13), готово.

След като видите това, тогава поздравления, успешно сте клонирали GitHub Repo и имате всички необходими файлове за изграждане на този проект. Нека преминем в новата директория. За да промените директорията, всичко, което трябва да направите, е да въведете „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.

Щракнете върху бутона +Нов ключ, за да създадете първия ни ключ за достъп до 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 Initial State на вашия лаптоп или Raspberry Pi. В командния ред изпълнете следната команда:

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

Направете малко Automagic

След като изпълните командата curl, ще видите нещо подобно на следния изход на екрана:

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

Парола: Започване на лесна инсталация на ISStreamer Python! Това може да отнеме няколко минути за инсталиране, вземете кафе:) Но не забравяйте да се върнете, ще имам въпроси по -късно! Намерено easy_install: setuptools 1.1.6 Намерено пип: пип 1.5.6 от /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) основна версия на пип: 1 пип второстепенна версия: 5 ISStreamer е намерен, актуализира се … Изискването вече е актуално: ISStreamer в /Library/Python/2.7/site-packages Почистване … Искате ли автоматично да получите примерен скрипт? [y/N] Къде искате да запишете примера? [по подразбиране:./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“и е свързана с вашия акаунт. Това свързване се случва поради access_key =”…” параметър на същия ред. Тази дълга поредица от букви и цифри е вашият ключ за достъп до профила на първоначалното състояние. Ако отидете в профила си в първоначалното състояние в уеб браузъра си, кликнете върху потребителското си име в горния десен ъгъл, след което отидете в „моите настройки“, ще намерите същия ключ за достъп в долната част на страницата под „Ключове за достъп до поточно предаване“. Всеки път, когато създавате поток от данни, този ключ за достъп ще насочва този поток от данни към вашия акаунт (така че не споделете ключа си с когото и да било).

Стартирайте примера Изпълнете тестовия скрипт, за да се уверите, че можем да създадем поток от данни към вашия акаунт за първоначално състояние. Изпълнете следното в командния ред:

$ python is_example.py

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

Върнете се към първоначалния си акаунт в уеб браузъра си. Нова кофа с данни, наречена „Пример на Python Stream“, трябва да се появи вляво в рафта ви (може да се наложи да опресните страницата). Щракнете върху тази кофа, за да видите данните.

Вече сте готови да започнете поточно предаване на реални данни от AirVisual API.

Стъпка 4: Табло за управление на качеството на въздуха

Табло за качество на въздуха
Табло за качество на въздуха
Табло за качество на въздуха
Табло за качество на въздуха
Табло за качество на въздуха
Табло за качество на въздуха
Табло за качество на въздуха
Табло за качество на въздуха

Сега за забавната част. Готови сме да започнем да използваме AirVisual API за създаване на табло за качество на въздуха и улавяне на данните за замърсяването на въздуха, където и да изберем. Този скрипт airquality.py просто извиква AirVisual API, използвайки вашия API ключ и извлича текущата информация за замърсяването на въздуха. Той също така предава тези данни към вашия акаунт за първоначално състояние, което ще ви позволи да създадете табло за управление на качеството на въздуха.

Можете да получите достъп до скрипта чрез хранилището на Github, което клонирахме по -рано. Първото нещо, което трябва да направим, е да се уверим, че сме в директорията AirVisual:

$ cd airvisual

От тук ще имате достъп до файла python, който ще стартираме, за да създадем нашето табло за качество на въздуха. Трябва да направим някои промени във файла, преди да го стартираме. За да отворите файла python, използвайте командата nano, за да отворите текстовия редактор:

$ nano airquality.py

След като текстовият редактор е отворен, в горната част на скрипта ще видите следното:

# --------- Потребителски настройки ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Качество на местния въздух" BUCKET_KEY = "aq1" ACCESS_KEY = "INITIAL STATE ACCES KEY" MINUTES_BETWE -------------------------

ou трябва да въведете вашата ширина, дължина, ключ за API на AirVisual и ключ за достъп за първоначално състояние. Параметърът MINUTES_BETWEEN_READS ще зададе колко често вашият скрипт ще анкетира API на AirVisual за информация за качеството на въздуха. 5 минути достатъчно време, за да не преминете през 10 000 повиквания за API на месец. За краткосрочно тестване можете да зададете това на 0,5 минути. След като въведете вашите параметри, запишете и излезте от въведения текст, като въведете Control+X. Сега сте готови да стартирате скрипта си:

$ python airquality.py

Ако искате да оставите този скрипт да работи непрекъснато за дълго време, можете да използвате командата nohup (без затваряне), както следва:

$ nohup python airquality.py &

След като това стартира, отидете в Начално състояние, за да видите данните си. Таблото ви за управление трябва да изглежда нещо като снимката по -долу. Имате вашето GPS местоположение, стойността на индекса за качество на въздуха и основния си замърсител.

Моята препоръка е да промените стойността на AQI на плочка с габарити. Също така преместете плочките и преоразмерете, ако е необходимо. Ако използвате това за вградено табло за управление, можете да го преместите, за да се поберат според нуждите.

Ако решите да направите стойността на AQI за манометър, тогава можете да зададете прага на цвета да бъде подобен на диаграмата на индекса за качество на въздуха. Това ви дава незабавна актуализация за това къде стойността на AQI попада в диаграмата, когато проверявате таблото си за управление. Можете да добавите фоново изображение към таблото си за управление, за да му придадете повече контекст.

Така че имате всичко необходимо, за да създадете табло за качество на въздуха. Но какво, ако искате да добавите още или да добавите това към таблото за управление на времето, което вече сте създали? Ако случаят е такъв, продължете да четете!

Стъпка 5: Направете общо табло за управление на времето

Направете табло за общо време
Направете табло за общо време

Данните за качеството на въздуха просто не са ви достатъчни? Е, има много възможности да добавите още към таблото си за управление или да предавате тези данни в таблото за времето, което вече имате!

Предавайте времето и качеството на въздуха в едно табло за управление

Ако вече сте реализирали нашия проект DarkSky API или Hyper-Local Weather Dashboard, можете да добавите тези данни за качеството на въздуха към съществуващото си табло за управление. Това е доста просто, всичко, което трябва да направите, е да промените параметрите си в скрипта за качество на въздуха, за да имате същото име на кофата, ключа на кофата и ключа за достъп като това, което сте използвали за своето табло за времето. Това ще позволи данните да бъдат изпратени в същото табло за управление. Сега ще имате общо табло за управление на времето!

Накарайте вашия Python файл за времето да се обади, за да стартирате Python файла с качеството на въздуха

Друг вариант, ако не искате да стартирате две отделни програми, е да поставите python файла с качеството на въздуха в директорията на метеорологичния проект. Накарайте файла python на метеорологичния проект да се обади във файла за качество на въздуха, така че да се изпълнява, когато вашият файл с времето работи. Отново не забравяйте да поставите едно и също име на кофата, ключа на кофата и ключа за достъп, така че да се движат към едно и също табло за управление.

Създайте един файл с времето и качеството на въздуха

И ако се чувствате наистина смели, можете да поставите част от кода за качество на въздуха във вашия метеорологичен python скрипт и да имате само един скрипт за изпълнение. Това ще изисква малко повече усилия за кодиране от другите две опции, но прави опростена програма.

Предавайте допълнителна информация от API на AirVisual

Както видяхте, когато се обадихме на AirVisual API, той има повече информация, отколкото само качеството на въздуха. Той също така осигурява температура, влажност, скорост на вятъра, посока на вятъра и атмосферно налягане. Можем да изпратим тази информация до първоначалното състояние по същия начин, по който изпратихме стойността на индекса за качество на въздуха и основния замърсител. Изисква се само да напишете още няколко изявления if.

Препоръчано: