جدول المحتويات:

عرض بسيط للطقس باستخدام Raspberry PI و Cyntech WeatherHAT: 4 خطوات
عرض بسيط للطقس باستخدام Raspberry PI و Cyntech WeatherHAT: 4 خطوات

فيديو: عرض بسيط للطقس باستخدام Raspberry PI و Cyntech WeatherHAT: 4 خطوات

فيديو: عرض بسيط للطقس باستخدام Raspberry PI و Cyntech WeatherHAT: 4 خطوات
فيديو: BroadLink RM4 mini - ИК контроллер для умного дома, замена пультов дистанционного управления 2024, يونيو
Anonim
عرض بسيط للطقس باستخدام Raspberry PI و Cyntech WeatherHAT
عرض بسيط للطقس باستخدام Raspberry PI و Cyntech WeatherHAT
عرض بسيط للطقس باستخدام Raspberry PI و Cyntech WeatherHAT
عرض بسيط للطقس باستخدام Raspberry PI و Cyntech WeatherHAT

* في عام 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

اضبط بطاقة SD و Raspberry PI
اضبط بطاقة SD و Raspberry PI
اضبط بطاقة SD و Raspberry PI
اضبط بطاقة 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

قم بإعداد مكتبات WeatherHAT
قم بإعداد مكتبات WeatherHAT
قم بإعداد مكتبات WeatherHAT
قم بإعداد مكتبات 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

تثبيت Weather-api و GetWeather Script
تثبيت Weather-api و GetWeather Script
تثبيت Weather-api و GetWeather Script
تثبيت Weather-api و GetWeather Script
تثبيت Weather-api و GetWeather Script
تثبيت Weather-api و GetWeather Script
تثبيت Weather-api و GetWeather Script
تثبيت 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 مكان جيد للبدء.

موصى به: