فهرست مطالب:
- تدارکات
- مرحله 1: نوار Teardown
- مرحله 2: Dark Sky Pi
- مرحله 3: کد
- مرحله 4: تک شاخ HAT & Servo
- مرحله 5: تکان دادن هدفون
- مرحله ششم: مونتاژ
- مرحله 7: وسواس آرام
تصویری: 1984 WeatherMan Pi: 7 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
این دستگاه پخش کاست قابل حمل در حال حاضر یک نمایشگر آب و هوای اینترنت اشیا با سبک اولیه دهه 80 است ، که یک انیمیشن "شرایط فعلی" ، پیمایش دما و نمودار احتمال باران را از طریق پنجره نوار نمایش می دهد. هنگامی که شرایط آب و هوا تغییر می کند ، هدفون های کنترل شده با سروو در بالا به عنوان یک هشدار ظریف به جلو و عقب حرکت می کند.
با باز کردن درب نوار کاربردی ، می بینیم که اجزای اصلی گرد و غبار با Raspberry Pi Zero W ، Pimoroni Unicorn Hat HD (LED Matrix) و یک سروو کوچک جایگزین شده اند. داده های آب و هوا با استفاده از یک اسکریپت پایتون تهیه می شود که API فوق العاده دقیق Dark Sky Weather را متناسب با مکان خاص من جستجو می کند.
این یک IoT ساده اما با ظاهر زیبا و کاربردی است که روی بلندگوی میز مقابل پیشخوان YouTube من نشسته است و بی سر و صدا مرا از وضعیت آب و هوا مطلع می کند.
تدارکات
تمشک پای صفر
Pimoroni Unicorn HAT HD
سرو کوچک
1984 هیتاچی SP-1 استریو شخصی و هدفون
USB آداپتور WiFi
میله رزوه ای 2 میلی متری
Sugru (سیاه و خاکستری)
آهنربای GeoMag
مرحله 1: نوار Teardown
در ماه سپتامبر مادر شوهرم این نوار کاست دوست داشتنی را به من داد و فوراً عاشق ظاهر نمادین و دکمه های بزرگ آن شدم. اگرچه قرعه کشی واقعی آن پنجره نوار بزرگ بود - بعد از 15 ثانیه در اختیار داشتن خط کش ، من شگفت زده شدم که متوجه شدم اندازه آن به اندازه میلی متر استاندارد رزبری پای HAT (سخت افزار متصل در بالا) است.
این کشف به تنهایی کافی بود پروژه ساعت فاخته من را در لیست "انجام" قرار دهد و من بلافاصله با برچیدن دستگاه شروع به کار کردم.
قطره اشک بسیار خوب پیش رفت و من با سه قطعه مجزا کار کردم - من موفق شدم چند قسمت پلاستیکی را بشکنم ، اما هیچ چیز را نمی توان به هم چسباند.
مرحله 2: Dark Sky Pi
من مدتی است از Dark Sky در تلفن خود استفاده می کنم و واقعاً تحت تأثیر پیش بینی های پیش بینی شده قرار گرفته ام ، بنابراین خوشحال شدم که آنها API جامعی را ارائه دادند که می توانم در این پروژه از آن استفاده کنم. تنظیم خوب و ساده است هم بالا!
ابتدا به https://darksky.net/dev بروید و برای یک حساب رایگان ثبت نام کنید - یک حساب "آزمایشی" به شما امکان می دهد روزانه 1000 درخواست API انجام دهید ، که برای تجدید هر 1.5 دقیقه کافی است - اغلب حتی برای من سطح وسواس آب و هوا در انگلیس
پس از ثبت نام ، یک "کلید مخفی" دریافت خواهید کرد - این چیزی است که برای دسترسی به داده ها به آن نیاز دارید و در اسکریپت پایتون مورد استفاده قرار می گیرد ، بنابراین آن را مفید (و می دانید ، مخفی) نگه دارید.
من کار را با اقتباس از اسکریپتی که در پیشخوان مشترکان YouTube استفاده می کردم ، شروع کردم ، که از ماژول Requests در Python برای بازیابی داده های API استفاده می کند. اسکریپتی که من استفاده کردم در GitHub است ، شما فقط باید کلید API Dark Sky خود را اضافه کنید و البته مقادیر Latitude & Longitude خود را جایگزین کنید.
جمع آوری اطلاعات در مورد شرایط آب و هوایی فعلی بسیار ساده بود و تصمیم گرفتم از عناصر "نماد" ، "احتمال بارندگی" و "دما" استفاده کنم.
مرحله 3: کد
اگر می خواهید از کدی که استفاده کردم مجدداً استفاده کنید یا از آن استفاده کنید ، در مخزن WeatherMan در GitHub قرار دارد - پوشه "weather" را در پوشه "pi" در Raspberry Pi خود بارگیری یا بارگیری کنید.
توابع اصلی اسکریپت به شرح زیر است:
weatherman.py
این اسکریپت اصلی است که داده های آب و هوا را از Dark Sky استخراج می کند. شما باید یک حساب Dark Sky در https://darksky.net/dev ایجاد کنید و کلید مخفی خود را در اسکریپت جایی که نشان داده شده قرار دهید. شما همچنین باید عرض و عرض جغرافیایی موقعیت جوی مورد علاقه خود را وارد کنید - این را می توانید در Google Maps پیدا کنید ، فقط راست کلیک کرده و "What here here؟" را انتخاب کنید. و یک پنجره بازشو نشان می دهد که عرض/طول مکان را نشان می دهد.
پس از بازیابی داده های API weatherman.py پارامترها را به چندین اسکریپت کوچکتر منتقل می کند تا انیمیشن ها و تکان های هدفون شروع شود.
قرار است اسکریپت در هنگام راه اندازی با ویرایش فایل راه اندازی اجرا شود…
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… و افزودن:
@python3 /home/pi/weather/weatherman.py &
در انتهای فایل
icon.py
این اسکریپت یک پارامتر "شرایط فعلی" را از اسکریپت weatherman.py گرفته و از آن برای نمایش یک تصویر متحرک 16x16 در آب و هوا استفاده می کند - همه آنها در پوشه "icons" ذخیره می شوند و بخشی از اسناد استاندارد Unicorn HAT HD هستند. می توانید فایل های متحرک-p.webp
phones.py
اگر شرایط آب و هوایی نسبت به آخرین درخواست API تغییر کرده است (یا یک بوت تازه است و برف نمی بارد) ، این اسکریپت از weatherman.py فراخوانی می شود و به سروو دستور می دهد "تکان دادن" رفت و برگشت داشته باشد تا به شما هشدار دهد که شرایط تغییر کرد.
precip.py
این اسکریپت یک پارامتر "احتمال بارندگی" را از weatherman.py می پذیرد و خطوط را به رنگ آبی در٪ Unicorn HAT مربوط به٪ احتمال نشان می دهد. اگر 100 all همه 16 ردیف آبی می شود ، اگر 50 only فقط 8 ردیف و غیره.
temp.py
یکی دیگر از اسکریپت های استاندارد Pimoroni ، این یکی یک پارامتر "temp" از weatherman.py می گیرد و آن را با متن پیمایش نشان می دهد. تنظیم شده است که از فونت Herkules truetype (در پوشه "fonts") استفاده کند اما در صورت تمایل می توانید از یک فونت استاندارد استفاده کنید. حتی می توانید آن را افزایش دهید تا متن نمایش داده شده بسته به مقدار دما تغییر رنگ دهد!
مرحله 4: تک شاخ HAT & Servo
این که بتوانم اطلاعات آب و هوا را در اختیار بگیرم بسیار عالی بود ، اما اکنون باید آن را روی Unicorn HAT نمایش می دادم. من مجموعه های مختلفی از نمادهای آب و هوا را در اینترنت مشاهده کردم و در نیمه راه برای تطبیق آنها بودم ، وقتی متوجه شدم که یک مثال آب و هوا شامل مستندات Pimoroni است - و این شامل انیمیشن های آب و هوا نیز می شود!
این باعث صرفه جویی در حجم زیادی از کار شد و من در مدت زمان کوتاهی شروع به کار کردم ، با یک نماد متحرک برای شرایط فعلی ، تعدادی متن پیمایش برای دما و یک نمودار برای میزان بارندگی (که شامل برخی از ریاضیات سبک بود). من اسکریپت ها را جدا نگه داشتم و از ماژول Subprocess Python برای انتقال پارامترها به این طرف و آن طرف استفاده کردم.
افزودن سروو وسیله ای ایده آل برای این هشدارها بود ، زیرا کمی سر و صدا ایجاد می کرد و بدون مزاحمت بیش از حد چشم نواز خواهد بود. با استفاده از HAT در حال حاضر بسیاری از پین های Pi ، کابل های سروو را به قسمت زیرین صفحه چسباندم ، با استفاده از پین 17 حرکت سروو را با استفاده از مدولاسیون عرض پالس کنترل کردم.
تغذیه سروو از Pi ایده آل نبود ، اما فقط برای تکان دادن لحظه ای مورد استفاده قرار می گیرد ، بنابراین دقت در اینجا مهم نیست. همانطور که در نمودار نشان داده شده است ، با کابل Brown به GND ، قرمز به 5v و نارنجی (کابل کنترل) به GPIO17 متصل شد.
در نهایت من برخی از فایل های انیمیشن آب و هوا را در GIMP ویرایش کردم تا بتوانم ویژگی های شخصی خود را مانند خفاش های روی ماه و صورت خندان روی خورشید اضافه کنم. من همچنین یک انیمیشن چرخ کاست "Old Tech New Spec" را اضافه کردم که در هنگام راه اندازی ، فقط برای سرگرمی پخش می شود.
مرحله 5: تکان دادن هدفون
ایده WeatherMan این بود که به طور منفعل روی بلندگوی میز من می نشیند و گاهی اوقات آب و هوا را نشان می دهد ، اما من می خواستم کمی بیشتر کار کند! هدفون هایی که همراه آن بود نان تست بود اما دهه 80 قدیمی بود ، بنابراین تصمیم گرفتم کاری با آنها انجام دهم. پس از جدا کردن تمام کابل و چسباندن داغ قسمت شکسته ، سه قسمت برای من باقی ماند ، دوشاخه 3.5 میلی متری ، دکمه الماسی شکل و خود گوشی ها روی نوار فلزی قابل انعطاف.
این ایده به ذهنم رسید که اگر بتوانم راهی برای نصب تلفن ها در بالای دستگاه پیدا کنم ، می توانم آنها را با یک سروو به جلو و عقب بچرخانم و از این به عنوان یک اطلاع رسانی اضافی استفاده کنم.
ابتدا پلاگین 3.5 میلی متری را سوراخ کردم و کلید الماس را برچیدم ، سپس آنها را روی یک قطعه میله رزوه ای انداختم. سپس یک مهره را به یک اتصال پلاستیکی چسباندم ، به طوری که میله بتواند به طور ایمن (و مستقیم) بر روی سروو بنشیند. در انتهای دیگر میله یک مهره دیگر اضافه کردم. در نهایت من از Sugru خاکستری برای اتصال بالای میله به نوار گوش و همچنین برای پوشاندن مهره در قسمت پایینی استفاده کردم. اگر نام Sugru را نشنیده اید ، یک چسب قالب پذیر است که در کیسه های کوچک رنگی عرضه می شود - مانند Play -Doh شکل می گیرد اما مانند چسب فوق العاده می چسبد و مانند پلاستیک محکم می شود!
با هوای سرد اخیر ، Sugru چند روز طول کشید تا کاملاً سفت شود ، اما هدفون و پایه آنها به زودی آماده مونتاژ نهایی شدند.
مرحله ششم: مونتاژ
Pi ، HAT و Servo همگی روی نیمکت خوب کار می کردند ، بنابراین کار بعدی این بود که آنها را وارد کیس کنید. قبل از شروع به کار روی اجزای بزرگ ، از مقداری خاکستری باقی مانده از Sugru برای تنظیم صفحه تنظیم صدا ، سوکت هدفون و کلید "نوار فلزی" استفاده کردم و لوازم آرایشی را مرتب کردم. من همچنین دکمه های اصلی Play ، Stop ، FF & Rew را به یک قطعه لوله پلاستیکی چسباندم تا آنها در جای مناسب بمانند. این شرم آور بود که این بار دیگر از هیچ یک از دکمه ها استفاده نکنید ، اما واقعاً چیزی برای کنترل آنها وجود نداشت!
من از آخرین Sugru خاکستری برای نگه داشتن سروو در موقعیت خود استفاده کردم ، در حالی که شافت آن از طریق سوکت بزرگ شده هدفون وارد می شود. با حرکت به نیمه دیگر کیس ، سپس از مقداری Sugru مشکی برای اتصال HAT و Pi به درب نوار استفاده کردم تا با آن باز شوند. من واقعاً از آخرین لمس کوچک لذت بردم - تعمیر در آهنربای GeoMag به طوری که درب محکم بسته بماند.
کنار هم گذاشتن دو نیمه کار مشکلی بود زیرا می ترسیدم Pi & Servo با یکدیگر برخورد کنند ، اما در نهایت چیزی در حدود یک میلی متر باقی مانده بود ، مقدار زیادی در کتاب من وجود داشت. از آنجا که درب بازکنی بدیع برای سرویس های بعدی به فضای داخلی دسترسی کامل می دهد ، من فقط دو قسمت را به هم چسباندم و پس از پاک کردن اثر انگشت های چرب ، مجموعه هدفون را در بالا نصب کردم - تمام شد!
مرحله 7: وسواس آرام
جایزه دوم در مسابقه استفاده مجدد
توصیه شده:
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: 7 مرحله (همراه با تصاویر)
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: من قصد دارم از این Rapsberry PI در چندین پروژه سرگرم کننده در وبلاگم استفاده کنم. به راحتی آن را بررسی کنید. من می خواستم دوباره به استفاده از Raspberry PI بپردازم ، اما در مکان جدیدم صفحه کلید یا موس نداشتم. مدتی بود که من یک تمشک راه اندازی کردم
نمایش اسلاید تصاویر تعطیلات خود را با لمس سحر و جادو!: 9 مرحله (همراه با تصاویر)
نمایش اسلاید تصاویر خود را با لمس جادو! برای مطابقت با پرچم و موضوع کشوری که من از آن دیدن می کنم (در این مورد ، سیسیل). تی
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
نحوه جدا کردن رایانه با مراحل و تصاویر آسان: 13 مرحله (همراه با تصاویر)
نحوه جدا کردن رایانه با مراحل و تصاویر آسان: این دستورالعمل نحوه جدا کردن رایانه است. اکثر اجزای اصلی ماژولار هستند و به راحتی حذف می شوند. با این حال مهم است که در مورد آن سازماندهی شده باشید. این به شما کمک می کند تا قطعات را از دست ندهید ، و همچنین باعث می شود دوباره سرهم کنید
ذخیره تصاویر برای انجام وظیفه: 4 مرحله (همراه با تصاویر)
ذخیره تصاویر برای انجام وظیفه: 1. یک سند جدید Google باز کنید و از این صفحه برای ایمن سازی تصاویر خود استفاده کنید. از ctrl (کنترل) و & quot؛ c & quot؛ کلید کپی کردن از ctrl (کنترل) و & quot؛ v & quot؛ کلید چسباندن