Სარჩევი:
- ნაბიჯი 1: დაწყება
- ნაბიჯი 2: Dark Sky API– ს გამოყენება
- ნაბიჯი 3: საწყისი მდგომარეობა
- ნაბიჯი 4: Dark Sky ამინდის დაფა
- ნაბიჯი 5: დასკვნა
ვიდეო: შექმენით ამინდის დაფა Dark Sky API გამოყენებით: 5 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
Dark Sky სპეციალიზირებულია ამინდის პროგნოზირებასა და ვიზუალიზაციაში. Dark Sky– ის ყველაზე მაგარი ასპექტია მათი ამინდის API, რომლის საშუალებითაც ჩვენ შეგვიძლია ვიპოვოთ ამინდის მონაცემები მსოფლიოს თითქმის ნებისმიერი ადგილიდან. ამინდი არ არის მხოლოდ წვიმიანი ან მზიანი, არამედ ტემპერატურა, ნამის წერტილი, ქარის ქარიშხალი, ტენიანობა, ნალექი, წნევა, ულტრაიისფერი ინდექსი და სხვა, ყველაფერი ადვილად ხელმისაწვდომია სადაც გინდათ, როცა გინდათ.
მოდით ვისწავლოთ თუ როგორ გამოიყენოთ Dark Sky– ის სუპერ მარტივი API. თუ ახალი ხართ API– ს გამოყენებისას, გპირდებით, რომ ეს ნამდვილად ადვილი იქნება! და თუ თქვენ ადრე იყენებდით API– ს, მაშინ ვიმედოვნებ, რომ ჩვენ შეგვიძლია გასწავლოთ რაიმე ახალი ჩვენ მიერ გამოყენებული კოდით.
რა დაგჭირდებათ ამ პროექტისთვის:
- Dark Sky API ანგარიში
- საწყისი სახელმწიფო ანგარიში
- ჟოლო პი ან ლეპტოპი
ნაბიჯი 1: დაწყება
ჩვენ უკვე შევასრულეთ ბევრი სამუშაო თქვენთვის კოდის შედგენისა და ინფორმაციის ორგანიზების მიზნით. ჩვენ უბრალოდ დაგვჭირდება, რომ რამდენიმე კორექტირება შეიტანოთ გზაზე. თუ გსურთ ცოტაოდენი გამოწვევა შეიტანოთ ცვლილებები ჩვენს კოდში და რა ამინდის მონაცემები იგზავნება, არის უსაზღვრო შესაძლებლობები!
ყველაფრის აღსადგენად, რაც ჩვენ მოვამზადეთ თქვენთვის, თქვენ უნდა მოახდინოთ საცავის კლონირება GitHub– დან. GitHub არის სერვისი, რომელიც გვაძლევს საშუალებას შევინახოთ, გადახედოთ და მართოთ მსგავსი პროექტები. თქვენ მოისურვებთ ამ სკრიპტის გაშვებას სპეციალურ მოწყობილობაზე. Raspberry Pi არის შესანიშნავი ვარიანტი ამ გაკვეთილის მსგავსი პროგრამების გასაშვებად.
საცავის კლონირებისთვის ყველაფერი რაც ჩვენ გვჭირდება არის შეხვიდეთ ჩვენი Pi ტერმინალში, ან თქვენი კომპიუტერის ტერმინალში, რომელიც SSH არის თქვენს pi- ში და ჩაწეროთ ეს ბრძანება:
$ git კლონი
დააჭირეთ Enter და ნახავთ ამ ინფორმაციას:
"დარქსკის" კლონირება …
დისტანციური: ობიექტების დათვლა: 2, შესრულებულია. დისტანციური: სულ 2 (დელტა 0), ხელახლა გამოყენება 0 (დელტა 0), შეფუთვა-ხელახლა გამოყენება 2 საგნების შეფუთვა: 100% (2/2), შესრულებულია. კავშირის შემოწმება … შესრულებულია.
მას შემდეგ რაც დაინახავთ და გილოცავთ, თქვენ წარმატებით მოახდინეთ კლონირება GitHub Repo და გაქვთ ყველა საჭირო ფაილი ამ პროექტის შესაქმნელად. სანამ შემდეგ საფეხურზე გადავიდოდეთ, მოდი დრო დაუთმოთ ამ დირექტორიის შესამოწმებლად და ვისწავლოთ რამდენიმე ძირითადი ბრძანების სტრიქონი.
ჩაწერეთ ქვემოთ მოცემული ბრძანება თქვენს ტერმინალში:
$ ls
ეს ბრძანება ჩამოთვლის ყველაფერს, რაც ხელმისაწვდომია დირექტორიაში, რომელშიც ამჟამად იმყოფებით. ეს სია გვიჩვენებს, რომ ჩვენი GitHub Repo წარმატებით არის კლონირებული ჩვენს დირექტორიაში სახელწოდებით "darksky". მოდით შევხედოთ რა არის ამ დირექტორიაში. დირექტორიაში გადასასვლელად, ყველაფერი რაც თქვენ გჭირდებათ არის ჩაწეროთ „cd“და შემდეგ ჩაწეროთ დირექტორია, სადაც გსურთ წასვლა.
ამ შემთხვევაში, ჩვენ ვწერთ:
$ cd დარქსკი
მას შემდეგ რაც ჩვენ Enter- ს მოვახდენთ, ნახავთ, რომ ჩვენ ახლა ვართ დარქსკის დირექტორიაში. მოდით კვლავ ჩავწეროთ "ls", რომ ნახოთ რა ფაილები დავაყენეთ ჩვენს pi- ზე.
README.md darksky.py…
აქ ჩვენ ვხედავთ, რომ ჩვენ გვაქვს ჩვენი readme დოკუმენტი და პითონის ფაილები. მოდით შევხედოთ darksky.py "nano" ბრძანების გამოყენებით. ნანო ბრძანება საშუალებას გვაძლევს გავხსნათ ნანო ტექსტური რედაქტორი, სადაც გვაქვს ყველა ჩვენი პითონის კოდი ამ პროექტის თითოეული სეგმენტისთვის. წადი და ჩაწერე:
$ nano darksky.py
აქ თქვენ შეგიძლიათ ნახოთ ყველა კოდი, რომელიც ჩვენ მოვამზადეთ თქვენთვის ამ პროექტისათვის. ჩვენ ჯერჯერობით არ ვაპირებთ რაიმე ცვლილების შეტანას ამ დოკუმენტში, მაგრამ მოგერიდებათ გადაადგილება და ნახეთ რას ვაპირებთ მოგვიანებით ამ გაკვეთილში.
ნაბიჯი 2: Dark Sky API– ს გამოყენება
იმისათვის, რომ გამოიყენოთ Dark Sky API, პირველ რიგში გჭირდებათ თქვენი API გასაღები. არ ინერვიულოთ, API გასაღების მიღება სწრაფი და უფასოა. ყველაფერი რაც თქვენ გჭირდებათ არის გადადით ვებგვერდზე და დააწკაპუნეთ "სცადეთ უფასოდ" ანგარიშის შესაქმნელად.
- თქვენ იღებთ 1, 000 API ზარს უფასოდ ყოველდღე. API– ს ყოველი მოთხოვნა უფასო დღიური ლიმიტის გამო ღირს $ 0.0001.
- ეს ლიმიტი ავტომატურად ხელახლა იხსნება UTC შუაღამისას.
- პროგნოზის მოთხოვნა აბრუნებს მომავალი კვირის ამინდის პროგნოზს.
- დროის მანქანების მოთხოვნა აბრუნებს დაფიქსირებულ ან პროგნოზირებულ ამინდის პირობებს წარსულში ან მომავალში.
თქვენი საიდუმლო Dark Sky API გასაღები ასე გამოიყურება: 0123456789abcdef9876543210fedcba.
თქვენ შეგიძლიათ API დარეკოთ Dark Sky– ში თქვენი ბრაუზერის URL- ის აკრეფით შემდეგი ფორმატით:
api.darksky.net/forecast/on'skey Հայաստան/
შეცვალეთ "გასაღები" თქვენი Dark Sky API გასაღებით და გრძედი/გრძედი რაც გსურთ. თქვენ შეგიძლიათ იპოვოთ თქვენი გრძედი და გრძედი Google Maps– ზე გადასვლით და თქვენი მდებარეობის ძიებით. ეს მნიშვნელობები იქნება URL- ში. დააკოპირეთ და ჩასვით ზემოდან მუქი ცის URL თქვენი წვდომის გასაღებით და მისამართების ზოლში დამატებული მნიშვნელობებით.
ამის გაკეთების შემდეგ ნახავთ მსგავს რამეს:
დღე "," უახლოესი ქარიშხალი ": 57," უახლოესი ქარიშხალი ": 15," ნალექის ინტენსივობა ": 0," ნალექის ალბათობა ": 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}, "minutely": {"რეზიუმე": "წმინდა საათში.", "icon": "წმინდა დღე", "მონაცემები": [{"დრო": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…
ეს შეიძლება იყოს ცოტა დამთრგუნველი და რთული წასაკითხი, ამიტომ რასაც მე გირჩევთ გამოიყენოთ JSON ფორმატი, რომელიც დაგეხმარებათ მონაცემების უფრო წაკითხვად. როდესაც ამას გააკეთებთ, გამოიყურება ასე:
ობიექტი {9}
გრძედი: 37.8267 გრძედი: -122.4233 სასაათო სარტყელი: ამერიკა/ლოს -ანჯელესი ამჟამად {19} დრო: 1550615286 შეჯამება: წმინდა ხატი: დღის უახლოესი ქარიშხალი მანძილი: 57 უახლოესი ქარიშხალი ტარების: 15 ნალექი ინტენსივობა: 0 ნალექი ალბათობა: 0 ტემპერატურა: 53.9 აშკარა ტემპერატურა: 53.9 dew: წერტილი 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 დღიან უფასო საცდელს და ნებისმიერს, რომელსაც აქვს edu ელ.ფოსტის მისამართი, შეუძლია დარეგისტრირდეს უფასო სტუდენტურ გეგმაზე.
ნაბიჯი 2: დააინსტალირეთ ISStreamer
დააინსტალირეთ პირველადი სახელმწიფო პითონის მოდული თქვენს Raspberry Pi– ზე. ბრძანების სტრიქონში შეასრულეთ შემდეგი ბრძანება:
$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
ნაბიჯი 3: გააკეთეთ რამდენიმე ავტომაგიკა მე –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) პიპ ძირითადი ვერსია: 1 პიპ მცირე ვერსია: ნაპოვნია 5 ISStreamer, განახლებულია … მოთხოვნა უკვე განახლებულია: ISStreamer in /Library/Python/2.7/site-packages დასუფთავება… გსურთ ავტომატურად მიიღოთ სკრიპტის მაგალითი? [y/N] სად გსურთ შეინახოთ მაგალითი? [სტანდარტულად..initialstate.com მომხმარებლის სახელი: შეიყვანეთ iot.app.initialstate.com პაროლი:
კითხვაზე, თუ გსურთ ავტომატურად მიიღოთ სკრიპტის მაგალითი, მიუთითეთ "y" დიახ და დააჭირეთ Enter- ს, რათა შეინახოთ თქვენი სკრიპტი ნაგულისხმევ ადგილას. კითხვაზე, რომელ აპლიკაციას იყენებთ, აირჩიეთ 2 (თუ არ დარეგისტრირდით 2018 წლის ნოემბრამდე) და შეიყვანეთ თქვენი მომხმარებლის სახელი და პაროლი.
ნაბიჯი 4: გაუშვით სკრიპტის მაგალითი
გაუშვით საცდელი სკრიპტი, რომ დარწმუნდეთ, რომ ჩვენ შეგვიძლია შევქმნათ მონაცემთა ნაკადი თქვენს საწყის სახელმწიფო ანგარიშზე. ჩაწერეთ შემდეგი ბრძანება:
$ python is_example.py
ნაბიჯი 6: მონაცემების მაგალითი
დაუბრუნდით თქვენს საწყის მდგომარეობას თქვენს ბრაუზერში. ახალი მონაცემების კოლოფი სახელწოდებით "პითონის ნაკადის მაგალითი" უნდა გამოჩნდეს მარცხნივ თქვენს ჟურნალის თაროზე (შეიძლება დაგჭირდეთ გვერდის განახლება). დააწკაპუნეთ ამ ჩანთაზე თქვენი მონაცემების სანახავად.
ნაბიჯი 4: Dark Sky ამინდის დაფა
ახლა რაც შეეხება სახალისო ნაწილს. ჩვენ მზად ვართ დავიწყოთ Dark Sky API– ის გამოყენება ამინდის საინფორმაციო დაფის შესაქმნელად და ამინდის ისტორიის დასაფიქსირებლად ჩვენს მიერ არჩეული ადგილისთვის. ამისათვის ჩვენ ვიყენებთ პითონის სკრიპტს: https://github.com/initialstate/darksky/blob/master/darksky.py. ეს სკრიპტი უბრალოდ უწოდებს Dark Sky API– ს თქვენი API გასაღების გამოყენებით და იღებს ინფორმაციას ამინდის შესახებ განსაზღვრულ დროის ინტერვალში. ის ასევე ავრცელებს ამ მონაცემებს თქვენს საწყის სახელმწიფო ანგარიშზე, რაც საშუალებას მოგცემთ შექმნათ Dark Sky ამინდის დაფა.
თქვენ შეგიძლიათ დააკოპიროთ ეს სკრიპტი თქვენს Pi- ზე, ან შეხვიდეთ მასზე GitHub საცავის საშუალებით, რომელიც ჩვენ ადრე კლონირებული გვქონდა. ამის გაკეთება შეგიძლიათ darksky დირექტორიაში შეცვლით აკრეფით:
$ cd დარქსკი
აქედან თქვენ გექნებათ წვდომა პითონის ფაილზე, რომელსაც ჩვენ გავუშვებთ ჩვენი ამინდის საინფორმაციო დაფის შესაქმნელად. სანამ გაუშვებ, უნდა დააყენო სასურველი პარამეტრები და ჩასვა გასაღებები. ნანო darksky.py ფაილში აკრეფით:
$ nano darksky.py
შემდეგ შეასწორეთ სექცია სკრიპტის ზედა ნაწილთან ახლოს:
# --------- მომხმარებლის პარამეტრები ---------
CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "მოათავსეთ თქვენი მუქი ცისფერი API გასაღები აქ" BUCKET_NAME = ": ნაწილობრივ_მზიანი:" + ქალაქი + "ამინდი" BUCKET_KEY = წყლები = "ds1" გასაღები აქ "MINUTES_BETWEEN_READS = 15 # ---------------------------------
თქვენ უნდა დააყენოთ სასურველი GPS კოორდინატები და ქალაქის სახელი. თქვენ ასევე უნდა ჩასვათ თქვენი Dark Sky API გასაღები და თქვენი საწყისი მდგომარეობის ანგარიშის წვდომის გასაღები, ან თქვენი მონაცემები არსად წავა. MINUTES_BETWEEN_READS პარამეტრი განსაზღვრავს რამდენად ხშირად გამოაქვეყნებს თქვენი სკრიპტი Dark Sky API ამინდის ინფორმაციას. 15 წუთი უზრუნველყოფს სასიამოვნო ინტერვალს გრძელვადიან პერსპექტივაში. მოკლევადიანი ტესტირების მიზნით, შეგიძლიათ დააყენოთ ეს 0.5 წუთზე. შეიტანეთ ცვლილებები, შემდეგ შეიყვანეთ კონტროლი+X გასასვლელად და შესანახად.
პარამეტრების დაყენების შემდეგ, თქვენ მზად ხართ სკრიპტის გასაშვებად:
$ python darksky.py
თუ თქვენ შედიხართ თქვენს Pi– ში და გინდათ რომ ეს სკრიპტი დიდი ხნის განმავლობაში შეუფერხებლად დატოვოთ, შეგიძლიათ გამოიყენოთ nohup ბრძანება (გათიშვის გარეშე) შემდეგნაირად:
$ nohup python darksky.py &
ეს სკრიპტი უფრო მეტს გააკეთებს, ვიდრე უბრალოდ წაიკითხავს ამინდის მონაცემებს და გაუგზავნის საწყის მდგომარეობას. ეს სკრიპტი აპირებს ისარგებლოს emoji მხარდაჭერით, რომელიც ჩაშენებულია პირველადი მდგომარეობის ინსტრუმენტებში, რათა დაფა უფრო მაგარი გახადოს. თქვენ შეგიძლიათ ნახოთ ლოგიკა, რომელიც გამოიყენება ამინდის სტატუსის მისაღებად მიმდინარე -> ხატიდან და გადააქცევს მას emoji ნიშნად weather_icon ფუნქციაში. მსგავსი რამ ხდება მთვარის ფაზაზე მთვარის_იკონის ფუნქციაში და ქარის მიმართულებით ქარის_დირ_იკონის ფუნქციაში.
ნაბიჯი 5: დასკვნა
გადადით თქვენს საწყის სახელმწიფო ანგარიშზე და გადახედეთ თქვენს მონაცემებს. მე შევიცვალე ჩემი პროცენტული მნიშვნელობები რკალის საზომით, ნალექი თხევად გაზომვად და ტემპერატურა ტემპერატურის მრიცხველად. თქვენ შეგიძლიათ შეცვალოთ კრამიტის ნებისმიერი ტიპი და შეარჩიოთ თქვენი ფერები გაზომვებისა და ხაზოვანი დიაგრამებისთვის. თქვენ შეგიძლიათ გახადოთ თქვენი დაფა მუქი ან მსუბუქი და ჩაწეროთ საბოლოო პროდუქტი ვებსაიტზე embed iFrame– ის გამოყენებით.
თუ გსურთ გამოიყენოთ დაფის განლაგება საჯარო გაზიარებისგან, როგორც თქვენი დაფა, შეგიძლიათ შეიტანოთ განლაგება თქვენს მონაცემთა კოლოფში აქ მითითებების შესაბამისად. თქვენ შეგიძლიათ დაამატოთ ფონის სურათი თქვენს დაფაზე, რომ მას მეტი კონტექსტი მისცეთ.
ჩვენი დაფის საჯარო გაზიარების URL არის
ახლა თქვენ დაეუფლეთ Dark Sky API- ს შესაძლებლობები უსასრულოა! არსებობს შეუზღუდავი რაოდენობის უფასო API ინტერნეტით, რომ დაიწყოთ.
გირჩევთ:
(IOT პროექტი) მიიღეთ ამინდის მონაცემები ESP8266 და Openweather API გამოყენებით: 5 ნაბიჯი
(IOT პროექტი) მიიღეთ ამინდის მონაცემები ESP8266 და Openweather API გამოყენებით: ამ სასწავლო ინსტრუქციაში ჩვენ ვაპირებთ ავაშენოთ მარტივი IOT პროექტი, რომელიც მოიტანს ჩვენი ქალაქის ამინდის მონაცემებს openweather.com/api– დან და აჩვენებს მას დამუშავების პროგრამული უზრუნველყოფის გამოყენებით
მინი ამინდის ამინდის სადგური Arduino– ს და ThingSpeak– ის გამოყენებით: 4 ნაბიჯი
მინი ამინდის ამინდის სადგური Arduino– ს და ThingSpeak– ის გამოყენებით: გამარჯობა ყველას. ამ ინსტრუქციაში, მე გაგიწევთ ნაბიჯებს პერსონალური მინი ამინდის სადგურის შესაქმნელად. ასევე, ჩვენ ვიყენებთ ThingSpeak API– ს, რომ ატვირთავს ჩვენი ამინდის მონაცემებს მათ სერვერებზე, წინააღმდეგ შემთხვევაში რა არის ამინდის სტატისტიკის მიზანი
ESP32 ამინდის ამინდის სადგური: 16 ნაბიჯი (სურათებით)
ESP32 Weathercloud ამინდის სადგური: გასულ წელს, მე გამოვაქვეყნე ჩემი ყველაზე დიდი Instructable დღემდე სახელწოდებით Arduino Weathercloud Weather Station. ძალიან პოპულარული იყო მე ვიტყოდი. ის ნაჩვენები იყო Instructables– ის მთავარ გვერდზე, Arduino– ს ბლოგში, Wiznet მუზეუმში, Instructables Instagram– ში, Arduino Instagr
Dark Sky API PyPortal & ამინდის საინფორმაციო დაფა: 6 ნაბიჯი
Dark Sky API PyPortal & Weather Dashboard: ეს პროექტი არის ის, რაც ჩვენ ადრე გავაკეთეთ, Dark Sky API ამინდის დაფა. ამჯერად Raspberry Pi- ის ნაცვლად, ჩვენ გამოვიყენებთ Adafruit PyPortal- ს ამინდის მონაცემების საჩვენებლად და ამ მონაცემების გასაგზავნად საწყის სახელმწიფოში. ორი დაფა ერთის მუშაობისთვის
Acurite 5 in 1 ამინდის სადგური Raspberry Pi და Weewx გამოყენებით (სხვა ამინდის სადგურები თავსებადია): 5 ნაბიჯი (სურათებით)
Acurite 5 in 1 ამინდის სადგური Raspberry Pi და Weewx– ის გამოყენებით (სხვა ამინდის სადგურები თავსებადია): როდესაც მე ვიყიდე Acurite 5 in 1 ამინდის სადგური, მინდოდა შემეძლოს ამინდის შემოწმება ჩემს სახლში ყოფნისას. როდესაც სახლში მივედი და დავაყენე მივხვდი, რომ ან ეკრანი კომპიუტერთან უნდა მქონოდა ჩართული, ან მათი ჭკვიანი კერა შემეძინა