جدول المحتويات:
- الخطوة 1: قم بتعيين بطاقة SD و Raspberry PI
- الخطوة 2: قم بإعداد مكتبات WeatherHAT
- الخطوة 3: تثبيت Weather-api و GetWeather Script
- الخطوة 4: تحديث المعلومات لـ: Openweathermap API
فيديو: عرض بسيط للطقس باستخدام Raspberry PI و Cyntech WeatherHAT: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
* في عام 2019 ، قامت Yahoo بتغيير واجهة برمجة التطبيقات الخاصة بها ، وتوقف هذا عن العمل. لم أكن على علم بالتغيير. في سبتمبر من عام 2020 ، تم تحديث هذا المشروع لاستخدام OPENWEATHERMAP API انظر القسم المحدث أدناه ، ومع ذلك ، لا تزال بقية هذه المعلومات جيدة. شكرًا على البحث ، وشكرًا لإعلامي بتغيير Yahoo. *
حصلت مؤخرًا على Cyntech WeatherHAT ، لكنني شعرت بخيبة أمل كبيرة بسبب نقص البرامج الخاصة بها.
يبدو أن HAT هي نفسها مبنية بشكل جيد ، مع 6 مصابيح LED زرقاء على شكل قطرات مطر ، و 6 مصابيح LED برتقالية على شكل صاعقة رعدية ، و 6 مصابيح LED بيضاء على شكل سحابة. 1 (ما أعتقده هو RGB LED) لـ SUN - إنه يظهر باللون البرتقالي (لذلك قد أكون مخطئًا في كونه RGB). و 6 WS2812 LEDs (هذه RGB:-))
لدى Cyntech دليل البدء ، وحتى هذا جيد - من السهل تثبيت واستخدام HAT.
لذلك فوجئت بعدم رؤية أي برنامج حقًا (بخلاف العرض التوضيحي الذي قدمته Cyntech). لقد كنت مندهشًا بنفس القدر لعدم العثور على أي شخص يستخدم هذا بالفعل - ربما يريد الناس عرض "خيالي" مع درجات الحرارة ، وكل هذا النوع من المعلومات. بالنسبة لي ، من الجيد مجرد إلقاء نظرة على عدد قليل من مصابيح LED ومعرفة - إنها تمطر أو عاصفة رعدية أو غائمة - في هذه المرحلة ، إذا كنت بحاجة إلى مزيد من المعلومات ، يمكنني إلقاء نظرة على جهازي اللوحي أو هاتفي.:-)
أكثر من ذلك بقليل - هذه حقًا المرة الأولى التي أستخدم فيها بايثون ، فأنا لست جيدًا بأي حال من الأحوال. وأنا متأكد من أن الأشخاص الذين يعرفون بيثون حقًا سيخبرونني بطريقة أفضل للقيام بذلك.
هيا بنا نبدأ:
نحتاج إلى بطاقة SD (على الأقل 8 جيجابايت)
يحتاج Raspberry PI (أنا أستخدم Zero W) إلى الوصول إلى الإنترنت.
ونحتاج إلى Cyntech weatherHAT
إذا كنت تستخدم Raspberry PI Zero W ، فستحتاج أيضًا إلى أن تكون قادرًا على لحام مجموعة من الرؤوس باللوحة.
وإلا فإن المهارات المطلوبة هي القدرة على استخدام البرامج وإعداد بطاقة SD.
الخطوة 1: قم بتعيين بطاقة SD و Raspberry PI
ستحتاج إلى تنزيل أحدث إصدار من Raspbian (في وقت هذه التعليمات ، يكون Raspbian Stretch March 2018 (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
لقد استخدمت إصدار سطح المكتب ، حتى إذا كنت أقوم بتشغيل الإعداد بلا رأس ، وأقوم بمعظم الأشياء من CLI (واجهة سطر الأوامر) عبر ssh.
اتبع دليل الإعداد الموجود هنا:
www.raspberrypi.org/documentation/installa…
بعد الانتهاء من Etcher ، قم بإزالة بطاقة SD ، وأعد إدخالها في الكمبيوتر.
* لا تحتاج حقًا إلى القيام بهذه الخطوة أدناه إلا إذا كنت تخطط لإجراء تثبيت بدون رأس
نحتاج إلى إعداد SSH و WIFI قبل استخدام بطاقة SD في Raspberry PI. في قسم BOOT بالبطاقة ، أنشئ ملفًا باسم "ssh" بدون علامات الاقتباس. لا شيء يجب أن يكون في هذا الملف. عندما يقوم PI بالتمهيد ، سيرى هذا الملف ، ويقوم بتشغيل SSH.
نحتاج أيضًا إلى إنشاء ملف يسمى "wpa_supplicant.conf". نحتاج إلى تعديل هذا الملف باستخدام إعدادات wifi الخاصة بك.
يجب أن يبدو مثل هذا:
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev
update_config = شبكة واحدة = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}
* تحتاج حقًا إلى القيام بذلك فقط إذا كنت تخطط لإجراء تثبيت بدون رأس
بمجرد الانتهاء من ذلك ، قم بإزالة بطاقة SD بأمان ووضع Raspberry PI (تأكد من عدم وجود طاقة على PI).
قم بتوصيل الطقس HAT ، وقم بتشغيل Raspberry PI.
الخطوة 2: قم بإعداد مكتبات WeatherHAT
بالنسبة لهذه الخطوة ، سوف نتبع دليل البدء الموجود
guides.cyntech.co.uk/weatherhat/getting-sta…
إذا كنت تقوم بتثبيت بدون رأس ، فستحتاج إلى ssh [email protected]
إذا لم يكن لديك عميل ssh - PUTTY هو عميل جيد.
إذا كنت تستخدم لوحة مفاتيح وشاشة - الدليل أعلاه جيد يجب اتباعه ، فهو يبدأك على سطح مكتب واجهة المستخدم الرسومية.
تتمثل الخطوات المهمة هنا في تثبيت مكتبة WS281x ومكتبات WeatherHAT ، جنبًا إلى جنب مع التبعية لكل منهما.
sudo apt-get update
sudo apt-get Upgrade -y sudo apt-get install build-basic python-dev git scons swig python-smbus git clone https://github.com/jgarff/rpi_ws281x.git> git clone https://github.com/ jgarff / rpi_ws281x.git> cd rpi_ws281x scons cd python sudo python setup.py install
الآن نحن بحاجة للتأكد من تشغيل I2C.
sudo raspi-config
تمت كتابة الدليل لإصدار أقدم من raspi-config ويقول إنه انتقل إلى "خيارات متقدمة" والتي تم استبدالها بـ "واجهات"
بمجرد تشغيل I2C ، سيتعين عليك إعادة التشغيل.
حان الوقت الآن لاختبار HAT
cd WeatherHAT
sudo python cycle.py
إذا سارت الأمور على ما يرام ، يجب أن ترى كل الميزات وقوس قزح.
سيوقف ctrl-z البرنامج.
* ملاحظات خاصة: علمت أن توقيت Raspberry PI 3 مختلف وأن قوس قزح قد لا يعمل بشكل صحيح. إذا كانت لديك هذه المشكلة هنا ، فهي كيفية إصلاحها.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
بمجرد أن يعمل كل شيء ، يمكننا المتابعة إلى الخطوة التالية.
تحديث: (6 أكتوبر 2020) يحتوي هذا المستودع الآن على البرنامج النصي getWeather.py الخاص بي ، هذه أخبار رائعة ، حيث بدأ الاهتمام مرة أخرى ، ولا بد أن تحدث أشياء جديدة.
الخطوة 3: تثبيت Weather-api و GetWeather Script
لذلك ، قمت بتقديم طلب PULL إلى CyntechUK من أجل البرنامج النصي الخاص بي - آمل أن يقبلوا الطلب ، ويمكنك تخطي تنزيل المستودع الخاص بي. (قد لا يرغبون في تضمين الرمز الخاص بي أنت)
(أكتوبر 6 ، 2020) تمت الموافقة على طلب PULL ، والآن تم تضمين برنامج getWeather الخاص بي في مستودع Weatherhat.
********* لا يزال بإمكانك استخدام هذه المعلومات إذا أردت ، ولكن تم تضمين getWeather.py في مستودع Weatherhat الآن ******************* *******************
يمكن العثور على المستودع الخاص بي هنا:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
ويسمى البرنامج النصي الخاص بي getWeather.py
إذا قبلوا طلب السحب ، فستحصل بالفعل على هذا البرنامج النصي - إذا لم يكن الأمر كذلك ، فستحتاج إلى استنساخ المستودع.
في دليل منزلك (/ home / pi) اكتب:
استنساخ بوابة https://github.com/kd8bxp/WeatherHAT.git getWeather
سيؤدي هذا إلى استنساخ المستودع إلى دليل يسمى getWeather ، وبعد ذلك نحتاج إلى تسجيل الخروج من فرع getWeather.
برنامج getWeather على القرص المضغوط
بوابة الخروج getWeather
**********************************************************************
ستحتاج إلى قرص مضغوط إلى دليل weatherHAT الذي تم استنساخه سابقًا و
نحتاج إلى تعديل البرنامج النصي getWeather.py لموقعك.
نانو getWeather.py
يجب أن ترى سطرًا يبدأ بـ
الموقع وينتهي بالبحث (45042) - هذا هو الرمز البريدي الخاص بي ، لقد وجدت أنه لا يعمل كما تعتقد
والخط الموجود فوقه مباشرةً والذي تم التعليق عليه يعمل بشكل أفضل مع اسم المدينة. هذا هو الشخص الذي ربما تريد استخدامه. لذا قم بتعليق سطر الرمز البريدي (#) وقم بإلغاء التعليق وتغيير اسم مدينتك.
*********** معلومات ياهو القديمة - لم تعد مطلوبة ***********
نحتاج إلى تثبيت مكتبة أخرى حتى يعمل هذا ، وهي weather-api وهي عبارة عن غلاف لـ Yahoo weather API.
pypi.python.org/pypi/weather-api/0.0.5
التثبيت سهل -
نقطة تثبيت الطقس API
***********************************************************************************
الآن يمكننا تشغيل البرنامج النصي:
sudo python getWeather.py &
& سيتيح تشغيل البرنامج النصي في الخلفية. ينام البرنامج النصي لمدة 5 دقائق تقريبًا ، ثم يتحقق من Yahoo Weather إذا تغير شيء ما - إذا كان الأمر كذلك ، فإنه يقوم بتحديث العرض. يمكن تغيير الوقت الخمس دقائق ، فهو قريب من نهاية النص.
النوم (60 * 5)
يمكنك إعداد وظيفة crontab (تذكر أن هذا يجب تشغيله كجذر) الذي سيبدأ البرنامج النصي في كل تمهيد.
استعمال:
sudo crontab -e
أدخل:
reboot python /home/pi/weatherHAT/getWeather.py
أعتقد أن هذا يجب أن يعمل - لم أقم بإعداد cron حتى الآن على نظامي.
هذا الى حد كبير ذلك -
كما ذكرت ، هذا هو أحد برامج Python الأولى ، وأنا متأكد من أن شخصًا يعرف المزيد سيرى طريقة أفضل للقيام بذلك.
لقد أجريت اختبارات محدودة فقط على هذا - لقد رأيت عمل "الثلج" و "المطر" و "العاصفة الرعدية" حتى الآن ،
هناك بعض الشروط التي لست متأكدًا من كيفية التعامل معها بعد - أرحب بالأفكار.
الخطوة 4: تحديث المعلومات لـ: Openweathermap API
في سبتمبر من عام 2020 ، قمت بتحديث البرنامج النصي لاستخدام https://openweathermap.org API.
ملاحظة: كان هذا إصلاحًا "سريعًا" بالنسبة لي ، وتم اختباره بشكل محدود - (لقد ظل ملبدًا بالغيوم خلال الأيام القليلة الماضية ، وكل ما أراه هو عرض السحابة والمطر) - بينما أعتقد أنني اكتشفت جميع الظروف التي يسهل عرض ، ربما فاتني زوجين بسبب السرعة التي تم بها هذا الإصلاح. ومع ذلك ، إذا كنت تعتقد أن هناك مشكلة ، فالرجاء ترك تعليق وسأبحث في الأمر إذا سمح الوقت - أو حاول توجيهك في الاتجاه الصحيح. *
ستحتاج إلى التسجيل للحصول على مفتاح API باستخدام الرابط أعلاه ، عندما تقوم بتحرير البرنامج النصي لوضع مدينتك ، سترى مكانًا للمفتاح. ما عليك سوى نسخها ولصقها ، ويجب أن تكون جيدًا.
الملاحظات الأخرى:
يستخدم هذا البرنامج النصي الآن معلومات "واجهة برمجة تطبيقات بيانات الطقس الحالية" حول واجهة برمجة التطبيقات هذه ، ويمكن العثور عليها هنا:
openweathermap.org/current شيء واحد يجب ملاحظته هو أنه يمكنك استخدام مدينة وولاية وبلد.
أي: المدينة "دايتون" تصبح "دايتون ، أوهايو ، الولايات المتحدة" لاحظ كيف تكون كل من رموز الولاية والبلد كبيرة ، وهذا مطلوب. تقول واجهة برمجة التطبيقات (API) أنه يمكنها استخدام "Dayton، OH" فقط ولكنني حصلت على أخطاء من البرنامج النصي عندما فعلت ذلك - وبما أن هذا كان إصلاحًا سريعًا ، لم أفكر في السبب. لذا ، أوصي باستخدام "المدينة ، الولاية ، البلد"
إذا لم تحصل لسبب ما على معلومات جيدة باستخدام اسم مدينة ، فيمكنك أيضًا البحث عن معرف المدينة ، أو استخدام خطوط الطول والعرض أو الرمز البريدي. في كل حالة ، يجب تغيير عنوان URL ، إذا قمت بالنقر فوق الارتباط الموجود على الجانب الأيمن من موقع الويب الخاص بواجهة برمجة التطبيقات ، فسوف يقدم مثالاً لما يجب أن يكون عليه عنوان URL.
تحتاج إلى تغيير عنوان URL في البرنامج النصي أيضًا.
المزيد من الملاحظات: 3 أكتوبر 2020
أشارItsmedoofer إلى أنهم بحاجة إلى تثبيت طلبات مكتبة python مع التحديث الجديد. لست متأكدًا من أنني كنت بحاجة إلى هذا ، (من المحتمل أيضًا أنني قمت بتثبيته منذ سنوات ، أو أن إصدارات مختلفة من Python تقوم بتثبيت مكتبات مختلفة افتراضيًا). لذا ، إذا أعطى البرنامج النصي خطأً بشأن طلبات بيثون ، فمن السهل إصلاحه.
اكتب هذا الأمر في CLI: طلبات تثبيت python -m pip
ويجب أن تكون جيدًا.
نأمل أن يكون هذا حلاً سريعًا منذ ذلك الحين ، وربما إذا سمحت لي يومًا ما ، يمكنني العمل على تنظيفه بشكل أفضل قليلاً.
تحديث (6 أكتوبر 2020) تم قبول طلب سحب github ، ويتضمن مستودع CyntechUK الأصلي الآن هذا البرنامج النصي. https://github.com/CyntechUK/WeatherHAT لدى المستخدم Boeerb بعض الأفكار حول كيفية عرض بعض الشروط التي لا يتم عرضها حاليًا ، بالإضافة إلى بعض الأفكار الأخرى للاستخدام. لذا راقب هذا المستودع. ونأمل أن تحدث الأشياء.
تحديث: (8 أكتوبر 2020) يحتوي Open Weather Map على برنامج تعليمي قصير حول إعداد واستخدام واجهة برمجة التطبيقات ، https://openweathermap.org/appid مكان جيد للبدء.
موصى به:
ساعة الإنترنت: عرض التاريخ والوقت باستخدام OLED باستخدام ESP8266 NodeMCU مع بروتوكول NTP: 6 خطوات
ساعة الإنترنت: عرض التاريخ والوقت باستخدام OLED باستخدام ESP8266 NodeMCU مع بروتوكول NTP: مرحبًا يا رفاق في هذه التعليمات ، سنبني ساعة إنترنت ستحصل على وقت من الإنترنت لذلك لن يحتاج هذا المشروع إلى أي RTC لتشغيله ، وسيحتاج فقط إلى العمل اتصال بالإنترنت وفي هذا المشروع تحتاج إلى esp8266 الذي سيكون له
مسجل بيانات البالون النهائي للطقس على ارتفاع عالٍ: 9 خطوات (بالصور)
مسجل بيانات منطاد الطقس على ارتفاع عالٍ في نهاية المطاف: سجل بيانات منطاد الطقس على ارتفاعات عالية باستخدام مسجل بيانات منطاد الطقس في الارتفاعات العالية النهائي. منطاد الطقس على ارتفاعات عالية ، والمعروف أيضًا باسم منطاد المرتفعات أو HAB ، هو بالون ضخم مليء بالهيليوم. هذه البالونات منصة
محطة أردينو أونو للطقس المصغرة: 5 خطوات
Arduino UNO Mini-Weather Station: هذا هو الجيل الأول من محطة الطقس المصغرة القائمة على Arduino مع اتصال wi-fi ، وهو قادر على نشر البيانات علنًا عبر الإنترنت باستخدام منصة ThingSpeak. تجمع محطة الطقس البيانات التالية المتعلقة بالطقس و بيئة
عمل عنصر واجهة مستخدم للطقس في أقل من 10 دقائق: 3 خطوات
إنشاء عنصر واجهة مستخدم للطقس في أقل من 10 دقائق: في هذا الدليل ، سنتعلم كيفية إنشاء عنصر واجهة مستخدم للطقس في أقل من 10 دقائق. هذه هي أسهل طريقة ممكنة لبدء مشروع iot بسرعة. كل ما تحتاجه هو لوح SLabs-32 واحد. نعم ، هذا صحيح ، مجرد لوحة تطوير واحدة
الرسم الإرشادي للطقس من Intel Edison: 6 خطوات
رسم استشاري للطقس من Intel Edison: أردنا إنشاء مشروع ملون وقابل للتوسيع وعرض الميزات الفريدة لـ Intel Edison. استخدم wifi استخدم Linux استخدم مكونات من Grove Starter Kit بالإضافة إلى ذلك ، أردت معرفة كيفية تمرير المعلومات من Linux