สารบัญ:

ตัวบ่งชี้การโหลด CPU Raspberry Pi: 13 ขั้นตอน
ตัวบ่งชี้การโหลด CPU Raspberry Pi: 13 ขั้นตอน

วีดีโอ: ตัวบ่งชี้การโหลด CPU Raspberry Pi: 13 ขั้นตอน

วีดีโอ: ตัวบ่งชี้การโหลด CPU Raspberry Pi: 13 ขั้นตอน
วีดีโอ: Raspberry Pi 4 เปลี่ยนโฉมครั้งใหญ่ที่มาพร้อมกับความร้อนแรง [คันทรีรีวิว #32] 2024, กรกฎาคม
Anonim
Raspberry Pi CPU Load Indicator
Raspberry Pi CPU Load Indicator

เมื่อรัน Raspberry Pi (RPI) แบบ headless โดยไม่มีคอนโซลมอนิเตอร์ จะไม่มีการแสดงภาพที่ชัดเจนเพื่อระบุว่า RPI กำลังทำอะไรบางอย่างอยู่

แม้ว่ารีโมตเทอร์มินัลจะใช้กับ SSH แต่จำเป็นต้องมีการดำเนินการคำสั่ง Linux เป็นครั้งคราวเพื่อตรวจสอบว่าโหลดระบบเป็นภาระของ CPU ในขณะนี้

ดังนั้นวงจรนี้จึงถูกสร้างขึ้นเพื่อช่วยให้รับรู้กิจกรรมที่แท้จริงของ CPU (อาจเป็นแบบกึ่งจริงหรือใกล้เคียงจริง) เพื่อดำเนินการโหลดระบบที่ใช้อยู่ในปัจจุบัน

แม้ว่ามีเพียงการเขียนโปรแกรมหลามและวงจรที่ง่ายกว่ามากเท่านั้นที่สามารถรองรับการทำงานแบบเดียวกันได้ แต่โค้ดหลามที่ซับซ้อนเล็กน้อยจะต้องใช้เพื่อจำลองตรรกะการควบคุม LED ที่ซับซ้อนซึ่งต้องการโดยวงจรนี้

ความซับซ้อนที่เพิ่มขึ้นอย่างขัดแย้งกันของโค้ด python จะทำให้ CPU มีภาระมากขึ้นเมื่อโหลดระบบเพิ่มขึ้น

ดังนั้น การปิดฟังก์ชันการบ่งชี้ใดๆ ให้มากที่สุดเท่าที่จะเป็นไปได้กับวงจรฮาร์ดแวร์ภายนอกจะสมเหตุสมผล เนื่องจากบริการนี้ควรทำงานตลอดเวลาและบ่อยครั้ง เช่น ทุกๆ 5 วินาที

และวงจรนี้จะเพิ่มคุณสมบัติตลกเล็กน้อยให้กับ RPI ที่ทำงานแบบไม่มีหัว

ขั้นตอนที่ 1: CPU Load Checking Linux Command

CPU Load Checking Linux Command
CPU Load Checking Linux Command

มีคำสั่ง Linux สำหรับตรวจสอบโหลด CPU ที่หลากหลาย เช่น top, iostat, sysstat และ uptime

แต่ละคำสั่งมีคุณสมบัติที่เป็นประโยชน์เฉพาะในแง่ของความหลากหลายของข้อมูลและการแสดงความเรียบง่ายของข้อมูล

คำสั่งบนสุดคือข้อมูลที่มีข้อมูลสมบูรณ์และละเอียดที่สุดที่มีให้สำหรับการรับรู้โหลดของระบบทันที

แต่มันทำงานเป็นโหมดการวนซ้ำ (แสดงข้อมูลอย่างต่อเนื่องบนหน้าจอ) และรูปแบบข้อมูลค่อนข้างซับซ้อนในการดึงเฉพาะข้อมูลโหลดของ CPU ที่ต้องการอย่างง่ายๆ

คำสั่ง iostat ให้ข้อมูลโหลดระบบในเชิงลึกโดยแยกผู้ใช้และระบบที่รันคิวซึ่งกำลังสร้างภาระให้กับ CPU ในปัจจุบัน

แต่ก็ยังซับซ้อนโดยไม่จำเป็นในการรับโหลด CPU ปัจจุบันในลักษณะที่รวดเร็วและใช้งานง่าย

ในกรณีของเวลาทำงาน ข้อมูลโหลดระบบที่ง่ายมากจะแสดงเป็นค่าเฉลี่ย 1 นาที ค่าเฉลี่ย 5 นาที และค่าเฉลี่ยสรุป 15 นาที

ดังที่กล่าวไว้ข้างต้น การลดความซับซ้อนของโค้ด python เป็นสิ่งจำเป็น เนื่องจากควรดำเนินการค่อนข้างบ่อย เช่น ทุกๆ 5 วินาทีหรือ 10 วินาที

เมื่อโค้ด python ซับซ้อน มันจะสร้างภาระให้กับ CPU มาก

เป็นเรื่องที่ขัดแย้งกันที่คุณต้องรับภาระ RPI เพื่อตรวจสอบการโหลดระบบ

ดังนั้นฉันจึงเลือกคำสั่ง uptime เพื่อรวบรวมโหลด CPU และทำงานร่วมกับวงจรตัวบ่งชี้เพราะมันง่ายที่สุด

แต่เนื่องจากเวลาทำงานแสดงค่าเฉลี่ยของโหลดระบบ 1 นาที วงจรไฟแสดงจะต้องไม่ทำงานเหมือนโหมดเรียลไทม์อย่างเคร่งครัด

วงจรนี้ยังสามารถให้คำใบ้ที่เป็นประโยชน์ซึ่งแสดงให้เห็นว่า RPI ทำงานอย่างไรในตอนนี้

ขั้นตอนที่ 2: แผนผัง

แผนผัง
แผนผัง

วงจรนี้จะได้รับ 4 ระดับที่แตกต่างกัน (เช่น 00->LOW, 01->LIGHT, 10->MEDIUM, 11->HIGH) ของโหลด CPU ปัจจุบันจาก RPI ผ่านอินพุต opto-coupler สองตัว

74LS139 (ตัวถอดรหัส 2 ถึง 4 ตัวและตัวแยกมัลติเพล็กเซอร์) กำลังถอดรหัสอินพุตสองบิตเป็นหนึ่งในเอาต์พุตเดี่ยวจาก 4 วิธีที่เป็นไปได้ เช่น 00(LOW)->B0, 01(LIGHT)->B1, 10(MEDIUM)->B2, 11(สูง)->B3.

เนื่องจากเอาต์พุต 74LS139 เป็นระดับย้อนกลับ (00 อินพุต -> B0 กลายเป็น LOW และเอาต์พุตอีก 3 รายการสูง) อินเวอร์เตอร์ 74HC04 จะใช้เพื่อทำให้เอาต์พุตย้อนกลับอีกครั้ง

เมื่อเอาต์พุต 74LS139 เป็นค่าปกติของ HIGH 74HC04 จะไม่จำเป็น

แต่อย่างใด 74LS139 ทำแบบนั้น (โปรดตรวจสอบตารางความจริงของ 74LS139)

เมื่อเลือกเอาท์พุต 74LS139 ตัวใดตัวหนึ่ง จะเปิดใช้งานสวิตช์แอนะล็อกหนึ่งตัวจากสวิตช์ 4 ตัวที่รวมอยู่ใน CD4066 IC

CD4066 สามารถรองรับสวิตช์แบบอะนาล็อกได้ 4 ตัว และแต่ละสวิตช์ประกอบด้วยอินพุตควบคุม 1 ตัวและเอาต์พุตแบบอะนาล็อก 2 ตัว

เมื่ออินพุตควบคุมมีค่าสูง การเชื่อมต่อเอาต์พุตสองรายการจะกลายเป็นอิมพีแดนซ์ต่ำ (ความต้านทานกลายเป็น 0) และส่วนอื่นๆ จะกลายเป็นอิมพีแดนซ์สูง (ความต้านทานระหว่างเส้นทางเอาต์พุตสองเส้นทางจะกลายเป็นระดับหลายร้อยเมกะโอห์ม)

เพียงควบคุม 1 (พิน 13) ของ CD4066 ให้สูง เส้นทางระหว่างเอาต์พุต 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 ที่สำคัญ โปรแกรม python ที่ติดตั้งใน RPI จะส่งเอาต์พุต 00 ไปที่วงจรตัวบ่งชี้ จากนั้นสองเส้นทางเอาท์พุตของ CD4066 กำลังเปิดใช้งานและ NE555 ทำงานด้วยค่าตัวต้านทาน 12k ดังนั้นไฟ LED จะกะพริบ 1.5 ครั้งต่อวินาที (กะพริบค่อนข้างเร็ว)

- CPU โหลดเบา ๆ (จากนั้นความยาวของคิวเวลาทำงานจะกลายเป็น 0.1 ~ 0.9 ระดับ) python จะส่ง 01 ไปยังวงจร จากนั้น CD4066 เปิดใช้งานด้วยเอาต์พุตที่เชื่อมต่อกับตัวต้านทาน 24k ส่งผลให้ LED กะพริบลดลง 1.2 ครั้งต่อวินาที (LED กะพริบลดลงเล็กน้อย แต่ยังเร็วอยู่เล็กน้อย)

- เมื่อโหลด CPU เพิ่มขึ้นอย่างมาก (จากนั้นความยาวรันคิวเวลาทำงานจะกลายเป็น 1.0 ~ 1.9 ระดับ) python จะส่งออก 10 ไปยังวงจร จากนั้นเปิดเส้นทางการเชื่อมต่อตัวต้านทาน 51k และ NE555 ทำงาน 0.8 ครั้งต่อวินาที ตอนนี้อัตราการกะพริบจะลดลงอย่างมาก

- ภาระงานหนักของ CPU และความยาวของคิวการรันไทม์จะนานขึ้น (มากกว่า 2 งานจะรอดำเนินการโดย CPU และเวลาทำงานจะรายงานมากกว่า 2.0) เมื่อเลือกการเชื่อมต่อตัวต้านทาน 100k NE555 จะกะพริบ LED 0.5 ครั้งต่อวินาที (ความเร็วกะพริบช้ามาก)

***

พร้อมกับโหลดระบบที่เพิ่มขึ้น ความเร็วการกะพริบของ LED จะลดลงตามไปด้วย

เมื่อไฟ LED กะพริบค่อนข้างช้า RPI ก็จะโอเวอร์โหลดอย่างมากอย่างแน่นอน

วิธีนี้เป็นวงจรบ่งชี้โหลดรายงานระดับโหลดปัจจุบันของ RPI

ขั้นตอนที่ 4: อะไหล่

ในการทำวงจรนี้จะใช้ชิป IC ต่างๆ

แม้ว่าฉันกำลังพูดถึง 74LSxx ซึ่งเป็นชิป IC แบบเก่าประเภท CD40xx คุณสามารถใช้ชิป TTL และ CMOS รุ่นล่าสุดได้ เช่น 74HC4066 และ 74ASxx เมื่อชิป IC ที่เลือกเป็นแบบ DIP

นอกจากนี้ยังสามารถใช้ชนิดยึดพื้นผิวของแพ็คเกจ IC ขนาดเล็กได้เมื่อคุณสามารถบัดกรีชิ้นส่วนขนาดเล็กบน PCB สากลได้อย่างเหมาะสม

ส่วนอื่นๆ เป็นส่วนทั่วไปที่คุณสามารถซื้อได้ง่ายจากร้านค้าออนไลน์ทางอินเทอร์เน็ต

- 74LS139 (ตัวถอดรหัส 2 ถึง 4, ตัวแยกสัญญาณ) x 1

- 74HC04 (อินเวอร์เตอร์ 6 ตัว) x 1

- CD4066 (ไอซีสวิตช์อนาล็อก 4 ตัว) x 1

- NE555 ไอซีตั้งเวลา x 1

- ตัวเก็บประจุ: 10uF x 1, 0.1uF x 1

- PC817 opto-coupler x 2 (สามารถใช้ opto-coupler 4 พินทั่วไปได้)

- ตัวต้านทาน: 220ohm x 4 (ขีดจำกัดกระแสไฟ LED), 4.7K (อินเทอร์เฟซ Opto-coupler) x 2, 12K, /24K/51K/100K (การควบคุมเวลาของนาฬิกา) x 1

- LED x 2 (สีต่างๆ เช่น เหลือง เขียว แดง เขียว)

- บอร์ดอเนกประสงค์ 30(W) คูณ 20(H) ขนาดรู (คุณสามารถตัดบอร์ดสากลขนาดใดก็ได้เพื่อให้พอดีกับวงจรนี้)

- ลวดดีบุก (สำหรับทำลวดลายสายไฟบน PCB สากล)

- หัวพิน (3 ขา) x 3

- หัวพินไอซี (4 ขา) x 4

- สายไฟสีแดง/น้ำเงิน

***

ขั้นตอนที่ 5: การสร้าง PCB Drawing

การทำ PCB Drawing
การทำ PCB Drawing

แม้ว่าฉันกำลังแสดงภาพวาด PCB ในแต่ละโครงการ แต่การออกแบบการเดินสายเป็นเพียงข้อมูลอ้างอิงซึ่งจะแนะนำให้คุณแก้ไขการบัดกรีแต่ละส่วนบน PCB สากล

แต่คุณไม่จำเป็นต้องยึดติดกับรูปแบบการเดินสายนี้

ดังที่คุณเห็นแผนภาพการเดินสายไฟด้านบน ค่อนข้างซับซ้อนและต้องใช้ PCB ขนาดใหญ่มาก

คุณสามารถใช้สายเคเบิลทั่วไปเพื่อเชื่อมต่อชิ้นส่วนต่างๆ แทนลวดดีบุก เพื่อลดขนาดของ PCB ที่บัดกรีเสร็จแล้ว

ใช้เฉพาะภาพวาด PCB เพื่อตรวจสอบและยืนยันการบัดกรีที่ถูกต้องระหว่างส่วนต่างๆ

เมื่อจำนวน TTL หรือ CMOS IC เพิ่มขึ้น โดยปกติการวาด PCB จะค่อนข้างซับซ้อนเกินกว่าการรวมเข้ากับด้านเดียวของ PCB

ดังนั้น PCB หลายชั้นจึงมักใช้สำหรับวงจรดิจิตอลระดับอุตสาหกรรมซึ่งรวมถึง TTL, CMOS และไมโครโปรเซสเซอร์จำนวนมาก

ขั้นตอนที่ 6: การบัดกรี

บัดกรี
บัดกรี

ฉันใช้ลวดดีบุกและสายเคเบิลทั่วไปร่วมกันเพื่อลดขนาด PCB ให้ได้มากที่สุด

เมื่อเปรียบเทียบกับการวาด PCB ตำแหน่งของแต่ละส่วนจะเปลี่ยนไปโดยสิ้นเชิง

แต่ยังคงใช้การวาด PCB เพื่อตรวจสอบการเชื่อมต่อที่ถูกต้องระหว่างชิ้นส่วนขณะบัดกรี

คุณสามารถเห็นตัวต้านทาน 12k/24k/51k/100k ถูกเสียบบนหัวพิน IC โดยไม่ต้องบัดกรี

ดังนั้นคุณสามารถแทนที่ตัวต้านทานเป็นค่าอื่นเพื่อเปลี่ยนรูปแบบการทำงานของวงจรได้อย่างสะดวกในภายหลัง

ขั้นตอนที่ 7: การประกอบ

การประกอบ
การประกอบ

วงจรแสดงการโหลดที่เสร็จสมบูรณ์ (ต่อไปนี้คือ INDICATOR) ถูกติดตั้งลงในกล่อง RPI ของเครื่องเล่นเพลงดังแสดงในภาพด้านบน

เครื่องเล่นเพลงนี้ติดตั้งกับ DAC และฉันกำลังใช้เครื่องเล่นนี้เพื่อเล่นมิวสิควิดีโอเมื่อเร็วๆ นี้

เกี่ยวกับกล่อง RPI นี้ ฉันจะอธิบายในภายหลัง และตอนนี้เรามาเน้นที่ INDICATOR เนื่องจากวงจรเป็นหัวข้อหลักของโครงการนี้

ฉันเพิ่งซื้อ Raspberry Pi 4 รุ่น B 2GB (ต่อไปนี้ RPI 4B) เพื่อรองรับแอปพลิเคชันเล่นวิดีโอ

เนื่องจาก RPI 4B ได้เพิ่มประสิทธิภาพของ CPU 4 คอร์ การจัดการโหลดของระบบจึงได้รับการปรับปรุงอย่างมากจาก RPI 3B+

ดังนั้นเอาต์พุตความยาวรันคิวเวลาทำงานจึงควรได้รับการปฏิบัติแตกต่างจาก RPI 3B+

- สำหรับการโหลดระบบแบบธรรมดา เช่น การเล่นวิดีโอ ความยาวรันคิวมักจะน้อยกว่า 0.5 (ดังนั้น โหลดระบบ LOW จะอยู่ที่ระดับ 0.0 ~ 0.5)

- เมื่อมีการเพิ่มโหลดระบบเพิ่มเติมเล็กน้อย เช่น การเล่นวิดีโอและการคัดลอกไฟล์จากและไปยังประเภทไดเรกทอรีภายในเครื่อง ส่งผลให้ CPU มีภาระเล็กน้อย (ดังนั้นระดับการโหลด LIGHT จะอยู่ที่ 0.5 ~ 1.0)

- เมื่อมีการโหลดจำนวนมาก เช่น การเล่นวิดีโอบนเบราว์เซอร์ที่ไซต์ Youtube และการท่องเว็บบนเบราว์เซอร์อื่น ความเร็วในการทำงานของ RPI 4 จะช้าลงเล็กน้อย (ดังนั้น ระดับการโหลด MEDIUM จะเป็น 1.0 ~ 2.0)

- ในที่สุดโหลดระบบ RPI 4 จะสูงเมื่อใช้งานเว็บเบราว์เซอร์หลายตัวและคัดลอกไฟล์จำนวนมากไปยังเซิร์ฟเวอร์ RPI อื่นผ่านเครือข่าย (จากนั้นความยาวของคิวรันจะมากกว่า 2.0)

***

ข้อมูลระดับการโหลดนี้จะถูกใช้โดยจะได้รับการพัฒนาโค้ดหลามในขั้นตอนต่อไป

ขั้นตอนที่ 8: แก้ไขวงจรเดิม

แก้ไขวงจรเดิม
แก้ไขวงจรเดิม

เนื่องจากการออกแบบวงจรเดิมมีข้อบกพร่องหลายอย่าง ผมจึงทำการปรับเปลี่ยนวงจรดังรูปด้านบน

สาเหตุของการเปลี่ยนแปลงมีดังนี้

- ชีพจรนาฬิกา NE555 ประกอบด้วยรูปคลื่นสูงและต่ำ แต่โดยปกติระยะเวลาสัญญาณ HIGH และ LOW (t=1/f) จะไม่เท่ากัน (เช่น HIGH คือ 70% และ LOW เท่ากับ 30% ในวงจรเดิม) ดังนั้น อัตราการกะพริบของไฟ LED สองดวง (ไฟ LED สีเขียว/เหลืองในการออกแบบดั้งเดิม) จึงไม่เท่ากัน (ไฟ LED ดวงหนึ่งเปิดนานกว่าอีกดวงหนึ่ง) ด้วยเหตุนี้ การแสดงภาพด้วยไฟ LED ที่กะพริบจึงไม่เป็นที่จดจำได้ง่ายนัก'

- ดังนั้นฉันจึงเพิ่ม LED และสร้างรูปแบบการวนซ้ำแบบวงกลมด้วย CD4017 เพื่อให้จดจำสถานะการทำงานได้ง่าย

- ยังเปลี่ยนรูปแบบการกะพริบของ LED แบบย้อนกลับเช่นกะพริบช้าที่โหลดต่ำและกะพริบเร็วขึ้นด้วยโหลดสูง (วงจรเดิมทำให้กะพริบเร็วขึ้นในโหลดต่ำและกะพริบช้าที่โหลดสูง) ในสถานการณ์โหลดสูง การดำเนินการ RPI ใดๆ จะซบเซา และการแสดงไฟ LED ที่กะพริบช้าๆ จะไม่ทำให้คุณมีความสุข (ในด้านจิตวิทยา ฉันกำลังเลือกรูปแบบการแสดงในเชิงบวกมากขึ้น)

***

แม้ว่าส่วนแสดงผล LED จะมีการเปลี่ยนแปลงอย่างมาก แต่ระดับการเปลี่ยนแปลงโดยรวมกับวงจรเดิมนั้นไม่มากนักอย่างที่คุณเห็นในขั้นตอนต่อไป

ขั้นตอนที่ 9: การเปลี่ยนแปลงแผนผังดั้งเดิม

การเปลี่ยนแปลงแผนผังเดิม
การเปลี่ยนแปลงแผนผังเดิม

การเพิ่ม CD4017 และ LED 8 ดวงเป็นการดัดแปลงที่สำคัญ

นอกจากนี้ หากต้องการเปลี่ยนความถี่การตอกบัตร NE555 และไฟ LED กะพริบแบบย้อนกลับ ค่าตัวต้านทานจะเปลี่ยนไปดังแสดงในแผนผังด้านบน

เนื่องจากส่วนของวงจรที่เพิ่มเข้ามานั้นเป็นวงจรไล่ตามแบบธรรมดาของ CD4017 ฉันจะข้ามคำอธิบายรายละเอียดอื่น ๆ ของวงจรที่ดัดแปลง

ส่วนวงจรที่เปลี่ยนแปลงทั้งหมดสามารถทำเป็นบอร์ด PCB ของลูกสาวซึ่งมีการบัดกรี CD4017 และ 8 LEDs

บอร์ดลูกสามารถต่อเข้ากับเมนบอร์ด (เมนบอร์ด) ได้ตามภาพในขั้นตอนที่ 8

ขั้นตอนที่ 10: การทดสอบ

วิดีโอการทดสอบของขั้นตอนการปฏิบัติงานทั้งหมด (สถานะโหลดต่ำ น้ำหนักเบา ปานกลาง และสูง) จะแสดงโดยไฟล์ที่จัดเก็บไว้ใน Google ไดรฟ์ด้านล่าง

***

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

***

ตามการโหลดของระบบในปัจจุบัน อัตราการกะพริบจะเปลี่ยนไปจากสถานะใดสถานะหนึ่งจาก 4 สถานะที่แสดงในวิดีโอ

ขั้นตอนที่ 11: รหัสหลาม

รหัสหลาม
รหัสหลาม

เนื่องจากลอจิกควบคุมส่วนใหญ่รวมอยู่ในวงจรฮาร์ดแวร์ภายนอก ลอจิกการทำงานของโค้ดหลามจึงค่อนข้างง่ายรวมถึงขั้นตอนต่อไปนี้

- รับข้อมูลอุณหภูมิ CPU เพื่อเปรียบเทียบสัมพัทธภาพระหว่างโหลดระบบกับการเพิ่มอุณหภูมิ

- รวบรวมโหลดระบบเฉลี่ย 1 นาทีจากเอาต์พุตเวลาทำงาน

- ทำการประทับเวลาเช่น yy-mm-dd hh:mm:ss format

- อุณหภูมิในการเขียน โหลดระบบพร้อมกับประทับเวลา

- ตามข้อมูลเอาต์พุตโหลดของระบบปัจจุบัน (00, 01, 10, 11) ถึงวงจร INDICATOR

- นอนหลับ 5 วินาทีก่อนเริ่มขั้นตอนดังกล่าวข้างต้น

เนื่องจากโปรแกรม python ต้องการการเยื้องที่เข้มงวดภายในซอร์สโค้ด โปรดดาวน์โหลดไฟล์ต้นฉบับจาก google ไดรฟ์โดยไปที่ลิงก์ด้านล่าง

***

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

***

เนื่องจากฉันไม่ได้ใช้ RPI เป็นคอมพิวเตอร์เดสก์ท็อป การเรียกใช้แอปพลิเคชัน Libre office หรือเว็บเบราว์เซอร์จึงหายากมาก

โดยปกติฉันกำลังเล่นมิวสิกวิดีโอ คัดลอก/ย้ายไฟล์ หรือเขียนโปรแกรม python ด้วย RPI 4B 2GB ที่ซื้อมาใหม่

ดังนั้น โหลดเฉลี่ยมักจะน้อยกว่า 1.0 ในกรณีของฉัน ดังนั้นฉันจึงเปลี่ยนระดับ LOW/LIGHT/MEDIUM/HIGH ในโค้ดของฉัน (คุณสามารถเปลี่ยนเงื่อนไขการทดสอบเป็นอย่างอื่นได้)

แต่เมื่อคุณดูวิดีโอ Youtube ที่มี RPI เป็นประจำ การโหลดระบบมากกว่า 2.0 มักจะเกิดขึ้น

ขั้นตอนที่ 12: สัมพัทธภาพระหว่างโหลดระบบและอุณหภูมิ CPU

สัมพัทธภาพระหว่างโหลดระบบและอุณหภูมิ CPU
สัมพัทธภาพระหว่างโหลดระบบและอุณหภูมิ CPU

โดยปกติฉันเดาและมั่นใจว่าการเพิ่มภาระของระบบจะทำให้อุณหภูมิของ CPU สูงขึ้น

แต่จนถึงตอนนี้ฉันยังไม่มีภาพที่ชัดเจนของการทำงานร่วมกันระหว่างพวกเขา

ดังที่คุณเห็นในกราฟด้านบน ความสัมพันธ์เหล่านี้มีความสัมพันธ์ที่แน่นแฟ้นมากดังนี้

- เพื่อให้เปรียบเทียบง่าย ๆ ฉันกำลังคูณ 10 กับโหลดระบบโดยเฉลี่ย มิฉะนั้นขนาดของโหลดระบบจะเล็กมาก (0.0 ~ 2.0) การเปรียบเทียบโดยตรงกลายเป็นเรื่องยาก

- เนื่องจากวงจรพัดลมระบายความร้อนถูกติดตั้งไว้ที่กล่อง Pi เล่นเพลง อุณหภูมิของ CPU จะต้องไม่เกิน 50C

- เมื่อโหลดระบบอยู่ในช่วง 0.0 ~ 1.0 อุณหภูมิจะอยู่ในช่วง 45 ~ 48C (ฝาครอบโลหะของ CPU จะอุ่นขึ้นเล็กน้อย)

- แต่ใช้งานหนัก (โดยปกติคือเว็บเบราว์เซอร์และเล่นวิดีโอ Youtube) โหลดทะยานขึ้นและอุณหภูมิ

***

เนื่องจาก RPI 4B ถูกติดตั้งด้วย CPU 4 คอร์ ในทางทฤษฎีแล้ว ประสิทธิภาพการทำงานจะไม่ลดลงจนถึงระดับโหลดมากนัก (คิวการรันอัพไทม์) 4.

แต่ยังน้อยกว่าระดับโหลดเฉลี่ย 4 จำเป็นต้องมีการควบคุมอุณหภูมิที่เหมาะสม

ขั้นตอนที่ 13: การสรุปผล

จบ
จบ

ฉันทำโปรเจ็กต์นี้เสร็จโดยติดตั้ง INDICATOR ลงในกล่อง Pi ดังรูปด้านบน

ระหว่างการใช้งานกล่อง Pi นี้โดยปกติ INDICATOR ไม่ค่อยแสดงไฟ LED ระดับสูงและไดนามิกกะพริบ

โดยปกติแล้วจะยังคงอยู่ในสถานะ LED ที่กะพริบช้าๆ (ดังนั้น ระดับ LOW หรือ LIGHT)

อย่างไรก็ตาม เพิ่มตัวบ่งชี้ภาพทำให้ตลกเล็กน้อย อย่างน้อยก็แสดงว่า RPI กำลังทำอะไรบางอย่างอยู่

ขอบคุณที่อ่านเรื่องราวนี้…..

แนะนำ: