فهرست مطالب:

نشانگر بار پردازنده رزبری پای: 13 مرحله
نشانگر بار پردازنده رزبری پای: 13 مرحله

تصویری: نشانگر بار پردازنده رزبری پای: 13 مرحله

تصویری: نشانگر بار پردازنده رزبری پای: 13 مرحله
تصویری: تغییر رنگ و اندازه نشانگر موس در ویندوز 2024, جولای
Anonim
نشانگر بار پردازنده رزبری پای
نشانگر بار پردازنده رزبری پای

هنگام اجرای Raspberry Pi (RPI) بدون سر بدون مانیتور کنسول ، نشانه های بصری خاصی برای تشخیص RPI در واقع انجام کاری در دسترس نیست.

حتی اگر از ترمینال راه دور با SSH استفاده می شود ، اجرای دستور لینوکس برای بررسی میزان بار سیستم در حال حاضر بر CPU لازم است

بنابراین این مدار برای کمک به تشخیص فوری فعالیت واقعی CPU (شاید نیمه واقعی یا تقریباً واقعی) برای اجرای بارهای سیستم اعمال شده در حال حاضر ساخته شده است.

اگرچه فقط برنامه نویسی پایتون و مدارهای بسیار ساده تر می توانند عملکرد یکسانی را پشتیبانی کنند ، اما برای شبیه سازی منطق پیچیده کنترل LED مورد نیاز این مدار ، کمی کد پایتون پیچیده مورد نیاز است.

همچنین افزایش پیچیدگی پیچیدگی کد پایتون باعث افزایش بار بیشتر سیستم بر CPU می شود.

بنابراین ، بارگیری هرگونه عملکرد نشانگر تا حد امکان در مدار سخت افزاری خارجی منطقی خواهد بود زیرا این سرویس باید همیشه و اغلب در هر 5 ثانیه اجرا شود.

و این مدار کمی ویژگی خنده دار به RPI بدون سر اضافه می کند.

مرحله 1: بررسی بار CPU فرمان لینوکس

بررسی بار پردازنده فرمان لینوکس
بررسی بار پردازنده فرمان لینوکس

بارهای مختلف CPU وجود دارد که می توان دستورات لینوکس مانند top، iostat، sysstat و uptime را بررسی کرد.

هر دستور دارای ویژگی های سودمند خاصی از نظر تنوع اطلاعات و نمایش سادگی داده ها است.

فرمان بالا غنی ترین اطلاعات است و داده های بسیار دقیق برای تشخیص فوری بار سیستم در دسترس است.

اما به عنوان حالت تکرار (نمایش مداوم داده ها بر روی صفحه) و فرمت اطلاعات بسیار پیچیده است تا فقط داده های بار CPU مورد نیاز را به سادگی استخراج کند.

فرمان iostat با تفکیک مشاغل صف کاربر و سیستم که در حال حاضر بر CPU فشار می آورند ، اطلاعات بارگذاری سیستم را به طور عمیق ارائه می دهد.

اما دریافت بار CPU فعلی به صورت سریع و بصری نیز بی جهت پیچیده است.

در صورت آپ تایم ، داده های بارگذاری بسیار ساده سیستم به صورت میانگین 1 دقیقه ، میانگین 5 دقیقه و میانگین خلاصه 15 دقیقه در دسترس است.

همانطور که در بالا ذکر شد ، ساده سازی کد پایتون ضروری است زیرا باید اغلب در هر 5 ثانیه یا 10 ثانیه اجرا شود.

هنگامی که کد پایتون پیچیده می شود ، بار سنگینی بر CPU وارد می کند.

این نوعی تناقض است که شما RPI را برای نظارت بر بار سیستم متهم می کنید.

بنابراین ، من دستور uptime را برای جمع آوری بار CPU و همکاری با مدار نشانگر انتخاب می کنم ، زیرا ساده ترین است.

اما همانطور که زمان به طور متوسط 1 دقیقه از بار سیستم را نشان می دهد ، مدار نشانگر باید به عنوان حالت واقعی عمل نکند.

هنوز هم این مدار می تواند راهنمای بصری مفیدی باشد که نشان می دهد RPI در حال حاضر چگونه کار می کند.

مرحله 2: شماتیک

طرحواره ها
طرحواره ها

این مدار 4 سطح مختلف (به عنوان مثال 00-> LOW ، 01-> LIGHT ، 10-> MEDIUM ، 11-> HIGH) بار CPU فعلی را از RPI از طریق دو ورودی اپتو کوپلر دریافت می کند.

