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

1984 WeatherMan Pi: 7 خطوات (صور توضيحية)
1984 WeatherMan Pi: 7 خطوات (صور توضيحية)

فيديو: 1984 WeatherMan Pi: 7 خطوات (صور توضيحية)

فيديو: 1984 WeatherMan Pi: 7 خطوات (صور توضيحية)
فيديو: Simple Steps To Keep Your Fishing Tackle In Excellent Condition! 2024, يوليو
Anonim
Image
Image
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi

أصبح مشغل الكاسيت المحمول هذا الآن عبارة عن عرض للطقس المحيط بإنترنت الأشياء بنمط أوائل الثمانينيات ، حيث يعرض الرسوم المتحركة "للظروف الحالية" ودرجة حرارة التمرير والرسم البياني لاحتمالية هطول الأمطار من خلال نافذة الشريط. عندما تتغير حالة الطقس ، فإن سماعات الرأس التي يتم التحكم فيها عن طريق المؤازرة في الأعلى تهتز ذهابًا وإيابًا كتنبيه دقيق.

عند فتح باب الشريط الوظيفي ، يمكننا أن نرى أن المكونات الأصلية المغبرة قد تم استبدالها بـ Raspberry Pi Zero W ، و Pimoroni Unicorn Hat HD (LED Matrix) ومؤازرة صغيرة. يتم الحصول على بيانات الطقس باستخدام برنامج نصي من Python يستعلم عن واجهة برمجة تطبيقات Dark Sky Weather فائقة الدقة ، المصممة خصيصًا لموقعي المحدد.

إنه بناء إنترنت الأشياء بسيط ولكنه جميل المظهر وعملي والذي يجلس على مكبر صوت المكتب المقابل إلى عداد YouTube الخاص بي ، مما يجعلني على اطلاع دائم بالطقس.

اللوازم

Raspberry Pi Zero

Pimoroni Unicorn HAT HD

أجهزة صغيرة

1984 Hitachi SP-1 Personal Stereo & Headphones

محول واي فاي USB

2mm قضيب الخيوط

سوغرو (أسود ورمادي)

مغناطيس GeoMag

الخطوة 1: Tape Teardown

Tape Teardown
Tape Teardown
Tape Teardown
Tape Teardown
Tape Teardown
Tape Teardown

حصلت على مشغل الكاسيت القديم الجميل هذا من قبل حماتي في سبتمبر ووقعت في حب على الفور بمظهره الأيقوني وأزراره الكبيرة. لكن القرعة الحقيقية كانت تلك النافذة الكبيرة للشريط - بعد أن امتلكتها حوالي 15 ثانية ، كان لدي مسطرة ، وقد اندهشت عندما وجدت أنها ، بالملليمتر ، بنفس حجم Raspberry Pi HAT القياسي (الأجهزة المرفقة في الأعلى).

كان هذا الاكتشاف وحده كافيًا لإخراج مشروع ساعة الوقواق الخاص بي إلى أسفل قائمة "المهام" وبدأت العمل على الفور ، من خلال تفكيك اللاعب.

سارت عملية التمزيق بشكل جيد وانتهى بي الأمر بثلاث قطع مميزة للعمل بها - لقد تمكنت من كسر جزأين من البلاستيك ، لكن لا شيء لا يمكن لصقها معًا مرة أخرى.

الخطوة 2: Dark Sky Pi

دارك سكاي باي
دارك سكاي باي
دارك سكاي باي
دارك سكاي باي
دارك سكاي باي
دارك سكاي باي

لقد كنت أستخدم Dark Sky على هاتفي لفترة من الوقت وقد أعجبت حقًا بدقة التوقعات ، لذلك كنت سعيدًا برؤيتها تقدم واجهة برمجة تطبيقات شاملة يمكنني استخدامها في هذا المشروع. يصل أيضا!

أولاً ، توجه إلى https://darksky.net/dev واشترك للحصول على حساب مجاني - يتيح لك الحساب "التجريبي" إجراء 1000 طلب واجهة برمجة تطبيقات يوميًا ، وهو ما يكفي للتحديث كل 1.5 دقيقة - بشكل متكرر بما يكفي حتى المستوى البريطاني من هوس الطقس.

بمجرد التسجيل ، ستحصل على "مفتاح سري" - هذا هو ما تحتاجه للوصول إلى البيانات ويتم استخدامه في نص Python النصي ، لذا احتفظ به في متناول اليد (وكما تعلم ، سري).

لقد بدأت بتعديل برنامج نصي استخدمته في بناء YouTube Subscriber Counter ، والذي يستخدم وحدة الطلبات في Python لاسترداد بيانات واجهة برمجة التطبيقات. البرنامج النصي الذي استخدمته موجود على GitHub ، ستحتاج فقط إلى إضافة مفتاح Dark Sky API الخاص بك ، وبالطبع استبدال قيم Latitude & Longitude الخاصة بك.

كان من السهل جدًا سحب البيانات عن أحوال الطقس الحالية ، وقررت الاستفادة من عناصر "الرمز" و "احتمالية هطول الأمطار" و "درجة الحرارة".

الخطوة الثالثة: الكود

الرمز
الرمز

إذا كنت تريد إعادة استخدام الكود الذي استخدمته أو الخروج منه ، فهو موجود في مستودع WeatherMan على GitHub - استنساخ أو تنزيل مجلد "weather" في مجلد "pi" على Raspberry Pi الخاص بك.

وظائف البرنامج النصي الرئيسية هي كما يلي:

weatherman.py

هذا هو النص الرئيسي الذي يستخرج بيانات الطقس من Dark Sky. ستحتاج إلى إعداد حساب Dark Sky على https://darksky.net/dev ووضع مفتاحك السري في البرنامج النصي في المكان المشار إليه. ستحتاج أيضًا إلى وضع خط العرض وخط الطول لموقع الطقس الذي تهتم به - يمكن العثور عليه في خرائط Google ، فقط انقر بزر الماوس الأيمن وحدد "ماذا هنا؟" وستظهر لك نافذة منبثقة تعرض خط عرض / طول الموقع.

بعد استرداد بيانات واجهة برمجة التطبيقات ، يمرر weatherman.py المعلمات إلى عدة نصوص أصغر لبدء الرسوم المتحركة وهزات سماعة الرأس.

تم تعيين البرنامج النصي للتشغيل عند بدء التشغيل عن طريق تحرير ملف بدء التشغيل …

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

… وإضافة:

@ python3 /home/pi/weather/weatherman.py &

في نهاية الملف.

icon.py

يأخذ هذا البرنامج النصي معلمة "الظروف الحالية" من البرنامج النصي weatherman.py ويستخدمها لعرض رسوم متحركة للطقس مقاس 16 × 16 - يتم تخزينها جميعًا في مجلد "الرموز" وهي جزء من وثائق Unicorn HAT HD القياسية. يمكنك تحرير ملفات الرسوم المتحركة-p.webp

phone.py

إذا تغيرت ظروف الطقس عن آخر طلب لواجهة برمجة التطبيقات (أو كان التمهيد جديدًا ولا يتساقط الثلج) ، فسيتم استدعاء هذا البرنامج النصي من weatherman.py ويوجه المؤازرة إلى "الهزهزة" ذهابًا وإيابًا لتنبيهك بأن الظروف بها تغير.

هطول

يقبل هذا البرنامج النصي معلمة "احتمال هطول الأمطار" من weatherman.py ويعرض خطوطًا باللون الأزرق على Unicorn HAT المتعلقة بنسبة الاحتمال٪. إذا توهجت جميع الصفوف الـ 16 باللون الأزرق بنسبة 100٪ ، وإذا كانت تتوهج باللون الأزرق بنسبة 50٪ ، فإن 8 صفوف فقط وما إلى ذلك.

temp.py

نص برمجي آخر قياسي من نوع Pimoroni ، يأخذ هذا البرنامج معلمة "temp" من weatherman.py ويعرضها بنص تمرير. تم تعيينه لاستخدام خط Herkules truetype (في مجلد "الخطوط") ولكن يمكنك استخدام خط قياسي إذا كنت تفضل ذلك. يمكنك أيضًا تحسينه بحيث يتغير لون النص المعروض وفقًا لقيمة درجة الحرارة!

الخطوة 4: Unicorn HAT & Servo

يونيكورن HAT & Servo
يونيكورن HAT & Servo
يونيكورن HAT & Servo
يونيكورن HAT & Servo
يونيكورن HAT & Servo
يونيكورن HAT & Servo

كانت القدرة على الحصول على بيانات الطقس رائعة ، لكنني الآن بحاجة إلى عرضها على Unicorn HAT. نظرت إلى مجموعات مختلفة من رموز الطقس على الإنترنت وكنت في منتصف الطريق من خلال تكييفها عندما أدركت أن هناك مثالًا للطقس مضمّنًا في وثائق Pimoroni - وشمل ذلك رسومًا متحركة للطقس!

لقد وفر هذا قدرًا هائلاً من العمل ، وكنت جاهزًا للعمل في أي وقت من الأوقات ، مع رمز متحرك للظروف الحالية ، وبعض النص التمرير لدرجة الحرارة ورسم بياني للنسبة المئوية لهطول الأمطار (والتي تضمنت بعض الرياضيات الخفيفة). أبقيت البرامج النصية منفصلة واستخدمت وحدة Subprocess في Python لتمرير المعلمات جيئة وذهابا.

كانت إضافة المؤازرة هي الوسيلة المثالية لهذه التنبيهات ، لأنها ستحدث القليل من الضوضاء وستكون ملفتة للنظر دون أن تكون مزعجة للغاية. مع احتواء HAT بالفعل على العديد من دبابيس Pi ، قمت بلحام كبلات المؤازرة على الجانب السفلي من اللوحة ، باستخدام Pin 17 للتحكم في حركة المؤازرة باستخدام Pulse Width Modulation.

لم يكن تشغيل المؤازرة من Pi أمرًا مثاليًا ، ولكن لن يتم استخدامه إلا من أجل هز لحظيًا ، لذا لم تكن الدقة مشكلة كبيرة هنا. تم توصيله كما هو موضح في الرسم التخطيطي ، مع كابل بني إلى GND ، ومن الأحمر إلى 5 فولت والبرتقالي (كبل التحكم) بـ GPIO17.

أخيرًا ، قمت بتحرير بعض ملفات الرسوم المتحركة الخاصة بالطقس في GIMP لإضافة اللمسات الشخصية الخاصة بي ، مثل الخفافيش على القمر والوجه المبتسم على الشمس. لقد أضفت أيضًا رسمًا متحركًا مخصصًا لعجلة الكاسيت "Old Tech New Spec" ليتم تشغيله عند بدء التشغيل ، من أجل المتعة فقط.

الخطوة 5: سماعة Jiggle

تهزهز سماعة الرأس
تهزهز سماعة الرأس
تهزهز سماعة الرأس
تهزهز سماعة الرأس
تهزهز سماعة الرأس
تهزهز سماعة الرأس
تهزهز سماعة الرأس
تهزهز سماعة الرأس

كانت فكرة WeatherMan أنه سيجلس بشكل سلبي على مكبر صوت مكتبي ، ويعرض الطقس أحيانًا ، لكنني أردت أن يفعل أكثر قليلاً! كانت السماعات المرفقة بها محمصة ولكنها كلاسيكية من الثمانينيات ، لذلك قررت أن أفعل شيئًا معهم. بعد تجريد كل الكابلات ولصق الجزء المكسور بالغراء الساخن ، بقيت مع ثلاثة أجزاء ، قابس 3.5 مم ، زر على شكل الماس والهواتف نفسها على حزامها المعدني المرن.

صدمتني الفكرة أنه إذا تمكنت من العثور على طريقة ما لتركيب الهواتف أعلى الوحدة ، فيمكنني أن أجعلها تدور ذهابًا وإيابًا باستخدام مؤازرة ، واستخدام هذا كإخطار إضافي.

أولاً ، قمت بحفر القابس مقاس 3.5 مم وفككت مفتاح الماس ، ثم انزلقت على قطعة من قضيب ملولب. بعد ذلك ، قمت بلصق صمولة على موصل بلاستيكي ، بحيث يكون القضيب قادرًا على الجلوس بشكل آمن (ومستقيم) فوق المؤازرة. في الطرف الآخر من القضيب أضفت صمولة أخرى. أخيرًا ، استخدمت Sugru الرمادي لربط الجزء العلوي من القضيب بشريط سماعة الأذن وأيضًا لتغطية الجوز في الجزء السفلي من التجميع. إذا لم تكن قد سمعت عن Sugru ، فهو عبارة عن غراء قابل للتشكيل يأتي في أكياس صغيرة ملونة - يتشكل مثل Play-Doh ولكنه يلتصق مثل superglue ويثبت مثل البلاستيك!

مع الطقس البارد الأخير ، استغرقت Sugru بضعة أيام لتصلب بشكل كامل ، لكن سماعات الرأس وحاملها جاهزان قريبًا للتجميع النهائي.

الخطوة 6: التجميع

المجسم
المجسم
المجسم
المجسم
المجسم
المجسم
المجسم
المجسم

كانت كل من Pi و HAT و Servo تعمل بشكل جيد على المقعد ، لذا كانت المهمة التالية هي حملهم في العلبة. قبل البدء في المكونات الكبيرة ، استخدمت بعضًا من Sugru الرمادي المتبقي لإصلاحه في قرص الصوت ومقبس سماعة الرأس ومفتاح "الشريط المعدني" ، وفرز مستحضرات التجميل. لقد قمت أيضًا بلصق أزرار Play و Stop و FF & Rew الأصلية بقطعة من الأنابيب البلاستيكية حتى تبقى في المكان المناسب تمامًا. كان من العار عدم إعادة استخدام أي من الأزرار هذه المرة ولكن لم يكن هناك أي شيء يمكنهم التحكم فيه!

لقد استخدمت آخر جهاز من Sugru الرمادي لتثبيت المؤازرة في موضعها ، مع ثقب عمودها عبر مقبس سماعة الرأس الموسع. بالانتقال إلى النصف الآخر من العلبة ، استخدمت بعد ذلك بعضًا من Sugru الأسود لتأمين مجموعة HAT و Pi على باب الشريط ، بحيث يفتحون به. لقد استمتعت حقًا بلمسة صغيرة أخيرة - التثبيت في مغناطيس GeoMag بحيث يُغلق الباب بإحكام.

كان وضع النصفين معًا عملاً عصبيًا حيث كنت أخشى أن يتصادم Pi & Servo مع بعضهما البعض ، ولكن في النهاية كان هناك حوالي ملليمتر لتوفير الكثير في كتابي. نظرًا لأن باب الفتح غير التقليدي سيمنح الوصول الكامل إلى الداخل للخدمة المستقبلية ، فقد قمت للتو بلصق النصفين معًا ، وبعد مسح بصمات الأصابع الدهنية ، قمت بتركيب مجموعة سماعات الرأس في الأعلى - تم ذلك!

الخطوة السابعة: الهوس الهادئ

هاجس هادئ
هاجس هادئ
هاجس هادئ
هاجس هادئ

الجائزة الثانية في مسابقة إعادة الاستخدام

موصى به: