![AirVisual Air Quality API тактасы: 5 кадам AirVisual Air Quality API тактасы: 5 кадам](https://i.howwhatproduce.com/images/010/image-27493-j.webp)
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51
![Image Image](https://i.howwhatproduce.com/images/010/image-27493-2-j.webp)
![](https://i.ytimg.com/vi/-7OBhDcZiqQ/hqdefault.jpg)
AirVisual (https://www.airvisual.com) - бул дүйнө жүзү боюнча абанын сапаты жөнүндө маалыматтарды берген вебсайт. Аларда API бар, биз аны абанын сапаты боюнча маалымат тактасына жөнөтүү үчүн колдонобуз. Биз бул API менен аба ырайынын тактасын кандай кылсак, ошого окшош болобуз.
Бул APIди колдонууну үйрөтүүчү жөнөкөй долбоор. Кел, баштайлы!
1 -кадам: Баштоо
![AirVisual API AirVisual API](https://i.howwhatproduce.com/images/010/image-27493-3-j.webp)
Биз коддун көпчүлүгүн чогуу койгонбуз, бирок жолдо бир нече түзөтүүлөрдү киргизишиңиз керек болот. Биз кылган нерселерди кеңейтүү үчүн көптөгөн мүмкүнчүлүктөр бар.
Биз сиз үчүн даярдаган нерселердин бардыгын алуу үчүн, 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](https://i.howwhatproduce.com/images/010/image-27493-4-j.webp)
![AirVisual API AirVisual API](https://i.howwhatproduce.com/images/010/image-27493-5-j.webp)
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://i.howwhatproduce.com/images/010/image-27493-6-j.webp)
![Баштапкы мамлекет Баштапкы мамлекет](https://i.howwhatproduce.com/images/010/image-27493-7-j.webp)
Биз аба ырайы тууралуу бардык маалыматыбызды булут кызматына өткөрүп берүүнү каалайбыз жана бул кызмат биздин маалыматтарды жакшы тактасына айландырсын. Биздин маалыматтарга көздөгөн жер керек, ошондуктан биз ошол мамлекет катары ошол мамлекетти колдонобуз.
Баштапкы мамлекеттик эсепке катталуу
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 -кадам: Аба сапатынын тактасы
![Аба сапатынын тактасы Аба сапатынын тактасы](https://i.howwhatproduce.com/images/010/image-27493-8-j.webp)
![Аба сапатынын тактасы Аба сапатынын тактасы](https://i.howwhatproduce.com/images/010/image-27493-9-j.webp)
![Аба сапатынын тактасы Аба сапатынын тактасы](https://i.howwhatproduce.com/images/010/image-27493-10-j.webp)
![Аба сапатынын тактасы Аба сапатынын тактасы](https://i.howwhatproduce.com/images/010/image-27493-11-j.webp)
Эми кызыктуу бөлүгү үчүн. Биз 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 -кадам: Жалпы Аба ырайы тактасын жасаңыз
![Жалпы аба ырайы тактасын жасаңыз Жалпы аба ырайы тактасын жасаңыз](https://i.howwhatproduce.com/images/010/image-27493-12-j.webp)
Абанын сапаты жөнүндөгү маалыматтар сиз үчүн жетишсизби? Тактаңызга дагы көптөгөн нерселерди кошуу же бул маалыматты аба ырайынын тактасына берүү үчүн көптөгөн мүмкүнчүлүктөр бар!
Аба ырайы жана абанын сапатын бирдиктүү тактага агыңыз
Эгер сиз буга чейин DarkSky API же Hyper-Local Weather Dashboard долбоорун ишке ашырган болсоңуз, анда бул аба сапатынын маалыматын учурдагы тактаңызга кошо аласыз. Бул абдан жөнөкөй, болгону аба ырайынын тактасында колдонулган нерселердин атына, чака ачкычына жана кирүү ачкычына ээ болуу үчүн абанын сапатынын сценарийиндеги параметрлерди өзгөртүү керек. Бул маалыматтарды ошол эле тактасына жөнөтүүгө мүмкүндүк берет. Эми сизде жалпы аба ырайы тактасы болот!
Аба ырайы Python файлыңыз аба сапатынын Python файлын иштетүү үчүн чалуу жасаңыз
Дагы бир вариант, эгер сиз эки башка программаны иштетүүнү каалабасаңыз, аба сапатынын питон файлын аба ырайы долбоорунун каталогуна коюу. Аба ырайы долбоору python файлын аба сапаты файлына чалып, аба ырайы файлыңыз иштеп турганда иштетет. Дагы, ошол эле чаканын аталышын, чака ачкычын жана кирүү ачкычын койгондугуңузду текшериңиз, алар ошол эле панельге өтөт.
Аба ырайы жана аба сапаты менен бирдиктүү файл түзүңүз
Эгерде сиз өзүңүздү чыныгы тайманбастык менен сезсеңиз, аба сапатынын кодунун бир бөлүгүн аба ырайыңыздын питон скриптине салып, иштетүү үчүн бир эле скриптке ээ боло аласыз. Бул башка эки вариантка караганда бир аз көбүрөөк коддоо аракетин талап кылат, бирок бул жөнөкөйлөтүлгөн программаны түзөт.
AirVisual APIден кошумча маалыматты агылтыңыз
Биз AirVisual APIге чалганда көргөндөй, ал абанын сапатынан да көбүрөөк маалыматка ээ. Ошондой эле температураны, нымдуулукту, шамалдын ылдамдыгын, шамалдын багытын жана атмосфералык басымды камсыздайт. Биз бул маалыматты абанын сапатынын индексинин маанисин жана негизги булгоочу заттарды кандай жөнөтсөк, ошондой эле баштапкы мамлекетке жөнөтө алабыз. Бул дагы бир нече билдирүүлөрдү жазууну талап кылат.
Сунушталууда:
Tasmota Admin - IIoT тактасы: 6 кадам
![Tasmota Admin - IIoT тактасы: 6 кадам Tasmota Admin - IIoT тактасы: 6 кадам](https://i.howwhatproduce.com/images/001/image-1792-j.webp)
Tasmota Admin - IIoT тактасы: TasmoAdmin - бул Tasmota менен жаркыраган түзмөктөр үчүн административдик вебсайт. Аны бул жерден таба аласыз: TasmoAdmin GitHub. Бул Windows, Linux жана Docker контейнерлеринде иштөөнү колдойт
Унаа тактасы үчүн STONE LCD экраны: 5 кадам
![Унаа тактасы үчүн STONE LCD экраны: 5 кадам Унаа тактасы үчүн STONE LCD экраны: 5 кадам](https://i.howwhatproduce.com/images/001/image-342-14-j.webp)
Унаа тактасы үчүн STONE LCD экраны: Экономиканын тез өнүгүшү жана адамдардын керектөө жөндөмүнүн акырындык менен жакшырышы менен, машиналар жөнөкөй үй -бүлөлөрдүн күнүмдүк керектөөсүнө айланган жана ар бир адам унаалардын ыңгайлуулугуна жана коопсуздугуна көбүрөөк көңүл бурат
ThreadBoard (3D басылбаган версия): Электрондук текстилдин прототиптештирүү тактасы: 4 кадам (сүрөттөр менен)
![ThreadBoard (3D басылбаган версия): Электрондук текстилдин прототиптештирүү тактасы: 4 кадам (сүрөттөр менен) ThreadBoard (3D басылбаган версия): Электрондук текстилдин прототиптештирүү тактасы: 4 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/001/image-05-34-j.webp)
ThreadBoard (3D-Басылбаган Версиясы): Электрондук Текстиль Прототиптөө Башкармасы: ThreadBoard V2нин 3D басылган нускасы үчүн Инструкцияны бул жерден тапса болот. ThreadBoardдын 1-версиясын бул жерден тапса болот. саякат, пандемия жана башка тоскоолдуктар, сизде 3D принтер болушу мүмкүн эмес, бирок сиз
Колдонмо тактасы 555 таймер IC: 11 кадам
![Колдонмо тактасы 555 таймер IC: 11 кадам Колдонмо тактасы 555 таймер IC: 11 кадам](https://i.howwhatproduce.com/images/002/image-4476-j.webp)
Колдонмо Board 555 Timer IC: Киришүү: 555 таймер IC баарыбыз үчүн эң пайдалуу жана белгилүү ICлердин бири. Менин кесипкөй камтылган жабдык ташуучум эки жыл мурун башталган жана 2019 -жылы менин чечимим - 555 таймерди колдонуу менен 45 ар кандай схеманы даярдоо
Dark Sky API PyPortal & Аба ырайы тактасы: 6 кадам
![Dark Sky API PyPortal & Аба ырайы тактасы: 6 кадам Dark Sky API PyPortal & Аба ырайы тактасы: 6 кадам](https://i.howwhatproduce.com/images/002/image-3701-29-j.webp)
Dark Sky API PyPortal & Аба ырайы тактасы: Бул долбоор - биз мурда жасаган, Dark Sky API Аба ырайы тактасы. Бул жолу Raspberry Pi ордуна биз аба ырайын көрсөтүү үчүн Adafruit PyPortal колдонобуз жана бул маалыматты баштапкы абалга жөнөтөбүз. Биринин иши үчүн эки панель