74LS139 (رمزگشای 2 تا 4 و چندضلعی) در حال رمزگشایی دو ورودی بیت به یکی از خروجی های منفرد از 4 روش ممکن است مانند 00 (پایین)-> B0 ، 01 (نور)-> B1 ، 10 (متوسط)-> B2 ، 11 (HIGH)-> B3.

از آنجا که خروجی 74LS139 سطح معکوس دارد (00 ورودی -> B0 LOW و 3 خروجی دیگر HIGH) ، از اینورتر 74HC04 برای خروجی یک بار دیگر استفاده می شود.

هنگامی که خروجی 74LS139 معمولی HIGH باشد ، 74HC04 ضروری نخواهد بود.

اما به نوعی 74LS139 به این شکل ساخته شده است. (لطفا جدول حقیقت 74LS139 را بررسی کنید)

هنگامی که یکی از 74LS139 خروجی انتخاب شود ، یک سوئیچ آنالوگ مشخص را در بین 4 سوئیچ موجود در CD4066 IC فعال می کند.

CD4066 می تواند از 4 کلید آنالوگ پشتیبانی کند و هر سوئیچ دارای 1 ورودی کنترل و 2 خروجی آنالوگ است.

وقتی ورودی کنترل HIGH می شود ، اتصال دو خروجی به امپدانس کم (مقاومت 0) و برخی دیگر به امپدانس HIGH (مقاومت بین دو مسیر خروجی به صدها مگا اهم می رسد) تبدیل می شود.

به سادگی 1 (پین 13) CD4066 را HIGH کنید ، مسیر بین خروجی 1 (پین 1) و خروجی 2 (پین 2) متصل می شود در حالی که سایر خروجی ها متصل نیستند (در حالت امپدانس بالا).

به همین ترتیب ، ورودی بالای کنترل 2 (پین 5) خروجی 1 (پین 4) و خروجی 2 (پین 3) را متصل می کند در حالی که دیگر خروجی ها قطع می شوند.

سپس LM555 در حال چشمک زدن دو LED با سرعت چشمک زدن متفاوت است.

همانطور که در شماتیک بالا مشاهده می کنید ، NE555 با 4 سطح مقاومت احتمالی (12k ، 24k ، 51k ، 100k) با یک مقدار مقاومت عمل می کند.

مرحله 3: تولید ساعت های مختلف NE555

NE555 تولید ساعت های مختلف
NE555 تولید ساعت های مختلف

همانطور که در شماتیک نشان داده شده است ، NE555 دارای یکی از مقادیر مقاومت احتمالی مانند 12k ، 24l ، 51k و 100k خواهد بود.

در واقع بخش مدار زمان بندی NE555 نشانگر اصلی بصری است که بخشی از مدار را پشتیبانی می کند.

طرح عملکرد مدار مانند زیر است.

- هنگامی که بار CPU قابل توجهی وجود ندارد ، برنامه پایتون نصب شده در RPI 00 خروجی را به مدار نشانگر ارسال می کند. سپس دو مسیر خروجی CD4066 فعال می شود و NE555 با مقاومت 12k کار می کند. بنابراین ، LED ها 1.5 بار در ثانیه چشمک می زنند (به سرعت چشمک می زنند)

- CPU به آرامی بارگیری می شود (سپس طول صف آپ تایم 0.1 ~ 0.9 می شود) ، پایتون 01 را به مدار ارسال می کند. سپس CD4066 با خروجی های متصل به مقاومت 24k فعال شد. در نتیجه ، چشمک زدن LED 1.2 بار در ثانیه کاهش می یابد (چشمک زدن LED کمی کاهش می یابد اما هنوز کمی سریع است)

- هنگامی که بار CPU به میزان قابل توجهی افزایش می یابد (سپس طول صف اجرا در زمان uptime به سطح 1.0 ~ 1.9 می رسد) ، پایتون 10 به مدار خروجی می دهد. سپس مسیر اتصال مقاومت 51k باز می شود و NE555 0.8 بار در ثانیه کار می کند. در حال حاضر میزان پلک زدن به میزان قابل توجهی کاهش می یابد.

- بارهای سنگین بار پردازنده و زمان اجرای صف آپتایم طولانی تر می شوند (بیش از 2 کار منتظر اجرا توسط CPU و زمان به روز بیش از 2.0 گزارش می شود). با انتخاب اتصال مقاومت 100k ، NE555 0.5 بار در ثانیه LED را چشمک می زند (سرعت چشمک زدن بسیار کند می شود)

***

همراه با افزایش بارهای سیستم ، سرعت چشمک زدن LED نیز به همین ترتیب کاهش می یابد.

وقتی LED بسیار آهسته چشمک می زند ، مطمئناً RPI به طور قابل توجهی بارگذاری می شود.

