جدول المحتويات:
- اللوازم
- الخطوة 1: Tape Teardown
- الخطوة 2: Dark Sky Pi
- الخطوة الثالثة: الكود
- الخطوة 4: Unicorn HAT & Servo
- الخطوة 5: سماعة Jiggle
- الخطوة 6: التجميع
- الخطوة السابعة: الهوس الهادئ
فيديو: 1984 WeatherMan Pi: 7 خطوات (صور توضيحية)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
أصبح مشغل الكاسيت المحمول هذا الآن عبارة عن عرض للطقس المحيط بإنترنت الأشياء بنمط أوائل الثمانينيات ، حيث يعرض الرسوم المتحركة "للظروف الحالية" ودرجة حرارة التمرير والرسم البياني لاحتمالية هطول الأمطار من خلال نافذة الشريط. عندما تتغير حالة الطقس ، فإن سماعات الرأس التي يتم التحكم فيها عن طريق المؤازرة في الأعلى تهتز ذهابًا وإيابًا كتنبيه دقيق.
عند فتح باب الشريط الوظيفي ، يمكننا أن نرى أن المكونات الأصلية المغبرة قد تم استبدالها بـ 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
حصلت على مشغل الكاسيت القديم الجميل هذا من قبل حماتي في سبتمبر ووقعت في حب على الفور بمظهره الأيقوني وأزراره الكبيرة. لكن القرعة الحقيقية كانت تلك النافذة الكبيرة للشريط - بعد أن امتلكتها حوالي 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
كانت القدرة على الحصول على بيانات الطقس رائعة ، لكنني الآن بحاجة إلى عرضها على 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 مع بعضهما البعض ، ولكن في النهاية كان هناك حوالي ملليمتر لتوفير الكثير في كتابي. نظرًا لأن باب الفتح غير التقليدي سيمنح الوصول الكامل إلى الداخل للخدمة المستقبلية ، فقد قمت للتو بلصق النصفين معًا ، وبعد مسح بصمات الأصابع الدهنية ، قمت بتركيب مجموعة سماعات الرأس في الأعلى - تم ذلك!
الخطوة السابعة: الهوس الهادئ
الجائزة الثانية في مسابقة إعادة الاستخدام
موصى به:
الوحش الصغير الممسوس: 6 خطوات (صور توضيحية)
الوحش الصغير الممسوس: هذا الوحش الصغير سيخيف خدعتك أو معالجك عندما يتعلق الأمر بالحياة & amp؛ يتحدث إليهم. أخفيته قاب قوسين أو أدنى من بعض الأدغال على استعداد لتخويف الضحايا غير المرتابين عندما تقول "مرحبًا ، أريد أن ألعب" ويضحك كالملك
ميدالية مقياس التنفس: 4 خطوات (صور توضيحية)
ميدالية الكحول: لدينا جميعًا صديق خاص يحتاج إلى الإشراف في ليلة بالخارج. يُطلق على المنجم اسم جيفري ، وفي عطلة نهاية الأسبوع ، بدا من الحكمة أن يكون لديه عرض خارجي لمقدار المسؤولية التي من المحتمل أن يكون عليها
ساعة القمر مع التنين: 8 خطوات (صور توضيحية)
ساعة القمر مع التنين: *** الإدخال على مدونتي https://blog.familie-fratila.de/bone-dragon-moonlight-clock/ *** منذ بعض الوقت قمت ببناء ساعة لغرفة المعيشة الخاصة بي ، منذ أن كنت لم تجد شيئًا للشراء يحتوي على تصميمات مقبولة على الأقل :-) بالطبع كان لدى ابني الذي رأى هذا الأمر بعض المتطلبات
تمثال مورس موي: 4 خطوات (صور توضيحية)
تمثال مورس مواي: عندما كنت طفلاً ، كنت مهتمًا جدًا بشفرة مورس. كانت هناك عدة أسباب لهذا & ndash؛ كان والدي في Signal Corps خلال الحرب العالمية الثانية وكانت قصصه عن كيفية استخدام مورس في الحرب رائعة. كانت لدي أذن جيدة للإيقاعات ، لذلك تعلمت
عكازات بدون استخدام اليدين: 5 خطوات (صور توضيحية)
العكازات الخالية من اليدين: واحدة من أكبر المشاكل في المجتمع تتعلق بالصحة الجسدية ، لأن الشخص المعاق لديه العديد من القيود في نوعية حياته. لذلك ، لتسهيل حياة هؤلاء الناس هو أنهم صنعوا عكازات ، وهي أشياء