
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48


AirVisual (https://www.airvisual.com) կայք է, որը տրամադրում է տվյալներ ամբողջ աշխարհում օդի որակի վերաբերյալ: Նրանք ունեն API, որը մենք կօգտագործենք ՝ օդի որակի վերաբերյալ տվյալներ ստանալու համար ՝ վահանակ ուղարկելու համար: Այս API- ի հետ մենք փոխազդելու ենք այնպես, ինչպես եղանակային կառավարման վահանակի հետ:
Սա պարզ նախագիծ է, որը սովորեցնում է ձեզ, թե ինչպես օգտագործել API: Եկեք սկսենք!
Քայլ 1: Սկսելու համար

Մենք արդեն հավաքել ենք ծածկագրի մեծ մասը, բայց ձեզ հարկավոր կլինի, որ ճանապարհին մի քանի ճշգրտում կատարեք: Մեր կատարածի վրա ընդլայնվելու շատ հնարավորություններ կան:
Բոլոր այն բաները, որոնք մենք պատրաստել ենք ձեզ համար, ձեզ հարկավոր է կլոնավորել պահեստը 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- ն ունի օդի որակի (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 հայտարարություն:
Խորհուրդ ենք տալիս:
Nasa- ի երեխաների կառավարման վահանակ. 10 քայլ (նկարներով)

Nasa- ի երեխաների կառավարման վահանակ. Ես սա կառուցել եմ խնամու քրոջս համար, որն աշխատում է ցերեկային խնամքի համար: Նա տեսավ իմ լագերը, որը ես կառուցել էի գրեթե երեք տարի առաջ ընկերության ստեղծողի համար և իրոք դուր եկավ, այնպես որ ես սա պատրաստեցի նրա համար ամանորյա նվերի համար: Կապեք իմ մյուս նախագծին այստեղ ՝ https: //www
DIY Flight Sim անջատիչ վահանակ. 7 քայլ (նկարներով)

DIY Flight Sim Switch Panel. Երկար տարիներ անցկացնելով թռիչքների սիմ համայնքում և ներգրավվելով ավելի ու ավելի բարդ ինքնաթիռներում, ես ինքս ինձ տենչում էի, որ կարողանամ ձեռքերս պահել ֆիզիկական անջատիչների վրա ՝ աջ ձեռքով թռչել փորձելու փոխարեն: մ
Կառուցեք եղանակի վահանակ ՝ օգտագործելով Dark Sky API- ն ՝ 5 քայլ (նկարներով)

Կառուցեք եղանակի վահանակ ՝ օգտագործելով Dark Sky API- ն. Dark Sky- ը մասնագիտացած է եղանակի կանխատեսման և արտացոլման մեջ: Dark Sky- ի ամենաթեժ կողմը եղանակային API- ն է, որը մենք կարող ենք օգտագործել աշխարհի գրեթե ցանկացած վայրից եղանակի տվյալները վերցնելու համար: Եղանակը ոչ միայն անձրևոտ է կամ արևոտ, այլև ջերմաստիճանը
Dark Sky API PyPortal & Եղանակի վահանակ ՝ 6 քայլ

Dark Sky API PyPortal & Եղանակի վահանակ. Այս նախագիծն ընդունում է այն, ինչ մենք արել էինք նախկինում ՝ Dark Sky API եղանակի վահանակը: Այս անգամ Raspberry Pi- ի փոխարեն մենք կօգտագործենք Adafruit PyPortal- ը `եղանակի տվյալները ցուցադրելու և այդ տվյալները ուղարկելու համար Նախնական վիճակ: Երկու վահանակ մեկի աշխատանքի համար:
ENԳՈՇԱ H Գլխարկ RASPBERRY PI AIR QUALITY & GAS DETECTOR V1.1: 9 քայլերի համար

ԱՌԱՆՈՐԴ Գլխարկ ՌԵՍՊԱՆԻ ՔԻ ՕԴԻ ՈՐԱԿԻ ԵՎ ԳԱASԻ ԱՆՎՏԱՆԳՈՄ V1.1. Sensly- ը դյուրակիր աղտոտման տվիչ է, որը կարող է օդի աղտոտվածության մակարդակը հայտնաբերել `օգտագործելով իր գազի սենսորները` տարբեր գազերի մասին տեղեկատվություն հավաքելու համար: Այս տեղեկատվությունը կարող է ուղղակիորեն սնվել ձեր սմարթֆոնին իրական ժամանակի ձագուկների համար