به این ترتیب مدار نشانگر بار ، میزان بار فعلی RPI شما را گزارش می کند.

مرحله 4: قطعات

برای ساخت این مدار ، از تراشه های IC مختلف استفاده می شود.

اگرچه من از نوع 74LSxx ، نوع CD40xx تراشه های IC قدیمی یاد می کنم ، شما می توانید از انواع اخیر تراشه های TTL و CMOS مانند 74HC4066 و 74ASxx در صورت انتخاب تراشه IC از نوع DIP استفاده کنید.

هنگامی که بتوانید قطعات کوچک را به درستی روی PCB جهانی لحیم کنید ، از نوع اتصال سطح بسته IC کوچک نیز می توان استفاده کرد.

سایر قطعات رایج هستند که می توانید به راحتی از فروشگاه های الکترونیکی اینترنتی خریداری کنید.

- 74LS139 (رمزگشای 2 تا 4 ، چند رسانه ای) x 1

- 74HC04 (6 اینورتر) x 1

- CD4066 (4 سوئیچ آنالوگ IC) x 1

- NE555 تایمر IC x 1

- خازن ها: 10uF x 1 ، 0.1uF x 1

-PC817 opto-coupler x 2 (از هر 4 پین Opto-coupler معمولی می توان استفاده کرد)

- مقاومت: 220 اهم 4 x (محدودیت جریان LED) ، 4.7K (رابط Opto-coupler) x 2 ، 12K ،/24K/51K/100K (کنترل زمان بندی ساعت) x 1

- LED x 2 (هر رنگ مختلف مانند زرد ، سبز یا قرمز ، سبز)

- صفحه جهانی 30 (W) در 20 (H) اندازه سوراخ (می توانید هر اندازه تخته جهانی را برازید تا متناسب با این مدار باشد)

- سیم قلع (برای ایجاد الگوهای سیم کشی در PCB جهانی)

- سر پین (3 پین) x 3

- سر IC pin (4 پین) x 4

- کابل های سیم کشی رنگ قرمز/آبی

***

مرحله 5: ساختن نقاشی PCB

ساخت نقاشی PCB
ساخت نقاشی PCB

اگرچه در هر پروژه نقاشی PCB را نشان می دهم ، طراحی سیم کشی فقط مرجعی است که به شما کمک می کند لحیم کاری هر قسمت را بر روی PCB جهانی درست انجام دهید.

اما لزوماً به این طرح سیم کشی پایبند نیستید.

همانطور که می بینید نمودار سیم کشی در بالا ، این کاملاً پیچیده است و به PCB قابل توجهی نیاز دارد.

می توانید از کابل معمولی برای اتصال قطعات به جای سیم قلع برای کاهش اندازه لحیم کاری PCB تکمیل شده استفاده کنید.

فقط از نقاشی PCB برای بررسی و تأیید لحیم صحیح بین قطعات استفاده کنید.

وقتی تعداد IC های TTL یا CMOS افزایش می یابد ، معمولاً رسم PCB فراتر از ادغام مناسب در یک طرف PCB بسیار پیچیده می شود.

بنابراین ، چند لایه PCB معمولاً برای درجه های صنعتی مدارهای دیجیتالی استفاده می شود که شامل مقدار زیادی TTL ، CMOS و ریز پردازنده است.

مرحله 6: لحیم کاری

لحیم کاری
لحیم کاری

من از سیم قلع و کابل سیم کشی معمولی با هم برای به حداقل رساندن اندازه PCB تا حد امکان استفاده می کنم.

هنگام مقایسه با طراحی PCB ، محل هر قسمت به طور کامل تغییر می کند.

اما هنوز از نقاشی PCB برای تأیید اتصال صحیح بین قطعات هنگام لحیم کاری استفاده می شود.

می بینید که مقاومتهای 12k/24k/51k/100k روی سر پین IC بدون لحیم کاری وارد شده اند.

بنابراین ، می توانید مقاومتها را به منظور تغییر راحت طرح عملیاتی مدار بعداً جایگزین مقادیر دیگر کنید.

مرحله 7: مونتاژ

مونتاژ کردن
مونتاژ کردن

مدار نشانگر بار کامل شده (از این پس INDICATOR) بر روی جعبه RPI پخش کننده موسیقی مطابق تصویر بالا نصب شده است.

این پخش کننده موسیقی با DAC نصب شده است و من اخیراً از آن برای پخش موزیک ویدیو استفاده می کنم.

در مورد این جعبه RPI ، بعداً توضیح خواهم داد و اکنون روی INDICATOR تمرکز می کنیم زیرا مدار موضوع اصلی این پروژه است.

من اخیراً Raspberry Pi 4 Model B 2GB (از این پس RPI 4B) را برای پشتیبانی از برنامه پخش ویدیو خریداری کردم.

از آنجا که RPI 4B عملکرد 4 هسته CPU را افزایش داده است ، مدیریت بارهای سیستم به طور قابل توجهی از RPI 3B+افزایش می یابد.

بنابراین خروجی طول صف اجرا باید متفاوت از RPI 3B+باشد.

- برای بارهای معمولی سیستم مانند پخش ویدئو ، طول صف اجرا معمولاً کمتر از 0.5 است (بنابراین بار سیستم کم 0.0 ~ 0.5 سطح است)

- هنگامی که بار اضافی اضافی سیستم مانند پخش ویدئو و کپی فایل ها از و به فهرست کارهای محلی اضافه می شود ، بار کمی بر CPU وارد می کند. (بنابراین سطح بار سبک 0.5 ~ 1.0 خواهد بود)

- هنگامی که بارهای قابل توجهی مانند پخش فیلم در مرورگر در سایت Youtube و مرور وب در مرورگر دیگر اعمال می شود ، سرعت اجرای RPI 4 کمی کند می شود (بنابراین سطح بار متوسط باید 2.0 1.0 1.0 باشد)

- سرانجام بار سیستم RPI 4 هنگام اجرای چندین مرورگر وب و کپی حجم زیادی از فایلها در سرور RPI دیگر از طریق شبکه ، بالا می رود (سپس طول صف اجرا بیش از 2.0 می شود)

***

این داده های سطح بار توسط کد توسعه پایتون در مرحله بعدی استفاده می شود.

مرحله 8: تجدید نظر در مدار اصلی

بازبینی مدار اصلی
بازبینی مدار اصلی

به دلیل چندین نقص در طراحی مدار اصلی ، مدار را مطابق تصویر بالا تغییر می دهم.

دلایل تغییر به شرح زیر است.

- نبض ساعت NE555 دارای شکل موج HIGH و LOW است. اما معمولاً مدت زمان سیگنال HIGH و LOW (t = 1/f) یکسان نیست (برای مثال HIGH 70٪ و LOW 30٪ در مدار اصلی است). بنابراین ، میزان چشمک زدن دو LED (LED سبز/زرد در طرح اصلی) یکسان نیست (یک LED بیشتر از دیگری روشن می شود). به همین دلیل ، نشانگر بصری با چشمک زدن LED به راحتی قابل تشخیص نیست."

- بنابراین ، من LED های بیشتری اضافه می کنم و الگوی تکرار دایره ای را با CD4017 برای اطمینان از تشخیص آسان حالت عملیاتی ایجاد می کنم.

- همچنین تغییر طرح چشمک زدن LED به صورت معکوس مانند پلک زدن آهسته در بار LOW و چشمک زدن سریعتر با بار زیاد. (مدار اصلی طوری ساخته می شود که در بار LOW سریعتر چشمک می زند و در بار زیاد چشمک می زند). در شرایط بارگذاری زیاد ، هرگونه عمل RPI کند می شود. و نشان دادن چشمک زن LED کند شما را خوشحال نمی کند. (از نظر روانشناسی ، من طرح نمایش مثبت بیشتری را انتخاب می کنم)

***

اگرچه قسمت صفحه نمایش LED به طور قابل توجهی تغییر کرده است ، اما سطح کلی تغییر در مدار اصلی آنطور که در مرحله بعد مشاهده می کنید زیاد نیست.

مرحله 9: تغییر طرحواره اصلی

تغییر طرحواره اصلی
تغییر طرحواره اصلی

افزودن CD4017 و 8 LED اصلاح عمده است.

همچنین برای تغییر فرکانس کلاک NE555 و طرح چشمک زدن معکوس LED ، مقادیر مقاومتها مطابق شکلهای بالا تغییر می کند.

از آنجا که بخش مدار اضافه شده یک مدار تعقیب کننده ساده مبتنی بر CD4017 است ، سایر توضیحات مربوط به مدار اصلاح شده را حذف خواهم کرد.

تمام قسمتهای مدار تغییر یافته می توانند به عنوان برد مدار چاپی ساخته شوند که CD4017 و 8 LED به آن لحیم شده اند.

همانطور که در تصویر 8 نشان داده شده است ، تخته دختر را می توان به صفحه اصلی (مادر برد) متصل کرد.

مرحله 10: آزمایش

ویدئوی آزمایش تمام مراحل عملیاتی (حالت بارگذاری LOW ، LIGHT ، MEDIUM و HIGH) توسط فایل ذخیره شده در درایو گوگل زیر نشان داده می شود.

***

drive.google.com/file/d/1CNScV2nlqtuH_CYSW…

***

با توجه به بار سیستم فعلی ، میزان چشمک زدن در بین یکی از 4 حالت نشان داده شده در فیلم تغییر می کند.

مرحله 11: کد پایتون

کد پایتون
کد پایتون

از آنجا که بیشتر منطقهای کنترل کننده شامل مدار سخت افزاری خارجی می شوند ، منطق عملیاتی کد پایتون از جمله مراحل زیر نسبتاً ساده است.

- دریافت داده های دمای CPU برای مقایسه نسبی بین بار سیستم و افزایش دما

- جمع آوری 1 دقیقه بار متوسط سیستم از خروجی uptime

-ساخت زمان مانند قالب yy-mm-dh hh: mm: ss

- دمای نوشتن ، بار سیستم به همراه مهر زمان

- با توجه به داده های خروجی بار سیستم (00 ، 01 ، 10 ، 11) به مدار INDICATOR

- 5 ثانیه قبل از شروع مراحل ذکر شده در بالا بخوابید

از آنجا که برنامه پایتون نیاز به تورفتن دقیق در سورس کد دارد ، لطفاً با پیوند زیر ، فایل منبع را از google drive بارگیری کنید.

***

drive.google.com/file/d/1BdaRVXyFmQrRHkxY8…

***

از آنجا که من از RPI به عنوان رایانه رومیزی استفاده نمی کنم ، اجرای برنامه های دفتر Libre یا مرورگر وب بسیار نادر است.

معمولاً در حال پخش موزیک ویدئو ، کپی/جابجایی فایل یا برنامه نویسی پایتون با RPI 4B 2GB تازه خریداری شده هستم.

بنابراین ، بار متوسط در مورد من معمولاً کمتر از 1.0 است و بر این اساس من سطوح LOW/LIGHT/MEDIUM/HIGH را در کد خود تغییر می دهم. (در غیر اینصورت می توانید شرایط آزمایش را تغییر دهید)

اما وقتی معمولاً ویدیوهای Youtube را با RPI مشاهده می کنید ، معمولاً بیش از 2.0 بارگذاری سیستم اتفاق می افتد.

مرحله 12: نسبی بین بار سیستم و دمای CPU

نسبیت بین بار سیستم و دمای CPU
نسبیت بین بار سیستم و دمای CPU

معمولاً حدس می زنم و مطمئن هستم که افزایش بار سیستم باعث افزایش دمای CPU می شود.

اما تا کنون تصویر روشنی از همکاری متقابل بین آنها ندارم.

همانطور که در نمودار بالا مشاهده می کنید ، آنها به صورت زیر با یکدیگر رابطه قوی دارند.

- برای مقایسه آسان ، من 10 را در میانگین بار سیستم ضرب می کنم. در غیر این صورت مقیاس بار سیستم بسیار کوچک است (2.0 0.0 0.0) ، مقایسه مستقیم دشوار می شود.

- با نصب مدار FAN خنک کننده روی جعبه پخش موسیقی Pi ، دمای CPU هرگز از 50 درجه تجاوز نمی کند

- هنگامی که بار سیستم در محدوده 0.0 ~ 1.0 است ، دما در محدوده 45 ~ 48 درجه سانتیگراد (پوشش فلزی CPU کمی گرم می شود)

- اما بار سنگینی اعمال می شود (معمولاً مرورگر وب و پخش ویدئوهای Youtube) ، بار زیاد و درجه حرارت

***

از آنجا که RPI 4B با CPU 4 هسته ای نصب شده است ، از لحاظ تئوری عملکرد تا سطح بارگیری (صف اجرای زمان به موقع) کاهش نمی یابد 4.

اما هنوز کمتر از سطح بار متوسط 4 ، کنترل دمای مناسب لازم است.

مرحله 13: نهایی شدن

نهایی شدن
نهایی شدن

من با نصب جعبه INDICATOR to Pi مانند تصویر بالا این پروژه را به پایان می رسانم.

در حین استفاده معمولی از این جعبه Pi ، INDICATOR به ندرت چشمک زن LED سطح بالا و پویا را نشان می دهد.

معمولاً در حالت LED های چشمک زن آهسته باقی می ماند (بنابراین سطح LOW یا LOW).

به هر حال نشانگر بصری اضافه شده کمی خنده دار است ، حداقل نشان می دهد که RPI در حال انجام کاری است.

ممنون که این داستان را خواندید…..

توصیه شده: