Агуулгын хүснэгт:

Dark Sky API ашиглан цаг агаарын хяналтын самбар бүтээх: 5 алхам (зурагтай)
Dark Sky API ашиглан цаг агаарын хяналтын самбар бүтээх: 5 алхам (зурагтай)

Видео: Dark Sky API ашиглан цаг агаарын хяналтын самбар бүтээх: 5 алхам (зурагтай)

Видео: Dark Sky API ашиглан цаг агаарын хяналтын самбар бүтээх: 5 алхам (зурагтай)
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Долдугаар сарын
Anonim
Image
Image

Dark Sky нь цаг агаарын урьдчилсан мэдээ, дүрслэлээр мэргэшсэн. Dark Sky -ийн хамгийн гайхалтай зүйл бол тэдний цаг агаарын мэдээлэл бөгөөд бид дэлхийн бараг хаана ч байсан цаг агаарын мэдээллийг авах боломжтой. Энэ нь зөвхөн бороотой, нартай цаг агаар биш, харин температур, шүүдэр цэг, салхины хурд, чийгшил, хур тунадас, даралт, хэт ягаан туяаны индекс гэх мэт бүх зүйлийг хүссэн үедээ, хүссэн үедээ авах боломжтой.

Dark Sky-ийн супер энгийн API-ийг хэрхэн ашиглах талаар сурцгаая. Хэрэв та API -ийг ашиглаж эхэлж байгаа бол энэ нь үнэхээр хялбар болно гэж би танд амлаж байна! Хэрэв та өмнө нь API ашиглаж байсан бол бид ашиглаж байсан кодоороо танд шинэ зүйл зааж өгөх болно гэж найдаж байна.

Энэхүү төсөлд танд хэрэгтэй зүйл:

  • Dark Sky API данс
  • Анхны улсын данс
  • Raspberry Pi эсвэл зөөврийн компьютер

Алхам 1: Эхлэх

Кодыг нэгтгэж, мэдээллийг цэгцлэхийн тулд бид танд маш их ажил хийсэн. Замын дагуу бид танд хэд хэдэн тохируулга хийх хэрэгтэй болно. Хэрэв та жаахан сорилт хийхийг хүсч байвал манай кодод өөрчлөлт оруулах, цаг агаарын мэдээллийг илгээж байвал хязгааргүй боломжууд байна!

Бидний танд зориулж бэлтгэсэн бүх зүйлийг авахын тулд та GitHub -аас репозиторыг хуулбарлах хэрэгтэй болно. GitHub бол бидэнд ийм төслүүдийг хадгалах, засварлах, удирдах боломжийг олгодог үйлчилгээ юм. Та энэ скриптийг зориулалтын төхөөрөмж дээр ажиллуулахыг хүсэх болно. Raspberry Pi бол энэ заавар шиг програм ажиллуулах төгс сонголт юм.

Хадгалах санг хуулбарлахын тулд бидний хийх ёстой зүйл бол манай Pi терминал эсвэл таны компьютерт SSH оруулсан терминал руу ороод энэ тушаалыг бичих явдал юм.

$ git клон

Enter дарж, та энэ мэдээллийг харах болно.

'Даркский' руу клон хийж байна …

алсын: Объект тоолох: 2, дууссан. алсын: Нийт 2 (дельта 0), дахин ашигласан 0 (дельта 0), дахин багцалсан 2 Обьектуудыг задлах: 100% (2/2), хийсэн. Холболтыг шалгаж байна … боллоо.

Үүнийг хараад баяр хүргэе, та GitHub репо -г амжилттай хуулбарлаж, энэ төслийг бүтээхэд шаардлагатай бүх файлыг авсан болно. Дараагийн алхам руу шилжихээсээ өмнө энэ лавлахыг судалж, хэд хэдэн үндсэн тушаалын командыг сурцгаая.

Дараах тушаалыг терминалдаа оруулна уу.

$ ls

Энэ тушаал нь таны одоо байгаа лавлахад байгаа бүх зүйлийг жагсаасан болно. Энэ жагсаалт нь манай GitHub репо -г манай директор руу "darksky" нэрээр амжилттай хуулбарласан болохыг харуулж байна. Энэ лавлахад юу байгааг харцгаая. Директор руу шилжихийн тулд "cd" гэж бичээд очихыг хүссэн директорынхаа нэрийг бичихэд л хангалттай.

Энэ тохиолдолд бид бичнэ:

$ cd даркский

