Мазмуну:

AirVisual Air Quality API тактасы: 5 кадам
AirVisual Air Quality API тактасы: 5 кадам

Video: AirVisual Air Quality API тактасы: 5 кадам

Video: AirVisual Air Quality API тактасы: 5 кадам
Video: Stream Air Quality with Air Visual API | GIT TECH'D 2024, Июль
Anonim
Image
Image

AirVisual (https://www.airvisual.com) - бул дүйнө жүзү боюнча абанын сапаты жөнүндө маалыматтарды берген вебсайт. Аларда API бар, биз аны абанын сапаты боюнча маалымат тактасына жөнөтүү үчүн колдонобуз. Биз бул API менен аба ырайынын тактасын кандай кылсак, ошого окшош болобуз.

Бул APIди колдонууну үйрөтүүчү жөнөкөй долбоор. Кел, баштайлы!

1 -кадам: Баштоо

AirVisual API
AirVisual API

Биз коддун көпчүлүгүн чогуу койгонбуз, бирок жолдо бир нече түзөтүүлөрдү киргизишиңиз керек болот. Биз кылган нерселерди кеңейтүү үчүн көптөгөн мүмкүнчүлүктөр бар.

Биз сиз үчүн даярдаган нерселердин бардыгын алуу үчүн, GitHubдан репозиторийди клондошуңуз керек болот. GitHub бул сыяктуу долбоорлорду сактоого, карап чыгууга жана башкарууга мүмкүндүк берген сонун кызмат. Сиз бул скриптти атайын түзмөктө иштеткиңиз келет. Сиз ноутбукту, Raspberry 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 учак

Кирүү баскычын баскандан кийин, биз азыр аба визуалдык каталогунда экенибизди көрөсүз. Келгиле, "ls" терип, биз орноткон файлдарды көрөлү. Сиз төмөнкүдөй бир нерсе көрүнүшүңүз керек:

ЛИЦЕНЗИЯ РЕДМИ.md airquality.py

Биз кодду түзөтүүдөн мурун башка нерселерге муктажбыз, андыктан кийинки кезекте Air Quality API карап көрөлү.

2 -кадам: AirVisual API

AirVisual API
AirVisual API
AirVisual API
AirVisual API

AirVisualде абанын сапаты (AQI) жана булгануу APIси бар, бул айына 10 000 API чалууларын бекер жүргүзүүгө мүмкүндүк берет. Сиз Коомдоштуктун катмарына катталсаңыз болот. Каттоодон өткөндөн кийин, Менин Эйриме жана 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": "ийгилик", "data": {"city": "Nashville", "state": "Tennessee", "country": "USA", "location": {"type": "Point", "coordinates": [-86.7386, 36.1767]}, "учурдагы": {"аба ырайы": {"ts": "2019-04-08T19: 00: 00.000Z", "_v": 0, "createdAt": "2019-04-08T19: 04: 18.662Z "," ху ": 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", "акиус": 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 орнотуу башталууда! Бул орнотуу үчүн бир нече мүнөт талап кылынышы мүмкүн, кофе алыңыз:) Бирок кайра келүүнү унутпаңыз, кийинчерээк суроолорум болот! Табылган easy_install: setuptools 1.1.6 Табылган пип: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip негизги версиясы: 1 pip minor version: 5 ISStreamer табылды, жаңыртылууда … Талап мурунтан эле жаңыртылган: ISStreamer /Library/Python/2.7/site-packages Тазалоо… Сиз автоматтык түрдө мисал скриптин алууну каалайсызбы? [y/N] Мисалды кайда сактагыңыз келет? [демейки:./is_example.py] Кайсы Баштапкы Колдонмону колдонуп жатканыңызды тандаңыз: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com 1 же 2 -тандоону киргизиңиз: iot.appка кириңиз.initialstate.com колдонуучунун аты: iot.app.initialstate.com сырсөзүн киргизиңиз:

Автоматтык түрдө скрипт үлгүсүн алуу суралганда, y деп териңиз. Бул биз баштапкы абалга маалымат агымын камсыз кылуу үчүн иштете турган тесттик сценарийди түзөт. Кийинки көрсөтмө мисал файлын кайда сактагыңыз келерин сурайт. Сиз ыңгайлаштырылган жергиликтүү жолду тере аласыз же демейки жайгашууну кабыл алуу үчүн enter бассаңыз болот. Акыр -аягы, сизден кайсы баштапкы абалды колдонуп жатканыңыз суралат. Эгер сиз жакында эле каттоо эсебин түзсөңүз, 2 -жолду тандап, колдонуучу атын жана сырсөздү киргизиңиз. Андан кийин орнотуу аягына чыгат.

Кирүү ачкычтары

Келгиле, түзүлгөн скрипт үлгүсүн карап көрөлү. $ nano is_example.py 15 -сапта стример = Streamer (bucket_… менен башталган сапты көрөсүз. Бул сызыктар "Python Stream Example" деп аталган жаңы маалымат чакасын түзөт жана сиздин каттоо эсебиңиз менен байланышкан. Бул ассоциация access_key = "…" параметри ошол эле сапта. Тамгалар менен сандардын узун сериясы - бул сиздин баштапкы абалга кирүү ачкычы. Эгер сиз веб -браузериңиздеги Баштапкы абалга эсебиңизге кирсеңиз, анда оң жактагы колдонуучу атыңызды чыкылдатыңыз, андан кийин "Менин жөндөөлөрүмө", сиз ошол эле кирүү ачкычын барактын ылдыйында "Агымдын кирүү ачкычтары" бөлүмүнөн таба аласыз. Ар бир маалымат агымын түзгөндө, бул кирүү ачкычы ошол маалымат агымын сиздин эсебиңизге багыттайт (андыктан ачкычыңызды башкалар менен бөлүшүңүз).

ExampleRun'ди иштетиңиз, биз сиздин баштапкы абалыңызга маалымат агымын түзө алабыз. Буйрук сабында төмөнкүлөрдү аткарыңыз:

$ python is_example.py

Мисал маалыматтар

Веб -браузериңиздеги баштапкы абалга кайтыңыз. "Python Stream Мисал" деп аталган жаңы маалымат чакасы текчеңиздин сол жагында көрүнүшү керек болчу (баракты жаңыртууңуз керек болушу мүмкүн). Маалыматты көрүү үчүн бул чаканы басыңыз.

Сиз азыр AirVisual APIден чыныгы маалыматтарды агылып баштоого даярсыз.

4 -кадам: Аба сапатынын тактасы

Аба сапатынын тактасы
Аба сапатынын тактасы
Аба сапатынын тактасы
Аба сапатынын тактасы
Аба сапатынын тактасы
Аба сапатынын тактасы
Аба сапатынын тактасы
Аба сапатынын тактасы

Эми кызыктуу бөлүгү үчүн. Биз AirVisual API колдонуп, абанын сапатын тактасын түзүп, абанын булганышы тууралуу маалыматты биз тандаган жерибизге тартып алууга даярбыз. Бул airquality.py скрипти сиздин API ачкычыңызды колдонуп AirVisual APIге чалып, абанын булганышы боюнча учурдагы маалыматты алат. Ал ошондой эле абанын сапатын көзөмөлдөө тактасын түзүүгө мүмкүндүк бере турган бул маалыматты сиздин баштапкы абалдагы эсебиңизге жөнөтөт.

Сиз скриптке биз мурда клондогон Github репозиторийи аркылуу кире аласыз. Биринчи нерсе, биз AirVisual каталогунда экенибизди текшеришибиз керек:

$ cd учак

Бул жерден сиз абанын сапатынын тактасын түзүү үчүн иштете турган python файлына кире аласыз. Биз аны иштетүүдөн мурун файлга кээ бир өзгөртүүлөрдү киргизишибиз керек. Python файлын ачуу үчүн, текст редакторун ачуу үчүн nano командасын колдонуңуз:

$ nano airquality.py

Текст редактору ачык болгондон кийин, скрипттин үстү жагында төмөнкүлөрдү көрөсүз:

# --------- Колдонуучунун жөндөөлөрү ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Жергиликтүү абанын сапаты" BUCKET_KEY = "aq1" ACCESS_KEY = "БАШКЫ МАМЛЕКЕТТИН АЧКЫЧЫ" MINUTUTES_BETWEEN --_5 ---- 5 -------------------------

Сиз кеңдикти, узундукту, AirVisual API ачкычын жана Баштапкы абалга кирүү ачкычын киргизишиңиз керек. 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 -кадам: Жалпы Аба ырайы тактасын жасаңыз

Жалпы аба ырайы тактасын жасаңыз
Жалпы аба ырайы тактасын жасаңыз

Абанын сапаты жөнүндөгү маалыматтар сиз үчүн жетишсизби? Тактаңызга дагы көптөгөн нерселерди кошуу же бул маалыматты аба ырайынын тактасына берүү үчүн көптөгөн мүмкүнчүлүктөр бар!

Аба ырайы жана абанын сапатын бирдиктүү тактага агыңыз

Эгер сиз буга чейин DarkSky API же Hyper-Local Weather Dashboard долбоорун ишке ашырган болсоңуз, анда бул аба сапатынын маалыматын учурдагы тактаңызга кошо аласыз. Бул абдан жөнөкөй, болгону аба ырайынын тактасында колдонулган нерселердин атына, чака ачкычына жана кирүү ачкычына ээ болуу үчүн абанын сапатынын сценарийиндеги параметрлерди өзгөртүү керек. Бул маалыматтарды ошол эле тактасына жөнөтүүгө мүмкүндүк берет. Эми сизде жалпы аба ырайы тактасы болот!

Аба ырайы Python файлыңыз аба сапатынын Python файлын иштетүү үчүн чалуу жасаңыз

Дагы бир вариант, эгер сиз эки башка программаны иштетүүнү каалабасаңыз, аба сапатынын питон файлын аба ырайы долбоорунун каталогуна коюу. Аба ырайы долбоору python файлын аба сапаты файлына чалып, аба ырайы файлыңыз иштеп турганда иштетет. Дагы, ошол эле чаканын аталышын, чака ачкычын жана кирүү ачкычын койгондугуңузду текшериңиз, алар ошол эле панельге өтөт.

Аба ырайы жана аба сапаты менен бирдиктүү файл түзүңүз

Эгерде сиз өзүңүздү чыныгы тайманбастык менен сезсеңиз, аба сапатынын кодунун бир бөлүгүн аба ырайыңыздын питон скриптине салып, иштетүү үчүн бир эле скриптке ээ боло аласыз. Бул башка эки вариантка караганда бир аз көбүрөөк коддоо аракетин талап кылат, бирок бул жөнөкөйлөтүлгөн программаны түзөт.

AirVisual APIден кошумча маалыматты агылтыңыз

Биз AirVisual APIге чалганда көргөндөй, ал абанын сапатынан да көбүрөөк маалыматка ээ. Ошондой эле температураны, нымдуулукту, шамалдын ылдамдыгын, шамалдын багытын жана атмосфералык басымды камсыздайт. Биз бул маалыматты абанын сапатынын индексинин маанисин жана негизги булгоочу заттарды кандай жөнөтсөк, ошондой эле баштапкы мамлекетке жөнөтө алабыз. Бул дагы бир нече билдирүүлөрдү жазууну талап кылат.

Сунушталууда: