فهرست مطالب:
- مرحله 1: شروع به کار
- مرحله 2: API AirVisual
- مرحله 3: حالت اولیه
- مرحله 4: داشبورد کیفیت هوا
- مرحله 5: یک داشبورد کل هواشناسی بسازید
تصویری: داشبورد API کیفیت هوا AirVisual: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
AirVisual (https://www.airvisual.com) وب سایتی است که اطلاعاتی در مورد کیفیت هوا در سراسر جهان ارائه می دهد. آنها دارای API هستند که ما از آن برای دریافت داده های کیفیت هوا برای ارسال به داشبورد استفاده خواهیم کرد. ما مانند این با داشبورد آب و هوا با این API تعامل خواهیم داشت.
این یک پروژه ساده است که نحوه استفاده از API را به شما آموزش می دهد. بیایید شروع کنیم!
مرحله 1: شروع به کار
ما در حال حاضر بیشتر کد را کنار هم قرار داده ایم ، اما شما نیاز دارید که در این راه چند تنظیم انجام دهید. فرصتهای زیادی برای گسترش کارهایی که انجام داده ایم نیز وجود دارد.
برای بازیابی همه مواردی که برای شما آماده کرده ایم ، باید مخزن را از GitHub کلون کنید. GitHub یک سرویس عالی است که به ما امکان ذخیره ، بازبینی و مدیریت پروژه هایی مانند این را می دهد. شما می خواهید این اسکریپت را روی یک دستگاه اختصاصی اجرا کنید. می توانید از لپ تاپ ، رزبری پای یا سایر رایانه های تک صفحه استفاده کنید. برای کلون کردن مخزن ، تنها کاری که باید انجام دهیم این است که به پایانه رایانه یا Pi خود برویم و این دستور را تایپ کنیم:
$ git clone
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 را فشار می دهیم ، می بینید که اکنون در فهرست راهنمای دیداری هستیم. بیایید "ls" را تایپ کنیم تا ببینیم چه فایل هایی را نصب کرده ایم. شما باید چیزی به شرح زیر به نظر برسید:
LICENSE README.md airquality.py
قبل از اینکه بتوانیم کد را ویرایش کنیم ، به برخی موارد دیگر نیاز داریم ، بنابراین اجازه دهید در آینده API کیفیت هوا را بررسی کنیم.
مرحله 2: API AirVisual
AirVisual دارای کیفیت هوا (AQI) و API آلودگی است که اجازه می دهد تا 10،000 تماس API در هر ماه به صورت رایگان. می توانید در ردیف انجمن ثبت نام کنید. پس از ثبت نام ، می توانید به My Air و برگه API بروید. اینجاست که کلیدها و اسناد API خود را در API پیدا خواهید کرد.
برای ایجاد اولین کلید دسترسی API ، روی دکمه +کلید جدید کلیک کنید. برای انتخاب طرح ، از منوی کشویی برای انتخاب Community استفاده کنید و روی ایجاد کلیک کنید. اگر همه چیز خوب پیش رفت یک پیام موفقیت آمیز خواهید دید و می توانید برای پیدا کردن اطلاعات کلیدی جدید خود به داشبورد 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"، "مختصات": [-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 را نصب کنید
ماژول پایتون اولیه را روی لپ تاپ یا رزبری پای خود نصب کنید. در خط فرمان ، دستور زیر را اجرا کنید:
$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash
کمی Automagic بسازید
پس از اجرای دستور curl ، چیزی شبیه خروجی زیر را روی صفحه مشاهده می کنید:
$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash
رمز عبور: شروع ISStreamer Python نصب آسان! ممکن است چند دقیقه طول بکشد تا نصب شود ، کمی قهوه بخورید:) اما فراموش نکنید که برگردید ، بعداً س questionsالاتی دارم! یافت شد 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) نسخه اصلی پیپ: 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 را بزنید تا مکان پیش فرض را بپذیرید. در نهایت ، از شما س askedال می شود که از کدام برنامه حالت اولیه استفاده می کنید. اگر اخیراً یک حساب کاربری ایجاد کرده اید ، گزینه 2 را انتخاب کرده و نام کاربری و رمز عبور را وارد کنید. پس از آن نصب کامل می شود.
کلیدهای دسترسی
بیایید نگاهی به نمونه اسکریپت ایجاد شده بیندازیم. $ nano is_example.py در خط 15 ، خطی را مشاهده خواهید کرد که با streamer = Streamer (bucket_… پارامتر access_key =”…” در همان خط. آن سری طولانی حروف و اعداد کلید دسترسی به حساب حالت اولیه شما است. اگر در مرورگر وب خود به حساب حالت اولیه خود می روید ، روی نام کاربری خود در بالا سمت راست کلیک کنید ، سپس بروید در "تنظیمات من" ، همان کلید دسترسی را در پایین صفحه در زیر "Streaming Access Keys" پیدا خواهید کرد. هر بار که یک جریان داده ایجاد می کنید ، آن کلید دسترسی آن جریان داده را به حساب شما هدایت می کند (بنابراین کلید خود را با هر کسی به اشتراک بگذارید)
مثال را اجرا کنید اسکریپت آزمایشی را اجرا کنید تا مطمئن شوید که می توانیم یک جریان داده به حساب وضعیت اولیه شما ایجاد کنیم. موارد زیر را در خط فرمان خود اجرا کنید:
$ python is_example.py
مثال داده ها
در مرورگر وب خود به حساب حالت اولیه خود بازگردید. یک سطل داده جدید به نام "مثال جریان پایتون" باید در سمت چپ در قفسه سطل شما نشان داده شود (ممکن است مجبور شوید صفحه را بازخوانی کنید). برای مشاهده داده ها روی این سطل کلیک کنید.
شما اکنون آماده شروع جریان داده های واقعی از API AirVisual هستید.
مرحله 4: داشبورد کیفیت هوا
حالا برای قسمت باحالش. ما آماده استفاده از API AirVisual برای ایجاد داشبورد کیفیت هوا و ثبت اطلاعات آلودگی هوا برای هر کجا که انتخاب می کنیم ، هستیم. این اسکریپت airquality.py به سادگی با استفاده از کلید API شما API AirVisual را فراخوانی می کند و اطلاعات فعلی آلودگی هوا را بازیابی می کند. همچنین این اطلاعات را به حساب وضعیت اولیه شما منتقل می کند ، که به شما امکان می دهد داشبورد کیفیت هوا ایجاد کنید.
می توانید از طریق مخزن Github که قبلاً کلون کردیم ، به اسکریپت دسترسی پیدا کنید. اولین کاری که باید انجام دهیم این است که مطمئن شویم در فهرست AirVisual هستیم:
$ cd airvisual
از اینجا ، می توانید به فایل پایتون دسترسی داشته باشید که برای ایجاد داشبورد کیفیت هوای خود اجرا می کنیم. قبل از اجرای فایل ، باید برخی تغییرات را در آن اعمال کنیم. برای باز کردن فایل پایتون ، از دستور nano برای باز کردن ویرایشگر متن استفاده کنید:
$ nano airquality.py
پس از باز شدن ویرایشگر متن ، موارد زیر را در بالای بالای اسکریپت خود مشاهده خواهید کرد:
# --------- تنظیمات کاربر ---------
LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "کلید API بصری هوا" BUCKET_NAME = "کیفیت هوای محلی" BUCKET_KEY = "aq1" ACCESS_KEY = "کلیدهای اولیه دولت برای دسترسی" MINUTES_BETWE- -------------------------
باید عرض ، طول جغرافیایی ، کلید 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 ما را اجرا کرده اید ، می توانید این داده های کیفیت هوا را به داشبورد موجود خود اضافه کنید. این بسیار ساده است ، تنها کاری که باید انجام دهید این است که پارامترهای خود را در اسکریپت کیفیت هوا تغییر دهید تا نام سطل ، کلید سطل و کلید دسترسی همان چیزی باشد که برای داشبورد آب و هوا استفاده کرده اید. این اجازه می دهد تا داده ها به همان داشبورد ارسال شوند. در حال حاضر شما یک داشبورد کل هواشناسی خواهید داشت!
از فایل پایتون آب و هوا بخواهید برای اجرای فایل پایتون با کیفیت هوا تماس بگیرید
یک گزینه دیگر اگر نمی خواهید دو برنامه جداگانه اجرا کنید این است که فایل پایتون کیفیت هوا را در فهرست پروژه آب و هوا قرار دهید. از فایل پایتون پروژه آب و هوا بخواهید تا با فایل کیفیت هوا تماس بگیرد تا وقتی فایل آب و هوا در حال اجرا است اجرا شود. مجدداً ، مطمئن شوید که نام سطل ، کلید سطل و کلید دسترسی را قرار دهید تا به داشبورد یکسان اجرا شوند.
یک فایل واحد با کیفیت هوا و هوا ایجاد کنید
و اگر واقعاً جسور هستید ، می توانید برخی از کد کیفیت هوا را در اسکریپت پایتون آب و هوا قرار دهید و فقط یک اسکریپت برای اجرا داشته باشید. این برنامه نسبت به دو گزینه دیگر به تلاش بیشتری برای کد نویسی نیاز دارد ، اما برنامه ساده ای را ایجاد می کند.
اطلاعات اضافی را از API AirVisual پخش کنید
همانطور که دیدید وقتی با API AirVisual تماس گرفتیم ، اطلاعات بیشتری از کیفیت هوا دارد. همچنین دما ، رطوبت ، سرعت باد ، جهت باد و فشار اتمسفر را ارائه می دهد. ما می توانیم این اطلاعات را به همان صورتی که مقدار شاخص کیفیت هوا و آلاینده اصلی را ارسال کرده ایم ، به حالت اولیه ارسال کنیم. فقط از شما می خواهد که چند عبارت if دیگر بنویسید.
توصیه شده:
سنسور کیفیت هوا AEROBOT V1.0: 6 مرحله (همراه با تصاویر)
سنسور کیفیت هوا AEROBOT V1.0: این دستورالعمل در مورد ساخت یک سنسور ارزان قیمت و بسیار دقیق کیفیت هوا به نام AEROBOT است. این پروژه دما ، رطوبت نسبی ، چگالی گرد و غبار PM 2.5 و هشدارهایی در مورد کیفیت هوای محیط اطراف را نشان می دهد. از حس DHT11 استفاده می کند
سنسور کیفیت هوا با استفاده از آردوینو: 4 مرحله
سنسور کیفیت هوا با استفاده از آردوینو: در این پست با نحوه ساخت یک سنسور ساده و در عین حال مفید برای کیفیت هوا آشنا می شویم. ما از سنسور SGP30 به همراه Piksey Pico استفاده خواهیم کرد ، اگرچه این طرح تقریباً با هر برد سازگار با آردوینو کار می کند. ویدیوی بالا با شما صحبت می کند
ایجاد یک سنسور کیفیت هوا Ino IoT بدون نیاز به ابر: 10 مرحله
ایجاد یک سنسور کیفیت هوای داخلی IoT بدون نیاز به ابر: کیفیت هوای داخلی یا خارجی بستگی به بسیاری از منابع آلودگی و همچنین آب و هوا دارد. این دستگاه با استفاده از 2 تراشه حسگر برخی از متداول ترین و برخی از جالب ترین پارامترها را ثبت می کند. دما رطوبت فشار گاز ارگانیک میکرو
ایجاد داشبورد آب و هوا با استفاده از API Dark Sky: 5 مرحله (همراه با تصاویر)
با استفاده از API Dark Sky یک داشبورد آب و هوا بسازید: Dark Sky متخصص در پیش بینی و تجسم آب و هوا است. جالبترین جنبه Dark Sky API آب و هوا است که می توانیم از آن برای بازیابی اطلاعات آب و هوا از تقریباً در هر نقطه از جهان استفاده کنیم. هوا فقط بارانی یا آفتابی نیست بلکه دما
Dark Sky API PyPortal و داشبورد هوا: 6 مرحله
Dark Sky API PyPortal & Weather Dashboard: این پروژه برگرفته از پروژه ای است که قبلاً انجام داده بودیم ، داشبورد هواشناسی Dark Sky API. این بار به جای Raspberry Pi ، از Adafruit PyPortal برای نمایش داده های آب و هوا و ارسال این داده ها به حالت اولیه استفاده می کنیم. دو داشبورد برای کار یکی