Нэвтрэх товчийг дарсны дараа бид одоо харанхуй лавлахад байгааг харах болно. Pi дээр ямар файл суулгасан болохыг харахын тулд "ls" гэж дахин бичье.

README.md darksky.py…

Энд бид уншиж буй баримт бичиг, питон файлуудтайгаа харж байна. "Нано" командыг ашиглан darksky.py -ийг авч үзье. Нано тушаал нь нано текст засварлагчийг нээх боломжийг олгодог бөгөөд энд манай төслийн бүх сегментэд зориулсан бүх питон код байдаг. Үргэлжлүүлэн бичнэ үү:

$ нано darksky.py

Та энэ төсөлд зориулж бидний бэлтгэсэн бүх кодыг эндээс харах боломжтой. Бид одоохондоо энэ баримт бичигт ямар нэгэн өөрчлөлт оруулахгүй, гэхдээ эргэлдэж, дараа нь юу хийх гэж байгаагаа энэ гарын авлагаас үзнэ үү.

Алхам 2: Dark Sky API ашиглах

Анхны төлөв
Анхны төлөв

Dark Sky API -ийг ашиглахын тулд эхлээд өөрийн API түлхүүр хэрэгтэй болно. Санаа зоволтгүй, API түлхүүр авах нь хурдан бөгөөд үнэгүй юм. Та вэбсайт руу ороод данс үүсгэхийн тулд "Үнэгүй туршиж үзэх" дээр дарахад л хангалттай.

  • Та өдөр бүр 1000 API дуудлага үнэгүй авах боломжтой. Өдөр тутмын үнэгүй хязгаараас давсан API хүсэлт бүр 0.0001 долларын үнэтэй байдаг.
  • Энэ хязгаарыг өдөр бүр UTC шөнө дунд автоматаар тохируулдаг.
  • Урьдчилсан мэдээ нь ирэх долоо хоногийн цаг агаарын урьдчилсан мэдээг буцааж өгдөг.
  • Цаг хугацааны машины хүсэлт нь өнгөрсөн эсвэл ирээдүйн цаг агаарын урьдчилсан мэдээг буцааж өгдөг.

Таны Dark Sky API нууц түлхүүр иймэрхүү харагдах болно: 0123456789abcdef9876543210fedcba.

Та доорх форматаар хөтөчдөө URL оруулснаар Dark Sky руу API дуудлага хийх боломжтой.

api.darksky.net/forecast/ [түлхүүр]/ [уртраг], [уртраг]

"Түлхүүр" -ийг Dark Sky API түлхүүр, уртраг/өргөргийг хүссэн зүйлээрээ солино уу. Та Google газрын зураг руу орж өөрийн байршлыг хайж олох замаар уртраг, өргөргөө олох боломжтой. Эдгээр утгууд URL дээр байх болно. Дээрх харанхуй тэнгэрийн URL -г хуулж, хандалтын түлхүүр болон утгыг хаягийн мөрөнд нэмнэ үү.

Үүнийг хийсний дараа та иймэрхүү зүйлийг харах болно.

өдөр "," ойролцоохStormDistance ": 57," хамгийн ойрынStormBearing ": 15," precipIntensity ": 0," precipProbability ": 0," температур ": 53.9," илт Температур ": 53.9," dewPoint ": 29.59," чийгшил ": 0.39, "даралт": 1022.45, "windSpeed": 3.87, "windGust": 9.25, "windBearing": 259, "cloudCover": 0.01, "uvIndex": 3, "харагдах байдал": 7.8, "озон": 309.71}, "минутын дотор": {"хураангуй": "Цагийн хувьд цэвэрлэнэ.", "icon": "тодорхой өдөр", "өгөгдөл": [{"цаг": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…

Уншихад жаахан төвөгтэй, хэцүү байж магадгүй тул өгөгдлийг илүү уншихад хялбар болгохын тулд JSON форматлагч ашиглахыг зөвлөж байна. Үүнийг хийх үед иймэрхүү харагдах болно:

объект {9}

өргөрөг: 37.8267 уртраг: -122.4233 цагийн бүс: America/Los_Angeles одоогоор {19} цаг: 1550615286 хураангуй: Тодорхой дүрс: тодорхой өдөр ойрхон шуурга Холын зай: 57 хамгийн ойрын шуурга Холхивч: 15 хур тунадас 0.39 даралт: 1022.45 салхи Хурд: 3.87 салхи Хүч: 9.25 салхи Холхивч: 259 үүл Хавтас: 0.01 uv Индекс: 3 үзэгдэх орчин: 7.8 озон: 309.71

Та дөнгөж сая API дуудлага хийлээ! Энэ ямар амархан байсныг харж байна уу? Та ганц мөр код бичих шаардлагагүй байсан. Та API -г эзэмшсэн бол бид өгөгдөл дамжуулах хэсэг рүү шилжиж болно.

Алхам 3: Анхны төлөв

Бид цаг агаарын бүх мэдээллээ үүлний үйлчилгээ рүү дамжуулж, энэ үйлчилгээ нь бидний өгөгдлийг зөөврийн компьютер эсвэл хөдөлгөөнт төхөөрөмжөөсөө хандах боломжтой сайн самбар болгон хувиргахыг хүсч байна. Манай өгөгдөлд очих газар хэрэгтэй байна. Бид очих газраа Анхны мужийг ашиглах болно.

Алхам 1: Анхны улсын данс бүртгүүлэх

Https://iot.app.initialstate.com хаягаар орж шинэ данс үүсгэнэ үү. Та 14 хоногийн үнэгүй туршилтыг авах бөгөөд eu имэйл хаягтай хүн үнэгүй оюутны төлөвлөгөөнд бүртгүүлж болно.

Алхам 2: ISStreamer -ийг суулгана уу

Анхны төлөв Python модулийг Raspberry Pi дээрээ суулгаарай. Тушаалын мөрөнд дараах тушаалыг ажиллуулна уу.

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

Алхам 3: Automagic хийх 2 -р алхамыг хийсний дараа дэлгэцэн дээрх дараах гаралттай төстэй зүйлийг харах болно.

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: ISStreamer Python хялбар суулгалтыг эхлүүлж байна! Суулгахад хэдэн минут шаардагдах болно, кофе аваарай:) Гэхдээ буцаж ирэхээ бүү мартаарай, дараа нь надад асуулт байна! Easy_install-ийг олсон: setuptools 1.1.6 pip/pip/1.5.6-ийг /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer олдсон, шинэчлэгдэж байна … Шаардлага аль хэдийн шинэчлэгдсэн байна: /Library/Python/2.7/site-packages дахь ISStreamer Цэвэрлэгээ… Та жишээ скриптийг автоматаар авахыг хүсч байна уу? [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 дарж скриптийг анхдагч байршилд хадгална уу. Та ямар апп ашиглаж байгаа талаар асуухын тулд 2 -г сонгоод (2018 оны 11 -р сараас өмнө бүртгүүлээгүй бол) хэрэглэгчийн нэр, нууц үгээ оруулна уу.

Алхам 4: Жишээ скриптийг ажиллуулна уу

Туршилтын скриптийг ажиллуулснаар бид таны анхны төлөвт өгөгдөл дамжуулах боломжтой болно. Дараах тушаалыг бичнэ үү.

$ python is_example.py

Алхам 6: Жишээ өгөгдөл

Вэб хөтөч дээрээ анхны төлөв рүүгээ буцна уу. "Python урсгалын жишээ" нэртэй шинэ өгөгдлийн сав таны бүртгэлийн тавиур дээр зүүн талд гарч ирэх ёстой байсан (та хуудсыг шинэчлэх шаардлагатай байж магадгүй юм). Өгөгдлөө харахын тулд энэ хувин дээр дарна уу.

Алхам 4: Харанхуй тэнгэрийн цаг агаарын хяналтын самбар

Харанхуй тэнгэрийн цаг агаарын хяналтын самбар
Харанхуй тэнгэрийн цаг агаарын хяналтын самбар

Одоо хөгжилтэй хэсгийн талаар. Бид Dark Sky API -ийг ашиглан цаг агаарын хяналтын самбар үүсгэж, сонгосон байршлынхаа цаг агаарын түүхийг авахад бэлэн байна. Үүнийг хийхийн тулд бид Python скриптийг ашиглах гэж байна: https://github.com/initialstate/darksky/blob/master/darksky.py. Энэ скрипт нь таны API түлхүүрийг ашиглан Dark Sky API -ийг дуудаж, цаг агаарын мэдээллийг тодорхой хугацааны дотор авдаг. Энэ нь мөн өгөгдлийг таны анхны төлөв рүү дамжуулдаг бөгөөд энэ нь танд Dark Sky цаг агаарын хяналтын самбар үүсгэх боломжийг олгоно.

Та энэ скриптийг өөрийн Pi рүү хуулж эсвэл өмнө нь хуулбарласан GitHub репозитороор дамжуулан үзэх боломжтой. Та үүнийг дарксын лавлах руу оруулаад үүнийг хийж болно:

$ cd даркский

Эндээс та цаг агаарын хяналтын самбар үүсгэхийн тулд бидний ажиллуулах питон файлд хандах боломжтой болно. Үүнийг ажиллуулахын өмнө та хүссэн параметрээ тохируулж, түлхүүрээ оруулах хэрэгтэй. Nano -ийг darksky.py файл руу оруулна уу:

$ нано darksky.py

Дараа нь скриптийн дээд хэсэгт байрлах хэсгийг засна уу.

# --------- Хэрэглэгчийн тохиргоо ---------

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "Харанхуй тэнгэрийн API түлхүүрээ энд байрлуул" "BUCKET_NAME =": partly_sunny: " + CITY +" Weather "BUCKET_KEYCESS ACCESS =" ds1 " ТҮҮНИЙ ЭНД "УНШИГДАХ_ХОЁР минут = 15 # ---------------------------------

Та хүссэн GPS координат, хотын нэрийг тохируулах хэрэгтэй. Та мөн Dark Sky API түлхүүрээ оруулах ёстой бөгөөд таны анхны дансны хандалтын түлхүүрийг оруулахгүй бол таны өгөгдөл хаашаа ч явахгүй болно. MINUTES_BETWEEN_READS параметр нь таны скрипт харанхуй тэнгэрийн API -аас хэр олон удаа цаг агаарын мэдээлэл авахыг тохируулах болно. 15 минут нь урт хугацааны сайхан интервал өгдөг. Богино хугацааны туршилт хийхийн тулд та үүнийг 0.5 минут болгож тохируулж болно. Өөрчлөлтөө хийсний дараа+X товчлуурыг дарж гараад хадгална уу.

Параметрүүдийг тохируулсны дараа та скриптийг ажиллуулахад бэлэн байна.

$ python darksky.py

Хэрэв та Pi рүүгээ нэвтэрч байгаа бөгөөд энэ скриптийг удаан хугацаанд тасалдалгүй үлдээхийг хүсч байвал nohup командыг (залгаагүй) дараах байдлаар ашиглаж болно.

$ nohup python darksky.py &

Энэ скрипт нь зөвхөн цаг агаарын мэдээллийг уншиж, анхны төлөв рүү илгээхээс илүү их зүйлийг хийх болно. Энэхүү скрипт нь Initial State -ийн хэрэгслүүдэд суулгагдсан эможи дэмжлэгийг ашиглан самбарыг арай гоё болгох болно. Цаг агаарын төлөв байдлыг одоогийн -> дүрс тэмдгээс авч, үүнийг emoji токен болгон хувиргах логикийг weather_icon функцээс харж болно. Moon_icon функц дахь сарны үе болон wind_dir_icon функцын салхины чиглэлд үүнтэй төстэй зүйл тохиолддог.

Алхам 5: Дүгнэлт

Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт

Анхны муж данс руугаа ороод өгөгдлөө харна уу. Би бүх хувийн утгыг нуман хэмжигч, хур тунадасыг шингэн хэмжигч, температурыг хэмжигч болгон өөрчилсөн. Та ямар ч төрлийн плита хэлбэрт шилжиж, хэмжигч ба шугамын хүснэгтэд өөрийн өнгийг сонгож болно. Та хянах самбараа харанхуй эсвэл гэрэл болгож, эцсийн бүтээгдэхүүнийг embed iFrame ашиглан вэбсайт руу оруулах боломжтой.

Хэрэв та хяналтын самбарын байршлыг олон нийтийн хуваалцалтаас өөрийн самбар болгон ашиглахыг хүсвэл энд байгаа зааврыг дагаж өгөгдлийн хувиндаа байршлыг оруулж болно. Илүү их контекст өгөхийн тулд та самбарынхаа дэвсгэр зургийг нэмж болно.

Манай хяналтын самбарын нийтэд хуваалцах URL нь https://go.init.st/0hw08py юм.

Одоо та Dark Sky API -ийг эзэмшсэн бөгөөд боломжууд хязгааргүй юм! Хязгааргүй хэмжээний үнэгүй онлайн API байдаг тул үүнийг эхлүүлээрэй.

Зөвлөмж болгож буй: