Բովանդակություն:

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 կամ այլ մեկ տախտակի համակարգիչ: Պահեստը կլոնավորելու համար մեզ անհրաժեշտ է միայն մտնել մեր համակարգչի կամ Pi- ի տերմինալ և մուտքագրել այս հրամանը.

$ git կլոն

Կտտացրեք enter և կտեսնեք այս տեղեկատվությունը.

$ git clone https://github.com/InitialState/airvisual.git Կլոնավորում «օդադիտական»… հեռակառավարման առարկա. Թվարկելով օբյեկտները ՝ 13, ավարտված: հեռավոր ՝ օբյեկտների հաշվարկ ՝ 100% (13/13), կատարված: հեռավոր. Սեղմող օբյեկտները `100% (12/12), կատարված: հեռավոր ՝ Ընդամենը 13 (դելտա 2), նորից օգտագործված 0 (դելտա 0), փաթեթավորված ՝ կրկին օգտագործված 0 Ապակե փաթեթավորում ՝ 100% (13/13), ավարտված:

Երբ տեսնեք սա, ապա շնորհավորանքներ, դուք հաջողությամբ կլոնավորեցիք GitHub Repo- ն և ունեք բոլոր անհրաժեշտ ֆայլերը այս նախագիծը կառուցելու համար: Եկեք անցնենք նոր գրացուցակին: Գրացուցակները փոխելու համար անհրաժեշտ է միայն մուտքագրել «cd» և այնուհետև մուտքագրել այն գրացուցակի անունը, որին ցանկանում եք գնալ: Այս դեպքում մենք մուտքագրում ենք.

$ cd airvisual

Երբ սեղմում ենք enter- ը, կտեսնեք, որ մենք այժմ գտնվում ենք օդադիտողական գրացուցակում: Եկեք մուտքագրենք «ls» ՝ տեսնելու, թե ինչ ֆայլեր ենք տեղադրել: Դուք պետք է թվաք հետևյալ կերպ.

ԼԻENԵՆԻԱՅԻ ԿԱՌԱՎԱՐՈ.mՄ. Md airquality.py

Մեզ պետք են այլ տարրեր, նախքան ծածկագիրը խմբագրելը, այնպես որ եկեք հաջորդը նայենք Օդի որակի API- ին:

Քայլ 2: AirVisual API

AirVisual API
AirVisual API
AirVisual API
AirVisual API

AirVisual- ն ունի օդի որակի (AQI) և աղտոտման API, որը թույլ է տալիս ամսական մինչև 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 ձևաչափիչ ՝ տվյալների ավելի լավ պատկերացում կազմելու համար: Եթե օգտագործեք այն, ապա դրա փոխարեն մի փոքր նման կլինի.

"կարգավիճակ": "հաջողություն", «տվյալներ»: {«քաղաք» ՝ «Նեշվիլ», «նահանգ» ՝ «Թենեսի», «երկիր» ՝ «ԱՄՆ», «վայր» ՝ {«տեսակ» ՝ «կետ», «կոորդինատներ» ՝ [-86.7386, 36.1767]}, "ընթացիկ": {"եղանակ": {"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- ը

Տեղադրեք Initial State 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 հիմնական տարբերակ. 5 ISStreamer- ը գտնվել է, թարմացվում է … Պահանջն արդեն արդիական է. ISStreamer- ը /Library/Python/2.7/site-packages- ում Մաքրում … youանկանու՞մ եք ավտոմատ կերպով ստանալ օրինակ սցենար: [y/N] Որտե՞ղ եք ցանկանում պահպանել օրինակը: [կանխադրված..initialstate.com օգտվողի անունը. Մուտքագրեք iot.app.initialstate.com գաղտնաբառը:

Երբ հուշում է ավտոմատ կերպով ստանալ օրինակ սցենար, մուտքագրեք y: Սա կստեղծի թեստային սցենար, որը մենք կարող ենք գործարկել `ապահովելու համար, որ մենք կարող ենք տվյալներ փոխանցել Նախնական վիճակ: Հաջորդ հուշումը կհարցնի, թե որտեղ եք ցանկանում պահպանել օրինակելի ֆայլը: Դուք կարող եք կամ մուտքագրել հատուկ տեղական ուղի կամ սեղմել enter ՝ կանխադրված վայրը ընդունելու համար: Վերջապես, ձեզ կհարցնեն, թե որ սկզբնական վիճակի ծրագիրն եք օգտագործում: Եթե վերջերս հաշիվ եք ստեղծել, ընտրեք տարբերակ 2, այնուհետև մուտքագրեք օգտվողի անունը և գաղտնաբառը: Դրանից հետո տեղադրումը կավարտվի:

Մուտքի բանալիներ

Եկեք նայենք ստեղծված սցենարի օրինակին: $ nano is_example.py 15 -րդ տողում կտեսնեք մի գիծ, որը սկսվում է streamer = Streamer (bucket_… access_key =”…” պարամետրը նույն տողում: Տառերի և թվերի այդ երկար շարանը ձեր սկզբնական վիճակի հաշվի մուտքի բանալին է: Եթե ձեր վեբ դիտարկիչում գնում եք ձեր սկզբնական վիճակի հաշիվ, ապա վերևի աջ կողմում կտտացրեք ձեր օգտվողի անունին: «Իմ կարգավորումները», դուք կգտնեք նույն մուտքի բանալին «Streaming Access Keys» էջի ներքևում: Ամեն անգամ, երբ ստեղծում եք տվյալների հոսք, մուտքի այդ բանալին այդ տվյալների հոսքը կուղղորդի ձեր հաշիվ (այնպես որ կիսեք ձեր բանալին որևէ մեկի հետ):

Գործարկեք Օրինակ. Գործարկեք փորձարկման սցենարը `համոզվելու համար, որ մենք կարող ենք տվյալների հոսք ստեղծել ձեր Նախնական վիճակի հաշվին: Գործարկեք հետևյալը ձեր հրամանի տողում.

$ python is_example.py

Օրինակ Տվյալներ

Վերադարձեք ձեր սկզբնական վիճակի հաշվին ձեր վեբ դիտարկիչում: «Python Stream Օրինակ» կոչվող նոր տվյալների շերեփը պետք է հայտնվեր ձեր դույլի դարակում ձախ կողմում (գուցե ստիպված լինեք թարմացնել էջը): Կտտացրեք այս դույլին ՝ տվյալները դիտելու համար:

Այժմ դուք պատրաստ եք սկսել իրական տվյալների հոսքը AirVisual API- ից:

Քայլ 4: Օդի որակի կառավարման վահանակ

Օդի որակի կառավարման վահանակ
Օդի որակի կառավարման վահանակ
Օդի որակի կառավարման վահանակ
Օդի որակի կառավարման վահանակ
Օդի որակի կառավարման վահանակ
Օդի որակի կառավարման վահանակ
Օդի որակի կառավարման վահանակ
Օդի որակի կառավարման վահանակ

Հիմա զվարճալի մասի համար: Մենք պատրաստ ենք սկսել օգտագործել AirVisual API- ն ՝ օդի որակի կառավարման վահանակ ստեղծելու և օդի աղտոտվածության տվյալները գրավելու համար, որտեղ էլ որ ընտրենք: Այս airquality.py սցենարը պարզապես զանգում է AirVisual API ՝ օգտագործելով ձեր API ստեղնը և առբերում է օդի աղտոտման ընթացիկ տեղեկատվությունը: Այն նաև այդ տվյալները փոխանցում է ձեր Նախնական վիճակի հաշվին, ինչը թույլ կտա ստեղծել օդի որակի կառավարման վահանակ:

Դուք կարող եք մուտք գործել սցենար Github պահեստի միջոցով, որը մենք ավելի վաղ կլոնավորել էինք: Առաջին բանը, որ մենք պետք է անենք, համոզվելն է, որ մենք գտնվում ենք AirVisual գրացուցակում.

$ cd airvisual

Այստեղից դուք կկարողանաք մուտք գործել 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_BETWE = -------------------------

դուք պետք է մուտքագրեք ձեր լայնությունը, երկայնությունը, 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- ին, այն ավելի շատ տեղեկատվություն ունի, քան պարզապես օդի որակը: Այն նաև ապահովում է ջերմաստիճան, խոնավություն, քամու արագություն, քամու ուղղություն և մթնոլորտային ճնշում: Մենք կարող ենք այդ տեղեկատվությունը ուղարկել Նախնական Պետություն այնպես, ինչպես ուղարկել ենք օդի որակի ինդեքսի արժեքը և հիմնական աղտոտիչը: Ձեզանից պահանջվում է գրել միայն մի քանի if հայտարարություն:

Խորհուրդ ենք տալիս: