Სარჩევი:

AirVisual Air Quality API დაფა: 5 ნაბიჯი
AirVisual Air Quality API დაფა: 5 ნაბიჯი

ვიდეო: AirVisual Air Quality API დაფა: 5 ნაბიჯი

ვიდეო: AirVisual Air Quality API დაფა: 5 ნაბიჯი
ვიდეო: 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 კლონი 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 საავიაციო

მას შემდეგ რაც ჩვენ Enter- ს მოვახდენთ, დაინახავთ, რომ ჩვენ ახლა საავიაციო დირექტორიაში ვართ. მოდით ჩაწეროთ "ls", რომ ნახოთ რა ფაილები გვაქვს დაინსტალირებული. თქვენ უნდა გამოიყურებოდეს რაღაც შემდეგნაირად:

LICENSE README.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 ფორმატირება, რათა უკეთ ნახოთ მონაცემები. თუ ამას გამოიყენებთ, ის ცოტათი ასე გამოიყურება:

"სტატუსი": "წარმატება", "data": {"city": "Nashville", "state": "Tennessee", "country": "USA", "location": {"type": "Point", "კოორდინატები": [-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). ჰაერის ხარისხის ინდექსის ღირებულება გვეუბნება რა არის ჰაერის ხარისხის ადგილობრივი ღირებულება და როგორ ეხება ეს თქვენს ჯანმრთელობას. ქვემოთ მოცემულია ფერადი კოდირებული სქემა. მთავარი დამაბინძურებელი გვეუბნება, რა არის ჰაერის მთავარი დამაბინძურებელი თქვენი ტერიტორიისთვის (ნაწილაკები, აზოტის ოქსიდი, ოზონი, ნახშირორჟანგი, გოგირდის ოქსიდი). ეს დამაბინძურებლები, როგორც წესი, კვამლის დასტის ან ავტომობილის გამონაბოლქვის ქვეპროდუქტებია.

ახლა, როდესაც ჩვენ ვიცით როგორ გამოვიყენოთ საჰაერო ვიზუალური API, შემდეგი რაც დაგვჭირდება არის დაფის პლატფორმა მონაცემების საჩვენებლად.

ნაბიჯი 3: საწყისი მდგომარეობა

საწყისი მდგომარეობა
საწყისი მდგომარეობა
საწყისი მდგომარეობა
საწყისი მდგომარეობა

ჩვენ გვინდა, რომ ჩვენი ამინდის ყველა მონაცემი გადავიტანოთ ღრუბლოვან სერვისზე და ამ სერვისმა ჩვენი მონაცემები ლამაზ დაფად აქციოს. ჩვენს მონაცემებს სჭირდება დანიშნულების ადგილი, ამიტომ ჩვენ ვიყენებთ საწყის მდგომარეობას ამ დანიშნულების ადგილად.

დარეგისტრირდით საწყის სახელმწიფო ანგარიშზე

გადადით https://iot.app.initialstate.com და შექმენით ახალი ანგარიში.

დააინსტალირეთ ISStreamer

დააინსტალირეთ პირველადი სახელმწიფო პითონის მოდული თქვენს ლეპტოპზე ან 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) პიპ ძირითადი ვერსია: 1 პიპ მცირე ვერსია: ნაპოვნია 5 ISStreamer, განახლებულია … მოთხოვნა უკვე განახლებულია: ISStreamer in /Library/Python/2.7/site-packages დასუფთავება… გსურთ ავტომატურად მიიღოთ სკრიპტის მაგალითი? [y/N] სად გსურთ შეინახოთ მაგალითი? [სტანდარტულად..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

მაგალითი მონაცემები

დაუბრუნდით თქვენს საწყის მდგომარეობას თქვენს ბრაუზერში. ახალი მონაცემების კოლოფი სახელწოდებით "პითონის ნაკადის მაგალითი" უნდა გამოჩნდეს მარცხნივ თქვენს თაიგულის თაროზე (შეიძლება დაგჭირდეთ გვერდის განახლება). დააწკაპუნეთ ამ თაიგულზე მონაცემების სანახავად.

თქვენ ახლა მზად ხართ დაიწყოთ რეალური მონაცემების სტრიმინგი AirVisual API– დან.

ნაბიჯი 4: ჰაერის ხარისხის დაფა

ჰაერის ხარისხის დაფა
ჰაერის ხარისხის დაფა
ჰაერის ხარისხის დაფა
ჰაერის ხარისხის დაფა
ჰაერის ხარისხის დაფა
ჰაერის ხარისხის დაფა
ჰაერის ხარისხის დაფა
ჰაერის ხარისხის დაფა

ახლა რაც შეეხება სახალისო ნაწილს. ჩვენ მზად ვართ დავიწყოთ AirVisual API– ს გამოყენება ჰაერის ხარისხის საინფორმაციო დაფის შესაქმნელად და ჰაერის დაბინძურების მონაცემების გადასაღებად, სადაც კი ჩვენ ვირჩევთ. ეს airquality.py სკრიპტი უბრალოდ უწოდებს AirVisual API– ს თქვენი API გასაღების გამოყენებით და იღებს ჰაერის დაბინძურების მიმდინარე ინფორმაციას. ის ასევე ავრცელებს ამ მონაცემებს თქვენს საწყის სახელმწიფო ანგარიშზე, რაც საშუალებას მოგცემთ შექმნათ ჰაერის ხარისხის დაფა.

თქვენ შეგიძლიათ მიიღოთ სკრიპტი Github საცავის საშუალებით, რომელიც ჩვენ ადრე კლონირებული გვქონდა. პირველი რაც ჩვენ უნდა გავაკეთოთ არის დავრწმუნდეთ, რომ ჩვენ ვართ AirVisual დირექტორიაში:

$ cd საავიაციო

აქედან თქვენ გექნებათ წვდომა პითონის ფაილზე, რომელსაც ჩვენ გავუშვებთ ჰაერის ხარისხის საინფორმაციო დაფის შესაქმნელად. ჩვენ უნდა შევიტანოთ ცვლილებები ფაილში მის გაშვებამდე. პითონის ფაილის გასახსნელად გამოიყენეთ 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 პითონის airquality.py &

მას შემდეგ რაც გაუშვებთ გადადით საწყის მდგომარეობაზე თქვენი მონაცემების სანახავად. თქვენი დაფა უნდა გამოიყურებოდეს ქვემოთ მოცემულ სურათზე. თქვენ გაქვთ თქვენი GPS მდებარეობა, თქვენი ჰაერის ხარისხის ინდექსის ღირებულება და თქვენი მთავარი დამაბინძურებელი.

ჩემი რეკომენდაცია იქნებოდა თქვენი AQI მნიშვნელობის შეცვლა ლიანდაგის ფილაზე. ასევე, გადაიტანეთ ფილები ირგვლივ და შეცვალეთ საჭიროებისამებრ. თუ ამას იყენებთ ჩაშენებული საინფორმაციო დაფისთვის, შეგიძლიათ გადაადგილოთ ისინი საჭიროებისამებრ.

თუ თქვენ გადაწყვეტთ თქვენი AQI მნიშვნელობის გაზომვას, მაშინ შეგიძლიათ დააყენოთ ფერის ბარიერი ჰაერის ხარისხის ინდექსის მსგავსი. ეს გაძლევთ მყისიერ განახლებას იმის შესახებ, თუ სად არის AQI მნიშვნელობა ჩარტში, როდესაც თქვენ შეამოწმებთ თქვენს დაფას. თქვენ შეგიძლიათ დაამატოთ ფონის სურათი თქვენს დაფაზე, რომ მას მეტი კონტექსტი მისცეთ.

ასე რომ თქვენ გაქვთ ყველაფერი რაც გჭირდებათ ჰაერის ხარისხის დაფის შესაქმნელად. რა მოხდება, თუ გსურთ დაამატოთ მეტი ან დაამატოთ ეს უკვე შექმნილ ამინდის დაფაზე? თუ ეს ასეა, განაგრძეთ კითხვა!

ნაბიჯი 5: შექმენით ამინდის სრული დაფა

შექმენით მთლიანი ამინდის საინფორმაციო დაფა
შექმენით მთლიანი ამინდის საინფორმაციო დაფა

არის თუ არა ჰაერის ხარისხის მონაცემები თქვენთვის საკმარისი? ისე, არსებობს უამრავი ვარიანტი, რომ დაამატოთ მეტი თქვენს საინფორმაციო დაფაზე ან გადაიტანოთ ეს მონაცემები ამინდის საინფორმაციო დაფაზე, რომელიც უკვე გაქვთ!

გაუშვით ამინდი და ჰაერის ხარისხი ერთ საინფორმაციო დაფაზე

თუ თქვენ უკვე განახორციელეთ ჩვენი DarkSky API ან Hyper-Local Weather Dashboard პროექტი, შეგიძლიათ დაამატოთ ჰაერის ხარისხის ეს მონაცემები თქვენს არსებულ დაფაზე. ეს საკმაოდ მარტივია, ყველაფერი რაც თქვენ გჭირდებათ რომ გააკეთოთ არის შეცვალოთ თქვენი პარამეტრები ჰაერის ხარისხის სკრიპტში, რომ გქონდეთ იგივე ველის სახელი, ველის გასაღები და წვდომის გასაღები, რასაც იყენებდით თქვენი ამინდის საინფორმაციო დაფისთვის. ეს საშუალებას მისცემს მონაცემების გაგზავნას იმავე დაფაზე. ახლა გექნებათ ამინდის მთლიანი დაფა!

მიეცით თქვენი ამინდის პითონის ფაილი დარეკეთ ჰაერის ხარისხის პითონის ფაილის გასაშვებად

კიდევ ერთი ვარიანტი, თუ არ გსურთ ორი ცალკეული პროგრამის გაშვება არის ჰაერის ხარისხის პითონის ფაილის განთავსება ამინდის პროექტის დირექტორიაში. ამინდის პროექტის პითონის ფაილი დარეკეთ ჰაერის ხარისხის ფაილზე ისე, რომ ის იმუშაოს, როდესაც თქვენი ამინდის ფაილი მუშაობს. კიდევ ერთხელ, დარწმუნდით, რომ განათავსეთ იგივე ველის სახელი, ველის გასაღები და წვდომის გასაღები ისე, რომ ისინი იმავე დაფაზე გაუშვან.

შექმენით ერთი ფაილი ამინდისა და ჰაერის ხარისხით

და თუ თავს თამამად გრძნობთ, შეგიძლიათ განათავსოთ ჰაერის ხარისხის კოდი ამინდის პითონის სკრიპტში და მხოლოდ ერთი სკრიპტი გქონდეთ გასაშვებად. ამას დასჭირდება ცოტა მეტი კოდირების მცდელობა, ვიდრე დანარჩენი ორი ვარიანტი, მაგრამ ეს ქმნის გამარტივებულ პროგრამას.

გაუშვით დამატებითი ინფორმაცია AirVisual API– დან

როგორც ხედავთ, როდესაც ჩვენ დავურეკეთ AirVisual API– ს, მას აქვს მეტი ინფორმაცია, ვიდრე ჰაერის ხარისხი. ის ასევე იძლევა ტემპერატურას, ტენიანობას, ქარის სიჩქარეს, ქარის მიმართულებას და ატმოსფერულ წნევას. ჩვენ შეგვიძლია ეს ინფორმაცია გავაგზავნოთ საწყის სახელმწიფოში ისევე, როგორც გავაგზავნეთ ჰაერის ხარისხის ინდექსის მნიშვნელობა და ძირითადი დამაბინძურებელი. საჭიროა მხოლოდ თქვენ დაწეროთ კიდევ რამდენიმე if განცხადება.

გირჩევთ: