Orodha ya maudhui:

Jenga Dashibodi ya Hali ya Hewa Ukitumia API ya Anga Nyeusi: Hatua 5 (na Picha)
Jenga Dashibodi ya Hali ya Hewa Ukitumia API ya Anga Nyeusi: Hatua 5 (na Picha)

Video: Jenga Dashibodi ya Hali ya Hewa Ukitumia API ya Anga Nyeusi: Hatua 5 (na Picha)

Video: Jenga Dashibodi ya Hali ya Hewa Ukitumia API ya Anga Nyeusi: Hatua 5 (na Picha)
Video: Majambazi walipopambana na Polisi baada ya kuiba pesa NMB Bank 2024, Novemba
Anonim
Image
Image

Anga la giza lina utaalam katika utabiri wa hali ya hewa na taswira. Kipengele baridi zaidi cha Anga Nyeusi ni API yao ya hali ya hewa ambayo tunaweza kutumia kupata data ya hali ya hewa kutoka karibu popote ulimwenguni. Sio tu hali ya hewa ni ya mvua au ya jua lakini joto, kiwango cha umande, upepo mkali, unyevu, mvua, shinikizo, fahirisi ya UV, na zaidi, inapatikana kwa urahisi popote unapotaka, wakati wowote unataka.

Wacha tujifunze jinsi ya kutumia API nyepesi ya Anga ya Giza. Ikiwa wewe ni mpya kutumia API nakuahidi hii itakuwa rahisi sana! Na ikiwa umetumia API hapo awali basi natumai tunaweza kukufundisha kitu kipya na nambari ambayo tumetumia.

Nini utahitaji kwa mradi huu:

  • Akaunti ya Dark Sky API
  • Akaunti ya Jimbo la Awali
  • Raspberry Pi au Laptop

Hatua ya 1: Kuanza

Tayari tumeweka kazi nyingi ya mguu kwako kuweka nambari pamoja na kuandaa habari. Tutakuhitaji tu ufanye marekebisho kadhaa njiani. Ikiwa unataka changamoto kidogo fanya mabadiliko kadhaa kwenye nambari yetu na ni data gani ya hali ya hewa inatumwa, kuna uwezekano mkubwa!

Ili kurudisha vitu vyote ambavyo tumekuandalia, utahitaji kugundua hazina kutoka GitHub. GitHub ni huduma ambayo inatuwezesha kuhifadhi, kurekebisha, na kusimamia miradi kama hii. Utataka kutumia hati hii kwenye kifaa kilichojitolea. Raspberry Pi ni chaguo kamili ya kutumia programu kama mafunzo haya.

Kuunganisha hazina yote tunayohitaji kufanya ni kwenda kwenye kituo chetu cha Pi, au kituo chako cha kompyuta ambacho ni SSH'd kwenye pi yako na andika amri hii:

$ git clone

Piga kuingia na utaona habari hii:

Kujiunga na 'darksky'…

kijijini: Kuhesabu vitu: 2, imefanywa. kijijini: Jumla 2 (delta 0), imetumika tena 0 (delta 0), imetumika tena pakiti 2 Kufungua vitu: 100% (2/2), imefanywa. Inakagua muunganisho… imekamilika.

Mara tu unapoona hii basi hongera, umefanikiwa kuunda GitHub Repo na kuwa na faili zote zinazohitajika kujenga mradi huu. Kabla ya kuendelea na hatua inayofuata, wacha tuchukue muda wa kuchunguza karibu na saraka hii na ujifunze amri chache za msingi za safu ya amri.

Andika kwa amri iliyo hapo chini kwenye kituo chako:

$ ls

Amri hii inaorodhesha kila kitu kinachopatikana kwenye saraka ambayo uko sasa. Orodha hii inaonyesha kwamba GitHub Repo yetu imefanikiwa kuorodheshwa kwenye saraka yetu chini ya jina "darksky." Wacha tuangalie kilicho kwenye saraka hiyo. Kuhamia saraka, unachohitaji kufanya ni kuandika "cd" na kisha andika jina la saraka ambayo unataka kwenda.

Katika kesi hii, tutaandika:

$ cd giza

Mara tu tutakapogonga kuingia, utaona kuwa sasa tuko kwenye saraka ya giza. Wacha tuandike "ls" tena ili kuona ni faili gani ambazo tumeweka kwenye pi yetu.

README.md darksky.py…

Hapa tunaona tumepata hati yetu ya kusoma na faili za chatu. Wacha tuangalie darksky.py kwa kutumia amri ya "nano". Amri ya nano inaturuhusu kufungua kihariri cha nano ambapo tuna nambari yetu yote ya chatu kwa kila sehemu ya mradi huu. Endelea na andika:

$ nano darksky.py

Hapa unaweza kuona nambari yote ambayo tumekuandalia mradi huu. Hatutafanya mabadiliko yoyote kwenye hati hii bado, lakini jisikie huru kuzunguka na kuona tutakachokuwa tukifanya baadaye kwenye mafunzo haya.

Hatua ya 2: Kutumia API ya Anga ya Giza

Jimbo la Awali
Jimbo la Awali

Ili kutumia API ya Anga ya Giza, unahitaji kwanza ufunguo wako wa API. Usijali, kupata kitufe cha API ni haraka na bure. Unachohitaji kufanya ni kwenda kwenye wavuti na bonyeza "Jaribu Bure" kuunda akaunti.

  • Unapata simu 1, 000 za API bure kila siku. Kila ombi la API juu ya kikomo cha bure cha kila siku hugharimu $ 0.0001.
  • Kikomo hiki kinabadilisha kiatomati kila siku katikati ya usiku wa manane UTC.
  • Ombi la Utabiri linarudisha utabiri wa hali ya hewa ya sasa kwa wiki ijayo.
  • Ombi la Mashine ya Wakati linarudi hali ya hali ya hewa iliyozingatiwa au ya utabiri kwa tarehe ya zamani au ya baadaye.

Kitufe chako cha siri cha Sky Sky API kitaonekana kama hii: 0123456789abcdef9876543210fedcba.

Unaweza kupiga simu ya API kwa Anga la giza kwa kuandika URL kwenye kivinjari chako kwa muundo ufuatao:

api.darkky.net/forecast/ [keykey//latitude], [longitude]

Badilisha "ufunguo" na ufunguo wako wa API ya Anga Nyeusi na longitudo / latitudo na kila kitu unachotaka. Unaweza kupata longitudo na latitudo kwa kwenda kwenye Ramani za Google na kutafuta mahali ulipo. Thamani hizo zitakuwa kwenye URL. Nakili na ubandike URL ya angani nyeusi hapo juu na ufunguo wako wa ufikiaji na maadili yaliyoongezwa kwenye upau wa anwani.

Mara tu unapofanya hivyo utaona kitu kama hiki:

", "shinikizo": 1022.45, "WindSpeed": 3.87, "windGust": 9.25, "windBearing": 259, "cloudCover": 0.01, "uvIndex": 3, "kujulikana": 7.8, "ozoni": 309.71}, "minutely": {"muhtasari": "Wazi kwa saa.", "icon": "clear-day", "data": [{"time": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…

Inaweza kuwa ngumu sana na ngumu kusoma kwa hivyo ninachopendekeza kufanya ni kutumia Format ya JSON kusaidia kufanya data iweze kusomeka zaidi. Unapofanya hivi itaonekana kama hii:

pinga {9}

latitudo: longitudo 37.8267: -122.4233 saa za eneo: Amerika / Los_Angeles kwa sasa {19} wakati: 1550615286 muhtasari: Futa ikoni: siku wazi karibuStormDistance: 57 karibuStormBaring: 15 precipIntensity: 0 precipUwezekani: 0 joto: 53.9 dhahiri Joto: 53.9 dewPoint: 29.59 unyevu Shinikizo la 0.39: upepo wa 1022.45 Kasi: 3.87 upepo Gust: upepo 9.25 Kuzaa: 259 wingu Kufunika: 0.01 uvIndex: 3 kujulikana: ozoni 7.8: 309.71

Umepiga simu ya API! Angalia jinsi hiyo ilikuwa rahisi? Haukuhitaji hata kuandika mstari mmoja wa nambari. Sasa kwa kuwa umejifunza API tunaweza kuendelea na sehemu ya utiririshaji wa data.

Hatua ya 3: Jimbo la Awali

Tunataka kusambaza data zetu zote za hali ya hewa kwa huduma ya wingu na kuwa na huduma hiyo ibadilishe data yetu kuwa dashibodi nzuri ambayo tunaweza kupata kutoka kwa kompyuta yetu ndogo au kifaa cha rununu. Takwimu zetu zinahitaji marudio. Tutatumia Jimbo la Awali kama marudio hayo.

Hatua ya 1: Jisajili kwa Akaunti ya Jimbo la Awali

Nenda kwa https://iot.app.initialstate.com na uunda akaunti mpya. Unapata jaribio la bure la siku 14 na mtu yeyote aliye na anwani ya barua pepe ya edu anaweza kujiandikisha kwa mpango wa bure wa mwanafunzi.

Hatua ya 2: Sakinisha ISStreamer

Sakinisha moduli ya Python State State kwenye Raspberry Pi yako. Katika mwongozo wa amri, tumia amri ifuatayo:

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

Hatua ya 3: Tengeneza AutomagicBaada ya Hatua ya 2 utaona kitu sawa na pato lifuatalo kwenye skrini:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: Kuanzia ISStreamer Python Ufungaji Rahisi! Hii inaweza kuchukua dakika kadhaa kufunga, kunyakua kahawa kadhaa:) Lakini usisahau kurudi, nitakuwa na maswali baadaye! Imepatikana easy_install: setuptools 1.1.6 Imepatikana pip: pip 1.5.6 kutoka / Library / Python / 2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip great version: 1 pip minor version: 5 ISStreamer imepatikana, inasasisha… Mahitaji tayari yamesasishwa: ISStreamer katika /Library/Python/2.7/site-packages Inasafisha… Je! Unataka kiatomati kupata hati ya mfano? [y / N] Unataka kuokoa mfano wapi? [chaguo-msingi:./is_example.py] Tafadhali chagua programu ipi ya Jimbo la Awali unayotumia: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Ingiza chaguo 1 au 2: Ingiza iot.app jina la mtumiaji la.initialstate.com: Ingiza nenosiri la iot.app.initialstate.com:

Unapoulizwa ikiwa unataka kiatomati kupata hati ya mfano weka "y" kwa ndio na bonyeza kitufe cha kuingia ili kuhifadhi hati yako katika eneo chaguo-msingi. Kwa swali kuhusu ni programu ipi unayotumia, chagua 2 (isipokuwa ikiwa umejisajili kabla ya Novemba 2018) na uweke jina lako la mtumiaji na nywila.

Hatua ya 4: Endesha Mfano wa Mfano

Tumia hati ya jaribio ili kuhakikisha kuwa tunaweza kuunda mkondo wa data kwenye akaunti yako ya Jimbo la Awali. Andika amri ifuatayo:

$ chatu ni_mfano.py

Hatua ya 6: Mfano wa Takwimu

Rudi kwenye akaunti yako ya Jimbo la Awali katika kivinjari chako cha wavuti. Ndoo mpya ya data iitwayo "Mfano wa Mkondo wa Python" inapaswa kuwa imeonekana upande wa kushoto kwenye rafu yako ya logi (huenda ukalazimika kuonyesha ukurasa upya). Bonyeza kwenye ndoo hii ili uone data yako.

Hatua ya 4: Dashibodi ya Hali ya Hewa ya Anga Nyeusi

Dashibodi ya Hali ya Hewa ya Anga Nyeusi
Dashibodi ya Hali ya Hewa ya Anga Nyeusi

Sasa kwa sehemu ya kufurahisha. Tuko tayari kuanza kutumia API ya Anga ya Giza kuunda dashibodi ya hali ya hewa na kunasa historia ya hali ya hewa kwa eneo tunalochagua. Ili kufanya hivyo, tutatumia hati ya Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Hati hii inaita API ya Anga ya Giza kwa kutumia ufunguo wako wa API na hupata habari ya hali ya hewa kwa muda maalum. Pia hutiririsha data hiyo kwa akaunti yako ya Jimbo la Awali, ambayo itakuruhusu kuunda dashibodi ya hali ya hewa ya Anga ya giza.

