Mundarija:
- 1 -qadam: Ishga kirishish
- 2 -qadam: Dark Sky API -dan foydalanish
- 3 -qadam: dastlabki holat
- 4 -qadam: Dark Sky ob -havo asboblar paneli
- 5 -qadam: Xulosa
Video: Dark Sky API yordamida ob -havo asboblar panelini yarating: 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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
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
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
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:
Ishga tushirish panelini o'zingiz yarating: 6 qadam
O'zingizning ishga tushirish panelini yarating: DIY yoki Buy -ning ushbu bo'limida men sizga o'z ishga tushirish panelini qanday yaratganimni ko'rsataman. Bu shuni anglatadiki, men sizga MIDI moslamasini yaratish uchun dizayn g'oyasini 3D Prints, WS2812 LEDlari, sensorli kalitlar va Arduino bilan qanday birlashtirganimni ko'rsataman. Qurilish vaqtida
Qadimgi dvigatelni boshqarish uchun eski noutbukning sensorli panelini qayta ishlating: 11 qadam (rasmlar bilan)
Qadimgi noutbukning sensorli panelini qadam motorini boshqarish uchun qayta ishlating: Men bu loyihani bir necha oy oldin qilganman. Bir necha kun oldin men Reddit -da r/Arduino -da loyihaning videosini joylashtirdim. Loyihaga qiziqayotgan odamlarni ko'rib, men ushbu ko'rsatmalarni Arduino kodiga o'zgartirishlar kiritishga qaror qildim
Kompyuterni boshqarish uchun eski noutbukning sensorli panelini qayta ishlating!: 11 qadam (rasmlar bilan)
Kompyuterni boshqarish uchun eski noutbukning sensorli panelini qayta ishlating !: PS/2 noutbuklarining sensorli panellari mikrokontroller bilan ishlashda eng zo'r foydalanuvchi interfeysi qurilmalaridan biridir. Barmoqlarning siljishi va tegishi imo -ishoralarni boshqarishni juda oddiy va qiziqarli tarzda amalga oshirishi mumkin. Ushbu yo'riqnomada keling, uni birlashtiramiz
Infinity oynasi va stol (oddiy asboblar bilan): 7 qadam (rasmlar bilan)
Cheksiz oyna va stol (tasodifiy asboblar bilan): Salom hammaga, men bir muncha vaqt oldin men bu ko'rsatmaga duch keldim va shu zahotiyoq o'zimnikini yasashni xohladim, lekin qo'llarimni ushlay olmadim 1) bir tomonlama pleksiglas oynasi 2) CNC router. Atrofda bir oz qidirib, men o'ylab topdim
O'zingizning veb -sörfing asboblar panelini yarating: 5 qadam
O'zingizning veb -sayohatingiz uchun asboblar panelini yarating: O'zingizning asboblar panelini yaratish bo'yicha quyida keltirilgan barcha qadamlarni bajarishdan oldin, asboblar paneli birinchi navbatda qanday ishlashini ko'rsatib ko'ring, siz bu saytga o'tib, asboblar panelini yuklab olishingiz mumkin. ourtoolbar.com/ Adware, virus yo'q