Mundarija:

Dark Sky API yordamida ob -havo asboblar panelini yarating: 5 qadam (rasmlar bilan)
Dark Sky API yordamida ob -havo asboblar panelini yarating: 5 qadam (rasmlar bilan)

Video: Dark Sky API yordamida ob -havo asboblar panelini yarating: 5 qadam (rasmlar bilan)

Video: Dark Sky API yordamida ob -havo asboblar panelini yarating: 5 qadam (rasmlar bilan)
Video: Топ 5 скрытых полезных программ Windows 10 2024, Noyabr
Anonim
Image
Image

Dark Sky ob -havo prognozi va vizualizatsiyasiga ixtisoslashgan. Dark Sky -ning eng ajoyib tomoni - bu ob -havo ma'lumoti, biz dunyoning deyarli istalgan joyidan ob -havo ma'lumotlarini olishimiz mumkin. Bu faqat ob -havo yomg'irli yoki quyoshli emas, balki harorat, shudring nuqtasi, shamol, namlik, yog'ingarchilik, bosim, UV indeksi va boshqalarni xohlagan joyingizga, xohlagan vaqtda osongina olish mumkin.

Keling, Dark Sky-ning juda oddiy API-dan qanday foydalanishni bilib olaylik. Agar siz API -dan yangi foydalanayotgan bo'lsangiz, men sizga va'da beraman, bu juda oson bo'ladi! Agar siz ilgari API ishlatgan bo'lsangiz, umid qilamanki, biz sizga ishlatilgan kod yordamida sizga yangi narsalarni o'rgata olamiz.

Ushbu loyiha uchun sizga kerak bo'ladi:

  • Dark Sky API hisobi
  • Boshlang'ich davlat hisobi
  • Raspberry Pi yoki noutbuk

1 -qadam: Ishga kirishish

Biz allaqachon kodni birlashtirish va ma'lumotlarni tartibga solish uchun juda ko'p ishlarni qildik. Yo'l davomida sizga ozgina o'zgartirish kiritishingiz kerak bo'ladi. Agar siz bizning kodimizga biroz o'zgartirish kiritishni xohlasangiz va ob -havo ma'lumoti yuborilsa, cheksiz imkoniyatlar bor!

Biz tayyorlagan barcha narsalarni olish uchun siz GitHub -dan omborni klonlashingiz kerak bo'ladi. GitHub - bu kabi loyihalarni saqlash, qayta ko'rib chiqish va boshqarish imkonini beradigan xizmat. Siz ushbu skriptni maxsus qurilmada ishlatishni xohlaysiz. Raspberry Pi - bu qo'llanma kabi ilovalarni ishga tushirish uchun eng zo'r variant.

Ma'lumotlar omborini klonlash uchun biz Pi terminaliga yoki sizning kompyuteringizga SSH ulangan kompyuter terminaliga kirib, ushbu buyruqni yozishingiz kerak:

$ git klon

Enter ni bosing va siz ushbu ma'lumotlarni ko'rasiz:

"Darkskiy" ga klonlash …

masofadan boshqarish: ob'ektlarni sanash: 2, bajarildi. masofadan turib: Hammasi bo'lib 2 (delta 0), qayta ishlatilgan 0 (delta 0), qayta ishlatilgan 2 Ob'ektni ochish: 100% (2/2), bajarildi. Ulanish tekshirilmoqda… bajarildi.

Buni ko'rganingizdan so'ng, tabriklaymiz, siz GitHub Repo -ni muvaffaqiyatli klonladingiz va ushbu loyihani yaratish uchun barcha kerakli fayllarga ega bo'ldingiz. Keyingi bosqichga o'tishdan oldin, keling, ushbu katalogni o'rganishga va bir necha asosiy buyruq qatori buyruqlarini o'rganishga vaqt ajrataylik.

Terminalingizga quyidagi buyruqni kiriting:

$ ls

Bu buyruq siz hozirda joylashgan katalogda mavjud bo'lgan hamma narsani ro'yxatlaydi. Bu ro'yxat bizning GitHub Repo katalogimizga "darkskiy" nomi bilan muvaffaqiyatli klonlanganligini ko'rsatadi. Keling, ushbu katalogda nima borligini ko'rib chiqaylik. Katalogga o'tish uchun sizga "cd" yozib, so'ngra kerakli katalog nomini yozish kifoya.

Bunday holda, biz yozamiz:

$ CD darkskiy

Kirish tugmachasini bosganimizda, biz hozir qorong'u katalogda ekanligimizni ko'rasiz. Pi -ga qanday fayllarni o'rnatganimizni bilish uchun yana "ls" yozamiz.

README.md darksky.py…

Bu erda bizda readme hujjati va python fayllari borligini ko'ramiz. Darksky.py -ni "nano" buyrug'i yordamida ko'rib chiqaylik. Nano buyrug'i bizga nano matn muharririni ochishga imkon beradi, u erda biz ushbu loyihaning har bir segmenti uchun barcha python kodlarimizni olamiz. Davom eting va yozing:

$ nano darksky.py

Bu erda siz ushbu loyiha uchun biz tayyorlagan barcha kodlarni ko'rishingiz mumkin. Biz hozircha bu hujjatga hech qanday o'zgartirish kiritmoqchi emasmiz, lekin aylanib o'ting va keyin nima qilishimizni bu darslikda bilib oling.

2 -qadam: Dark Sky API -dan foydalanish

Boshlang'ich davlat
Boshlang'ich davlat

Dark Sky API -dan foydalanish uchun sizga avval o'zingizning API kalitingiz kerak bo'ladi. Xavotir olmang, API kalitini olish tez va bepul. Sizga kerak bo'lgan yagona narsa - bu veb -saytga kirish va hisob yaratish uchun "Bepul sinab ko'rish" tugmasini bosish.

  • Siz har kuni 1 000 API qo'ng'iroqlarini bepul olasiz. Kundalik chegaradan oshgan har bir API so'rovi $ 0,0001 turadi.
  • Bu chegara har kuni UTC yarim tunda avtomatik ravishda tiklanadi.
  • Prognoz so'rovi kelgusi haftadagi ob -havo ma'lumotlarini qaytaradi.
  • Vaqt mashinasi so'rovi o'tmishdagi yoki kelajakdagi ob -havo sharoitlarini kuzatiladi yoki bashorat qiladi.

Sizning sirli Dark Sky API kalitingiz shunday ko'rinadi: 0123456789abcdef9876543210fedcba.

Quyidagi formatda brauzeringizga URL manzilini kiritish orqali Dark Sky -ga API qo'ng'iroq qilishingiz mumkin:

api.darksky.net/forecast/ [tugmachalari] [balandlik], [uzunlik]

"Kalit" ni Dark Sky API kalitingiz va uzunlik/kenglik bilan xohlaganingiz bilan almashtiring. Google xaritalariga borib, joylashuvingizni qidirish orqali siz uzunlik va kenglikni topishingiz mumkin. Bu qiymatlar URL manzilida bo'ladi. Kirish kalitingiz va qiymatlar manzil satriga qo'shilgan holda, yuqoridagi qora osmon URL manzilini nusxalash va joylashtirish.

Buni qilganingizdan so'ng siz shunday narsani ko'rasiz:

kun "," eng yaqin bo'ron masofasi ": 57," eng yaqinStormBearing ": 15," precipIntensity ": 0," precipProbability ": 0," harorat ": 53.9," ko'rinadigan harorat ": 53.9," dewPoint ": 29.59," namlik ": 0.39, "bosim": 1022.45, "windSpeed": 3.87, "windGust": 9.25, "windBearing": 259, "cloudCover": 0.01, "uvIndex": 3, "ko'rinishi": 7.8, "ozon": 309.71}, "daqiqali": {"xulosa": "Bir soat uchun aniq.", "ikonka": "aniq kun", "ma'lumotlar": [{"vaqt": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…

O'qish juda qiyin va qiyin bo'lishi mumkin, shuning uchun men o'qishni osonlashtirish uchun JSON formatlash vositasidan foydalanishni maslahat beraman. Buni qilganingizda, u shunday ko'rinadi:

ob'ekt {9}

kenglik: 37.8267 uzunlik: -122.4233 vaqt mintaqasi: Amerika/Los_Angeles hozirda {19} vaqt: 1550615286 xulosa: Aniq belgi: aniq kun yaqinlikdagi bo'ronMasofa: 57 eng yaqin bo'ron: 15 yomg'ir zichlik: 0 yomg'ir 0,39 bosim: 1022,45 shamol Tezligi: 3,87 shamol Shamol: 9,25 shamol Rulman: 259 bulutMuqova: 0,01 uv Indeks: 3 ko'rinadigan: 7,8 ozon: 309,71