Unaweza kunakili hati hii kwa Pi yako, au kuifikia kupitia hazina ya GitHub ambayo tuliiumba mapema. Unaweza kufanya hivyo kwa kubadilisha kwenye saraka yako ya giza kwa kuandika:

$ cd giza

Kutoka hapa, utaweza kufikia faili ya chatu ambayo tutatumia kuunda dashibodi yetu ya hali ya hewa. Kabla ya kuiendesha, unahitaji kuweka vigezo vyako unavyotaka na uingize funguo zako. Nano kwenye faili ya darksky.py kwa kuandika:

$ nano darksky.py

Kisha hariri sehemu karibu na juu ya hati:

# --------- Mipangilio ya Mtumiaji ---------

JIJI = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "WEKA API YAKO YA GIZA KIWANGO HAPA" BUCKET_NAME = ": sehemu_sunny:" + JIJI + "Hali ya hewa" BUCKET_KEY = "ds1" ACCESS_KEY = " MUHIMU HAPA "DAKIKA_KATI YA_KUSOMA = 15 # ----------------------

Unahitaji kuweka kuratibu zinazohitajika za GPS na jina la jiji. Lazima pia uweke ufunguo wako wa API ya Anga Nyeusi na ufunguo wako wa ufikiaji wa akaunti ya Jimbo la Awali au data yako haitaenda popote. Kigezo cha MINUTES_BETWEEN_READS kitaweka ni mara ngapi hati yako itachagua API ya Anga ya Giza kwa habari ya hali ya hewa. Dakika 15 hutoa muda mzuri wa muda mrefu. Kwa sababu ya upimaji wa muda mfupi, unaweza kuweka hii hadi dakika 0.5. Fanya mabadiliko yako kisha ingiza udhibiti + X kutoka na kuokoa.

Mara baada ya kuweka vigezo vyako, uko tayari kuendesha hati yako:

$ chatu darksky.py

Ikiwa unashirikiana na Pi yako na unataka kuondoka hati hii bila kukatizwa kwa muda mrefu, unaweza kutumia amri ya nohup (hakuna hang-up) kama ifuatavyo:

$ nohup chatu darksky.py &

Hati hii itafanya zaidi kuliko kusoma tu data ya hali ya hewa na kuipeleka kwa Jimbo la Awali. Hati hii itachukua faida ya msaada wa emoji uliojengwa katika zana za Jimbo la Awali ili kufanya dashibodi iwe baridi zaidi. Unaweza kuona mantiki inayotumiwa kuchukua hali ya hali ya hewa kutoka kwa ikoni ya sasa -> na kuibadilisha kuwa ishara ya emoji katika kazi ya hali ya hewa_ikoni. Kitu kama hicho hufanyika kwa awamu ya mwezi katika kazi ya moon_icon na mwelekeo wa upepo katika kazi ya wind_dir_icon.

Hatua ya 5: Hitimisho

Hitimisho
Hitimisho
Hitimisho
Hitimisho

Nenda kwenye akaunti yako ya Jimbo la Awali na uangalie data yako. Nilibadilisha maadili yangu yote kuwa viwango vya arc, mvua kwa kupima maji, na joto kuwa kipimo cha joto. Unaweza kubadilisha aina yoyote ya Tile na uchague rangi zako kwa viwango na chati za laini. Unaweza kufanya dashibodi yako iwe nyeusi au nyepesi na upachike bidhaa ya mwisho kwenye wavuti ukitumia iFrame ya kupachika.

Ikiwa unataka kutumia mpangilio wa dashibodi kutoka kwa kushiriki kwa umma kama dashibodi yako, unaweza kuagiza mpangilio kwenye ndoo yako ya data kwa kufuata maagizo hapa. Unaweza kuongeza picha ya mandharinyuma kwenye dashibodi yako ili kuipa muktadha zaidi.

URL ya kushiriki kwa umma kwa dashibodi yetu ni

Sasa umesimamia API ya Anga ya Giza uwezekano hauwezekani! Kuna kiwango kisicho na kikomo cha mkondoni wa API za bure ili uchunguze ili uanze.

Ilipendekeza: