جدول المحتويات:
- الخطوة الأولى: البدء
- الخطوة الثانية: استخدام واجهة برمجة تطبيقات Dark Sky
- الخطوة 3: الحالة الأولية
- الخطوة 4: لوحة معلومات طقس السماء المظلمة
- الخطوة 5: الخاتمة
فيديو: إنشاء لوحة معلومات الطقس باستخدام Dark Sky API: 5 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
دارك سكاي متخصصة في التنبؤ بالطقس والتصور. أروع جانب في Dark Sky هو واجهة برمجة تطبيقات الطقس الخاصة بهم والتي يمكننا استخدامها لاسترداد بيانات الطقس من أي مكان في العالم تقريبًا. ليس الطقس ممطرًا أو مشمسًا فقط ، ولكن درجة الحرارة ونقطة الندى وعاصفة الرياح والرطوبة وهطول الأمطار والضغط ومؤشر الأشعة فوق البنفسجية وغير ذلك ، كلها متاحة بسهولة في أي مكان تريده وفي أي وقت تريده.
دعنا نتعلم كيفية استخدام واجهة برمجة التطبيقات فائقة البساطة في Dark Sky. إذا كنت جديدًا في استخدام API ، فأعدك أن هذا سيكون سهلاً حقًا! وإذا كنت قد استخدمت واجهات برمجة التطبيقات من قبل ، فآمل أن نتمكن من تعليمك شيئًا جديدًا باستخدام الكود الذي استخدمناه.
ما سوف تحتاجه لهذا المشروع:
- حساب Dark Sky API
- حساب الدولة الأولي
- Raspberry Pi أو الكمبيوتر المحمول
الخطوة الأولى: البدء
لقد وضعنا بالفعل الكثير من العمل من أجلك في وضع الشفرة معًا وتنظيم المعلومات. سنحتاج منك فقط إجراء بعض التعديلات على طول الطريق. إذا كنت تريد القليل من التحدي ، فقم بإجراء بعض التغييرات على الكود الخاص بنا وما هي بيانات الطقس التي يتم إرسالها ، فهناك احتمالات غير محدودة!
لاسترداد جميع الأشياء التي أعددناها لك ، ستحتاج إلى استنساخ المستودع من GitHub. GitHub هي خدمة تتيح لنا تخزين ومراجعة وإدارة مشاريع مثل هذه. سترغب في تشغيل هذا البرنامج النصي على جهاز مخصص. يعد Raspberry Pi خيارًا مثاليًا لتشغيل تطبيقات مثل هذا البرنامج التعليمي.
لاستنساخ المستودع ، كل ما نحتاج إليه هو الانتقال إلى محطة Pi الخاصة بنا ، أو محطة أجهزة الكمبيوتر الخاصة بك التي تكون SSH موجودة في pi واكتب هذا الأمر:
استنساخ git $
اضغط على Enter وستظهر لك هذه المعلومات:
الاستنساخ في "darksky" …
بعيد: عد الأشياء: 2 ، انتهى. جهاز التحكم عن بعد: إجمالي 2 (دلتا 0) ، معاد استخدامه 0 (دلتا 0) ، إعادة استخدام حزم 2 كائنات تفريغ: 100٪ (2/2) ، تم. التحقق من الاتصال … تم.
بمجرد أن ترى هذا ، تهانينا ، لقد نجحت في استنساخ GitHub Repo ولديك جميع الملفات اللازمة لإنشاء هذا المشروع. قبل أن ننتقل إلى الخطوة التالية ، دعنا نأخذ بعض الوقت لاستكشاف هذا الدليل ومعرفة بعض أوامر سطر الأوامر الأساسية.
اكتب الأمر أدناه في جهازك الطرفي:
ليرة سورية
يسرد هذا الأمر كل ما هو متاح في الدليل الذي أنت فيه حاليًا. توضح هذه القائمة أن GitHub Repo قد تم استنساخه بنجاح في دليلنا تحت اسم "darksky". دعونا نلقي نظرة على ما هو موجود في هذا الدليل. للانتقال إلى دليل ، كل ما عليك فعله هو كتابة “cd” ثم كتابة اسم الدليل الذي ترغب في الذهاب إليه.
في هذه الحالة ، سنكتب:
$ cd darksky
بمجرد الضغط على مفتاح الإدخال ، سترى أننا الآن في دليل darksky. دعنا نكتب "ls" مرة أخرى لنرى ما هي الملفات التي ثبتها على pi.
README.md darksky.py…
هنا نرى أننا حصلنا على المستند التمهيدي وملفات python. دعونا نلقي نظرة على darksky.py باستخدام الأمر "nano". يسمح لنا الأمر nano بفتح محرر نصوص nano حيث لدينا كل كود python الخاص بنا لكل جزء من هذا المشروع. انطلق واكتب:
نانو darksky.py
هنا يمكنك رؤية جميع الشفرات التي أعددناها لك لهذا المشروع. لن نجري أي تغييرات على هذا المستند حتى الآن ، ولكن لا تتردد في التمرير والاطلاع على ما سنفعله لاحقًا في هذا البرنامج التعليمي.
الخطوة الثانية: استخدام واجهة برمجة تطبيقات Dark Sky
من أجل استخدام Dark Sky API ، تحتاج أولاً إلى مفتاح API الخاص بك. لا تقلق ، الحصول على مفتاح API سريع ومجاني. كل ما عليك فعله هو الانتقال إلى موقع الويب والنقر فوق "جرب مجانًا" لإنشاء حساب.
- تحصل على 1000 مكالمة API مجانًا كل يوم. كل طلب API يتجاوز الحد اليومي المجاني يكلف 0.0001 دولار.
- يتم إعادة تعيين هذا الحد تلقائيًا كل يوم عند منتصف الليل بالتوقيت العالمي المنسق.
- يُرجع طلب التنبؤ توقعات الطقس الحالية للأسبوع القادم.
- يُرجع طلب آلة الزمن أحوال الطقس الملاحظة أو المتوقعة لتاريخ في الماضي أو المستقبل.
سيبدو مفتاح Dark Sky API السري الخاص بك كما يلي: 0123456789abcdef9876543210fedcba.
يمكنك إجراء مكالمة API إلى Dark Sky عن طريق كتابة عنوان URL في متصفحك بالتنسيق التالي:
api.darksky.net/forecast/ [key]/ [خط العرض] ، [خط الطول]
استبدل "key" بمفتاح Dark Sky API الخاص بك وخط الطول / خط العرض بما تريده. يمكنك العثور على خط الطول وخط العرض بالذهاب إلى خرائط Google والبحث في موقعك. ستكون هذه القيم في عنوان URL. انسخ والصق عنوان URL الخاص بالسماء المظلمة أعلاه باستخدام مفتاح الوصول والقيم المضافة في شريط العناوين.
بمجرد القيام بذلك ، سترى شيئًا كهذا:
اليوم "،" أقرب مسافة للعاصفة ": 57 ،" أقرب ستورمبيرينج ": 15 ،" كثافة الامساك ": 0 ،" الاحتمال ": 0 ،" درجة الحرارة ": 53.9 ،" درجة الحرارة الظاهرية ": 53.9 ،" نقطة الندى ": 29.59 ،" الرطوبة ": 0.39 ، "pressure": 1022.45، "windSpeed": 3.87، "windGust": 9.25، "windBearing": 259، "cloudCover": 0.01، "uvIndex": 3، "visibility": 7.8، "ozone": 309.71} ، "دقيقة": {"Summary": "Clear for the hour."، "icon": "clear-day"، "data": [{"time": 1550615280، "precipIntensity": 0، "precipProbability": 0 } ، …
قد يكون الأمر مربكًا بعض الشيء ويصعب قراءته ، لذا فإن ما أوصي به هو استخدام JSON Formatter للمساعدة في جعل البيانات أكثر قابلية للقراءة. عندما تفعل هذا سيبدو مثل هذا:
كائن {9}
خط العرض: 37.8267 خط الطول: -122.4233 المنطقة الزمنية: أمريكا / Los_Angeles حاليًا {19} الوقت: 1550615286 الملخص: رمز واضح: أقرب يوم صافٍ عاصفة المسافة: 57 أقرب عاصفة تحمل: 15 هطولًا كثافة: 0 درجة احتمالية: 0 درجة حرارة: 53.9 ظاهر درجة الحرارة: 53.9 درجة رطوبة: 29.59 الضغط 0.39: 1022.45 سرعة الرياح: 3.87 الرياح: 9.25 تحمل الرياح: 259 الغطاء السحابي: 0.01 uv المؤشر: 3 الرؤية: 7.8 الأوزون: 309.71
لقد أجريت للتو مكالمة API! أرأيت كيف كان هذا سهلا؟ لم يكن عليك حتى كتابة سطر واحد من التعليمات البرمجية. الآن بعد أن أتقنت واجهات برمجة التطبيقات يمكننا الانتقال إلى جزء دفق البيانات.
الخطوة 3: الحالة الأولية
نريد دفق جميع بيانات الطقس لدينا إلى خدمة سحابية وجعل هذه الخدمة تحول بياناتنا إلى لوحة تحكم لطيفة يمكننا الوصول إليها من جهاز الكمبيوتر المحمول أو الجهاز المحمول الخاص بنا. بياناتنا تحتاج إلى وجهة. سوف نستخدم الحالة الأولية كوجهة.
الخطوة 1: التسجيل للحصول على حساب الدولة الأولي
انتقل إلى https://iot.app.initialstate.com وأنشئ حسابًا جديدًا. تحصل على نسخة تجريبية مجانية مدتها 14 يومًا ويمكن لأي شخص لديه عنوان بريد إلكتروني تعليمي التسجيل للحصول على خطة مجانية للطلاب.
الخطوة 2: قم بتثبيت ISStreamer
قم بتثبيت وحدة بيثون الحالة الأولية على Raspberry Pi الخاص بك. في موجه الأوامر ، قم بتشغيل الأمر التالي:
$ cd / home / pi / $ / curl -sSL https://get.initialstate.com/python -o - | سودو باش
الخطوة 3: قم بعمل Automagic بعد الخطوة 2 ، سترى شيئًا مشابهًا للإخراج التالي على الشاشة:
pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: بداية ISStreamer Python سهل التثبيت! قد يستغرق هذا بضع دقائق للتثبيت ، احصل على بعض القهوة:) ولكن لا تنسَ العودة ، سأطرح أسئلة لاحقًا! Found easy_install: setuptools 1.1.6 Found pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) إصدار النقطة الرئيسي: 1 pip إصدار ثانوي: تم العثور على 5 ISStreamer ، يتم تحديثه … المطلب محدث بالفعل: ISStreamer في /Library/Python/2.7/site-packages تنظيف … هل تريد الحصول تلقائيًا على مثال على البرنامج النصي؟ [y / N] أين تريد حفظ المثال؟ [افتراضي:./is_example.py] يرجى تحديد تطبيق الحالة الأولية الذي تستخدمه: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com أدخل الخيار 1 أو 2: أدخل iot.app اسم مستخدم.initialstate.com: أدخل كلمة مرور iot.app.initialstate.com:
عند سؤالك عما إذا كنت تريد الحصول على مثال نصي تلقائيًا ، ضع "y" للإجابة على "نعم" واضغط على "إدخال" لحفظ البرنامج النصي في الموقع الافتراضي. بالنسبة للسؤال حول التطبيق الذي تستخدمه ، حدد 2 (إلا إذا قمت بالتسجيل قبل نوفمبر 2018) وأدخل اسم المستخدم وكلمة المرور الخاصين بك.
الخطوة 4: قم بتشغيل المثال النصي
قم بتشغيل البرنامج النصي التجريبي للتأكد من أنه يمكننا إنشاء دفق بيانات إلى حساب Initial State الخاص بك. اكتب الأمر التالي:
$ python is_example.py
الخطوة 6: مثال على البيانات
ارجع إلى حساب Initial State الخاص بك في متصفح الويب الخاص بك. يجب أن تظهر مجموعة بيانات جديدة تسمى "Python Stream Example" على اليسار في رف السجل (قد تضطر إلى تحديث الصفحة). انقر فوق هذه المجموعة لعرض البيانات الخاصة بك.
الخطوة 4: لوحة معلومات طقس السماء المظلمة
الآن للجزء الممتع. نحن على استعداد لبدء استخدام Dark Sky API لإنشاء لوحة معلومات الطقس والتقاط سجل الطقس للموقع الذي نختاره. للقيام بذلك ، سنستخدم نص Python النصي: https://github.com/initialstate/darksky/blob/master/darksky.py. يقوم هذا البرنامج النصي ببساطة باستدعاء Dark Sky API باستخدام مفتاح API الخاص بك واسترداد معلومات الطقس في فترة زمنية محددة. كما يقوم أيضًا بدفق هذه البيانات إلى حساب Initial State الخاص بك ، مما سيتيح لك إنشاء لوحة معلومات طقس Dark Sky.
يمكنك إما نسخ هذا البرنامج النصي إلى Pi الخاص بك ، أو الوصول إليه من خلال مستودع GitHub الذي قمنا باستنساخه سابقًا. يمكنك القيام بذلك عن طريق التغيير إلى دليل darksky الخاص بك عن طريق كتابة:
$ cd darksky
من هنا ، ستتمكن من الوصول إلى ملف python الذي سنقوم بتشغيله لإنشاء لوحة معلومات الطقس الخاصة بنا. قبل تشغيله ، تحتاج إلى ضبط المعلمات التي تريدها وإدخال مفاتيحك. Nano في ملف darksky.py عن طريق كتابة:
نانو darksky.py
ثم قم بتحرير القسم بالقرب من الجزء العلوي من البرنامج النصي:
# --------- إعدادات المستخدم ---------
CITY = "Nashville" GPS_COORDS = "36.1628414، -86.780199" DARKSKY_API_KEY = "ضع مفتاح واجهة برمجة تطبيقات DARK SKY هنا" BUCKET_NAME = ": partly_sunny:" + CITY + "Weather" BUCKET_KEY = "ds1" STACE_KEYIAL = "ACCESS_KEYIAL المفتاح هنا "MINUTES_BETWEEN_READS = 15 # ---------------------------------
تحتاج إلى تعيين إحداثيات GPS واسم المدينة المطلوب. يجب عليك أيضًا إدخال مفتاح Dark Sky API ومفتاح الوصول إلى حساب Initial State وإلا فلن تذهب بياناتك إلى أي مكان. ستحدد المعلمة MINUTES_BETWEEN_READS عدد المرات التي سيقوم فيها البرنامج النصي باستقصاء واجهة برمجة تطبيقات Dark Sky للحصول على معلومات الطقس. 15 دقيقة توفر فاصلاً لطيفًا طويل المدى. من أجل إجراء اختبار قصير المدى ، يمكنك ضبط هذا على 0.5 دقيقة. قم بإجراء التغييرات ثم أدخل control + X للخروج والحفظ.
بمجرد تعيين المعلمات ، تكون جاهزًا لتشغيل البرنامج النصي الخاص بك:
$ python darksky.py
إذا كنت تقوم بالتسجيل في Pi الخاص بك وتريد ترك هذا البرنامج النصي يعمل دون انقطاع لفترة طويلة ، فيمكنك استخدام الأمر nohup (بدون قطع الاتصال) على النحو التالي:
$ nohup python darksky.py &
سيقوم هذا البرنامج النصي بعمل أكثر قليلاً من مجرد قراءة بيانات الطقس وإرسالها إلى الحالة الأولية. سيستفيد هذا البرنامج النصي من دعم الرموز التعبيرية المدمج في أدوات Initial State لجعل لوحة القيادة أكثر روعة. يمكنك رؤية المنطق المستخدم لأخذ حالة الطقس من الأيقونة الحالية -> وتحويلها إلى رمز تعبيري في وظيفة weather_icon. يحدث شيء مشابه لمرحلة القمر في دالة moon_icon واتجاه الرياح في وظيفة wind_dir_icon.
الخطوة 5: الخاتمة
انتقل إلى حساب الولاية الأولية الخاص بك وانظر إلى بياناتك. لقد غيرت جميع قيم النسبة المئوية الخاصة بي إلى مقاييس القوس ، وهطول الأمطار إلى مقياس سائل ، ودرجة الحرارة إلى مقياس درجة الحرارة. يمكنك التغيير إلى أي نوع من أنواع البلاط واختيار الألوان الخاصة بك للمقاييس والمخططات الخطية. يمكنك جعل لوحة القيادة مظلمة أو فاتحة وتضمين المنتج النهائي في موقع ويب باستخدام إطار iFrame مضمن.
إذا كنت تريد استخدام تخطيط لوحة المعلومات من مشاركة عامة كلوحة معلومات ، فيمكنك استيراد تخطيط إلى مجموعة البيانات الخاصة بك باتباع الإرشادات الموجودة هنا. يمكنك إضافة صورة خلفية إلى لوحة القيادة لمنحها مزيدًا من السياق.
عنوان URL العام للمشاركة الخاص بلوحة التحكم لدينا هو
الآن بعد أن أتقنت واجهة برمجة تطبيقات Dark Sky ، فإن الاحتمالات لا حصر لها! هناك قدر غير محدود من واجهات برمجة التطبيقات المجانية عبر الإنترنت لاستكشافها ، لذا ابدأ.
موصى به:
لوحة معلومات COVID-19 WHO: 8 خطوات (بالصور)
COVID-19 WHO Dashboard: توضح هذه التعليمات كيفية استخدام ESP8266 / ESP32 و LCD لبناء لوحة معلومات منظمة الصحة العالمية الخاصة بحالة COVID-19
لوحة معلومات COVID19 على خريطة العالم (باستخدام بايثون): 16 خطوة
COVID19 Dashboard on World Map (باستخدام Python): أعلم أن جميعنا تقريبًا يعرف معظم المعلومات حول COVID19 ، وهذه التعليمات تدور حول إنشاء خريطة فقاعية ، لرسم البيانات في الوقت الفعلي (للحالات) على خريطة العالم. ، لقد أضفت البرنامج إلى مستودع جيثب: https: //github.co
Live Covid19 Tracker باستخدام ESP8266 و OLED - لوحة معلومات Realtime Covid19: 4 خطوات
Live Covid19 Tracker باستخدام ESP8266 و OLED | Realtime Covid19 Dashboard: قم بزيارة موقع Techtronic Harsh الإلكتروني: http: //techtronicharsh.com في كل مكان يوجد فيه انتشار كبير لفيروس كورونا الجديد (COVID19). أصبح من الضروري مراقبة السيناريو الحالي لـ COVID-19 في العالم
لوحة معلومات Dark Sky API PyPortal & Weather: 6 خطوات
Dark Sky API PyPortal & Weather Dashboard: هذا المشروع عبارة عن مشروع قمنا به من قبل ، لوحة معلومات الطقس Dark Sky API. هذه المرة بدلاً من Raspberry Pi ، سنستخدم Adafruit PyPortal لعرض بيانات الطقس وإرسال تلك البيانات إلى الحالة الأولية. لوحتان عدادات لعمل واحد
إنشاء موقع Bookhuddle.com ، وهو موقع لاكتشاف معلومات الكتاب وتنظيمها ومشاركتها: 10 خطوات
إنشاء موقع Bookhuddle.com ، وهو موقع لاكتشاف معلومات الكتاب وتنظيمها ومشاركتها: يصف هذا المنشور الخطوات المتبعة في إنشاء وإطلاق موقع Bookhuddle.com ، وهو موقع ويب يهدف إلى مساعدة القراء على اكتشاف معلومات الكتاب وتنظيمها ومشاركتها. ستنطبق على تطوير مواقع الويب الأخرى