Siz hozirgina API -ga qo'ng'iroq qildingiz! Qarang, bu qanchalik oson edi? Siz hatto bitta kod qatorini yozishingiz shart emas edi. Endi siz API -ni o'zlashtirganingizdan so'ng, biz ma'lumotlarni uzatish qismiga o'tishimiz mumkin.

3 -qadam: dastlabki holat

Biz barcha ob -havo ma'lumotlarini bulutli xizmatga o'tkazmoqchimiz va bu xizmat bizning ma'lumotlarimizni noutbuk yoki mobil qurilmadan kira oladigan yaxshi boshqaruv paneliga aylantirishini xohlaymiz. Ma'lumotlarimiz manzilga muhtoj. Bu manzil sifatida biz Bosh shtatdan foydalanamiz.

1 -qadam: Boshlang'ich davlat hisobiga ro'yxatdan o'ting

Https://iot.app.initialstate.com saytiga o'ting va yangi hisob yarating. Siz 14 kunlik bepul sinov muddatiga ega bo'lasiz va elektron pochta manziliga ega bo'lganlar bepul talabalar rejasiga yozilishlari mumkin.

2 -qadam: ISStreamer -ni o'rnating

Raspberry Pi -ga boshlang'ich holat Python modulini o'rnating. Buyruq satrida quyidagi buyruqni bajaring:

$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

3 -qadam: Automagic -ni yarating 2 -bosqichdan so'ng siz ekranga quyidagi chiqishga o'xshash narsani ko'rasiz:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: ISStreamer Python -ni oson o'rnatishni boshlang! Bu o'rnatish uchun bir necha daqiqa vaqt ketishi mumkin, qahva oling:) Lekin qaytib kelishni unutmang, keyinroq savollarim bor! Easy_install topildi: setuptools 1.1.6 pip topildi: pip 1.5.6 dan /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip asosiy versiyasi: 1 pip kichik versiyasi: 5 ISStreamer topildi, yangilanmoqda … Talab allaqachon yangilangan: /Library/Python/2.7/site-packages-da ISStreamer tozalanmoqda… Siz avtomatik tarzda misol skriptini olishni xohlaysizmi? [y/N] Misolni qayerda saqlamoqchisiz? [standart:./is_example.py] Iltimos, qaysi shtat dasturidan foydalanayotganingizni tanlang: 1. app.initialstate.com 2. [YANGI!] iot.app.initialstate.com 1 yoki 2 -variantni kiriting: iot.app -ga kiring..initialstate.com foydalanuvchi nomi: iot.app.initialstate.com parolini kiriting:

Agar siz avtomatik skript namunasini olishni xohlaysizmi, degan savolga "y" ni "ha" deb qo'ying va skriptni standart joyga saqlash uchun enter tugmasini bosing. Qaysi ilovadan foydalanayotganingiz haqidagi savol uchun 2 -ni tanlang (agar siz 2018 yil noyabrgacha ro'yxatdan o'tmagan bo'lsangiz) va foydalanuvchi nomingiz va parolingizni kiriting.

4 -qadam: Misol skriptini ishga tushiring

Boshlang'ich davlat hisob qaydnomangizga ma'lumotlar oqimini yaratishimiz uchun test skriptini ishga tushiring. Quyidagi buyruqni yozing:

$ python is_example.py

6 -qadam: Ma'lumot namunasi

Veb -brauzerda boshlang'ich davlat hisobingizga qayting. "Python oqimining namunasi" deb nomlangan yangi ma'lumotlar to'plami jurnal javonining chap tomonida ko'rsatilishi kerak edi (ehtimol siz sahifani yangilashingiz kerak bo'ladi). Ma'lumotlaringizni ko'rish uchun bu chelakka bosing.

4 -qadam: Dark Sky ob -havo asboblar paneli

Qorong'i osmon ob -havo asboblar paneli
Qorong'i osmon ob -havo asboblar paneli

Endi qiziqarli qism uchun. Biz Dark Sky API -dan foydalanib, ob -havo asboblar panelini yaratishga va biz tanlagan joy uchun ob -havo tarixini yozishga tayyormiz. Buning uchun biz Python skriptidan foydalanamiz: https://github.com/initialstate/darksky/blob/master/darksky.py. Bu skript sizning API kalitingiz yordamida Dark Sky API -ni chaqiradi va ma'lum vaqt oralig'ida ob -havo ma'lumotlarini oladi. Shuningdek, u sizning dastlabki shtat hisobingizga ma'lumotlarni uzatadi, bu sizga Dark Sky ob -havo boshqaruv panelini yaratishga imkon beradi.

Siz bu skriptni Pi -ga nusxalashingiz yoki unga ilgari klonlagan GitHub ombori orqali kirishingiz mumkin. Buni quyida joylashgan katalogingizga o'zgartirish orqali qilishingiz mumkin:

$ CD darkskiy

Bu erdan siz ob -havo boshqaruv panelini yaratish uchun ishga tushiriladigan python fayliga kira olasiz. Ishga tushirishdan oldin siz kerakli parametrlarni o'rnatishingiz va kalitlaringizni kiritishingiz kerak. Nano ni darksky.py fayliga yozib kiriting:

$ nano darksky.py

Keyin skriptning yuqori qismidagi bo'limni tahrir qiling:

# --------- Foydalanuvchi sozlamalari ---------

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "DARKSKY_API_KEY =" KO'R SKY API KEYINGIZNI BU YERDA BUGUN "BUCKET_NAME =": partly_sunny: " + CITY +" Ob -havo "BUCKET_KEYCESS =" ds1 ") BU YERDA "MINUTES_BOSHALARI_ O'QILGANLAR = 15 # ---------------------------------

Siz kerakli GPS koordinatalarini va shahar nomini belgilashingiz kerak. Shuningdek, siz Dark Sky API kalitini va Initial State hisob qaydnomangizga kirish kalitini kiritishingiz kerak, aks holda sizning ma'lumotlaringiz hech qaerga ketmaydi. MINUTES_BETWEEN_READS parametri sizning skriptingiz ob -havo ma'lumoti uchun Dark Sky API -ni qanchalik tez -tez so'rab turishini belgilaydi. 15 daqiqa uzoq muddatli yaxshi intervalni ta'minlaydi. Qisqa muddatli testlar uchun siz buni 0,5 daqiqaga qo'yishingiz mumkin. O'zgarishlarni kiriting, so'ng chiqish va saqlash uchun+X tugmalar birikmasini kiriting.

Parametrlarni o'rnatganingizdan so'ng, siz skriptni ishga tushirishga tayyormiz:

$ python darksky.py

Agar siz Pi-ga kirmoqchi bo'lsangiz va ushbu skriptni uzoq vaqt davomida uzluksiz ishlashini xohlasangiz, nohup buyrug'idan (o'chirilmasligi) quyidagicha foydalanishingiz mumkin:

$ nohup python darksky.py va

Bu skript faqat ob -havo ma'lumotlarini o'qib, uni dastlabki holatga yuborishdan ko'ra ko'proq narsani qiladi. Bu skript Boshlang'ich shtat asboblariga o'rnatilgan emoji qo'llab -quvvatlashidan foydalanib, asboblar panelini biroz zo'r qiladi. Weather_icon funktsiyasida ob -havo holatini hozirgi -> belgisidan olish va uni emoji belgisiga aylantirish uchun ishlatiladigan mantiqni ko'rishingiz mumkin. Moon_icon funktsiyasidagi oy fazasi va wind_dir_icon funktsiyasidagi shamol yo'nalishi uchun shunga o'xshash narsa sodir bo'ladi.

5 -qadam: Xulosa

Xulosa
Xulosa
Xulosa
Xulosa

Boshlang'ich shtat hisobingizga o'ting va ma'lumotlaringizga qarang. Men barcha foiz qiymatlarini yoy o'lchagichlarga, yog'ingarchilikni suyuqlik o'lchagichga va haroratni harorat o'lchagichga o'zgartirdim. Siz har qanday plitka turiga o'tishingiz va o'lchagichlar va chiziqli jadvallar uchun ranglarni tanlashingiz mumkin. Siz boshqaruv panelini qorong'i yoki ochiq qilib qo'yishingiz va iFrame -ni joylashtirish orqali yakuniy mahsulotni veb -saytga joylashtirishingiz mumkin.

Agar siz asboblar paneli tartibini umumiy ulushdan asboblar paneli sifatida ishlatmoqchi bo'lsangiz, bu yerdagi ko'rsatmalarga amal qilib, ma'lumotlar qutisiga tartibni import qilishingiz mumkin. Siz ko'proq kontekst berish uchun boshqaruv paneliga fon tasvirini qo'shishingiz mumkin.

Boshqaruv paneli uchun ochiq URL manzili -

Endi siz Dark Sky API -ni o'zlashtirdingiz, imkoniyatlar cheksiz! Internetda o'rganish uchun cheksiz miqdordagi bepul API mavjud.

Tavsiya: