Përmbajtje:

Treguesi i Ngarkesës së CPU Raspberry Pi: 13 Hapa
Treguesi i Ngarkesës së CPU Raspberry Pi: 13 Hapa

Video: Treguesi i Ngarkesës së CPU Raspberry Pi: 13 Hapa

Video: Treguesi i Ngarkesës së CPU Raspberry Pi: 13 Hapa
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Nëntor
Anonim
Treguesi i Ngarkesës së CPU Raspberry Pi
Treguesi i Ngarkesës së CPU Raspberry Pi

Kur përdorni Raspberry Pi (RPI) si pa kokë pa monitorimin e tastierës, nuk ka indikacione vizuale specifike në dispozicion për të njohur që RPI në fakt po bën diçka.

Edhe pse terminali në distancë përdoret me SSH, ekzekutimi kohë pas kohe i komandës Linux kërkohet për të kontrolluar se sa ngarkesa e sistemit po ngarkon CPU tani

Pra, ky qark është bërë për të ndihmuar në njohjen e menjëhershme të veprimtarisë reale të CPU-së (ndoshta gjysmë-reale ose në afërsi të vërtetë) për të ekzekutuar ngarkesat e sistemit të aplikuara aktualisht.

Megjithëse vetëm programimi python dhe qarku shumë më i thjeshtë mund të mbështesin të njëjtin funksionalitet, do të kërkohen disa kode pak komplekse të pitonit për të simuluar logjikën e sofistikuar të kontrollit LED të kërkuar nga ky qark.

Gjithashtu kompleksiteti i rritur në mënyrë paradoksale i kodit python do të ngarkojë më shumë CPU me rritjen e ngarkesës së sistemit.

Prandaj, ngarkimi i çdo funksioni tregues sa më shumë që të jetë e mundur në qarkun e jashtëm të harduerit do të jetë i arsyeshëm pasi ky shërbim duhet të funksionojë gjatë gjithë kohës dhe shpesh siç është për secilën 5 sekonda.

Dhe ky qark do të shtojë një veçori pak qesharake në RPI që funksionon pa kokë.

Hapi 1: Kontrolli i ngarkesës së CPU -së Komanda Linux

Komanda e kontrollimit të ngarkesës së CPU Linux
Komanda e kontrollimit të ngarkesës së CPU Linux

Ekzistojnë ngarkesa të ndryshme të CPU që kontrollojnë komandat Linux të tilla si top, iostat, sysstat dhe uptime.

Çdo komandë ka veçori të veçanta të favorshme përsa i përket diversitetit të informacionit dhe shfaqjes së thjeshtësisë së të dhënave.

Komanda kryesore është informacioni më i pasur dhe të dhënat me shumë detaje janë në dispozicion për njohjen e menjëhershme të ngarkesës së sistemit.

Por funksionon si mënyrë përsëritjeje (shfaqja e të dhënave vazhdimisht në ekran) dhe formati i informacionit është mjaft kompleks për të nxjerrë thjesht të dhënat e kërkuara të ngarkesës së CPU -së.

Komanda iostat siguron informacion të thelluar të ngarkesës së sistemit duke ndarë funksionet e radhës të përdoruesit dhe sistemit që po rëndojnë CPU aktualisht.

Por gjithashtu është e panevojshme të marrësh ngarkesën aktuale të CPU si një mënyrë e shpejtë dhe intuitive.

Në rast të funksionimit, të dhënat shumë të thjeshta të ngarkesës së sistemit janë të disponueshme me një mesatare prej 1 minutë, mesatare 5 minuta dhe mesatare të përmbledhur 15 minuta.

Siç u përmend më lart, thjeshtimi i kodit python është i nevojshëm sepse duhet të ekzekutohet mjaft shpesh, si për secilën 5 sekonda ose 10 sekonda.

Kur kodi python bëhet kompleks, ai do të ngarkojë shumë CPU -në.

Kindshtë një lloj paradoksi që ju ngarkoni RPI për të monitoruar ngarkesën e sistemit të tij.

Prandaj, unë jam duke zgjedhur komandën në kohë për të mbledhur ngarkesën e CPU dhe duke ndërvepruar me qarkun tregues sepse është më e thjeshtë.

Por siç tregon koha mesatare e ngarkesës së sistemit 1 minutë, qarku tregues nuk do të funksionojë në mënyrë rigoroze në kohë reale.

Ende ky qark mund të japë një aluzion vizual të dobishëm i cili tregon se si po ecën RPI tani.

Hapi 2: Skemat

Skematike
Skematike

Ky qark do të marrë 4 nivele të ndryshme (p.sh. 00-> LOW, 01-> LIGHT, 10-> MEDIUM, 11-> HIGH) të ngarkesës aktuale të CPU nga RPI përmes dy hyrjeve opto-bashkues.

74LS139 (2 deri në 4 deshifrues dhe de-multiplexer) po dekodon dy hyrje bit në një dalje të vetme midis 4 mënyrave të mundshme si 00 (LOW)-> B0, 01 (LIGHT)-> B1, 10 (MEDIUM)-> B2, 11 (LART HIGH)-> B3.

Duke qenë se dalja 74LS139 është në nivel të kundërt (00 input -> B0 bëhen LOW dhe 3 dalje të tjera LART)), inverteri 74HC04 përdoret për të bërë daljen mbrapsht edhe një herë.

Kur dalja e 74LS139 është normale LART, 74HC04 nuk do të jetë e nevojshme.

Por disi 74LS139 është bërë kështu. (Ju lutemi kontrolloni tabelën e së vërtetës të 74LS139)

Kur zgjidhet ndonjë nga daljet 74LS139, do të aktivizojë një ndërprerës analog të caktuar midis 4 çelsave të përfshirë në CD4066 IC.

CD4066 mund të mbështesë 4 ndërprerës analogë dhe secili ndërprerës përbëhet nga 1 hyrje kontrolli dhe 2 dalje analoge.

Kur hyrja e kontrollit bëhet e LART, lidhja e dy daljeve bëhet me rezistencë të ulët (Rezistenca bëhet 0) dhe të tjerat bëhen rezistencë e lartë (Rezistenca midis dy rrugëve të daljes bëhet disa qindra mega ohm).

Thjesht kontrolloni 1 (pin 13) të CD4066 të bëhet HIGH, shtegu midis daljes 1 (pin 1) dhe daljes 2 (pin 2) të lidhura ndërkohë që daljet e tjera nuk janë të lidhura (në gjendje të lartë të rezistencës).

Po kështu hyrja e Lartë e kontrollit 2 (kunja 5) bëjnë që dalja 1 (kunja 4) dhe dalja 2 (kunja 3) të lidhen ndërsa daljet e tjera janë të shkyçura.

Pastaj LM555 po pulson dy LED në një shkallë të ndryshme të ndezjes.

Siç mund ta shihni në skemën e mësipërme, NE555 do të funksionojë me një vlerë të rezistencës midis 4 niveleve të mundshme të rezistencës (12k, 24k, 51k, 100k).

Hapi 3: Gjenerimi i ndryshëm i orës NE555

NE555 Gjenerim i ndryshëm i orës
NE555 Gjenerim i ndryshëm i orës

Siç tregohet në skemë, NE555 do të veprojë me një vlerë të mundshme të rezistencës siç janë 12k, 24l, 51k dhe 100k.

Në fakt, pjesa e qarkut të kohës NE555 është treguesi kryesor vizual që mbështet pjesën e qarkut.

Skema e funksionimit të qarkut është si më poshtë.

- Kur nuk ka ngarkesë të konsiderueshme të CPU -së, programi python i instaluar në RPI do të dërgojë 00 dalje në qarkun tregues. Pastaj dy rrugë dalëse të CD4066 po aktivizohen dhe NE555 po funksionon me vlerë të rezistencës 12k. Prandaj, LED -të pulsojnë 1.5 herë në sekondë (pulsojnë mjaft shpejt)

- CPU është e ngarkuar lehtë (Pastaj gjatësia e radhës në kohë bëhet 0.1 ~ 0.9 nivel), python do të dërgojë 01 në qark. Pastaj CD4066 u aktivizua me dalje të lidhura me rezistencë 24k. Si rezultat, drita pulsuese e LED -it ra 1.2 herë në sekondë (drita e dritës së dritës së dritës pësoi një rënie të lehtë, por akoma pak e shpejtë)

- Kur ngarkesa e CPU-së rritet ndjeshëm (Pastaj gjatësia e radhës në kohë të funksionimit bëhet 1.0 ~ 1.9 nivel), pitoni do të dalë 10 në qark. Pastaj hapet rruga e lidhjes së rezistencës 51k dhe NE555 po funksionon 0.8 herë në sekondë. Tani shkalla e pulsimit zvogëlohet ndjeshëm.

- Ngarkesa të rënda që ngarkojnë CPU-në dhe gjatësia e radhës në kohë të funksionimit bëhen më të gjata (më shumë se 2 punë do të presin që të ekzekutohen nga CPU dhe koha në kohë do të raportojë më shumë se 2.0). Ndërsa zgjidhet lidhja e rezistencës 100k, NE555 do të pulsojë LED 0.5 herë në sekondë (shpejtësia e ndezjes bëhet shumë e ngadaltë)

***

Së bashku me ngarkesat e rritura të sistemit, shpejtësia e ndezjes së LED do të zvogëlohet në përputhje me rrethanat.

Kur LED pulson mjaft ngadalë, atëherë RPI me siguri mbingarkohet ndjeshëm.

Në këtë mënyrë raporti i qarkut të treguesit të ngarkesës ju tregon nivelin aktual të ngarkesës së RPI.

Hapi 4: Pjesët

Për të bërë këtë qark, përdoren çipa të ndryshëm IC.

Edhe pse po përmend 74LSxx, llojin CD40xx të çipave të vjetër IC, ju mund të përdorni llojet e fundit të patate të skuqura TTL dhe CMOS siç janë 74HC4066, dhe 74ASxx kur çipi IC i zgjedhur është tip DIP.

Lloji i montimit sipërfaqësor i paketës së vogël IC gjithashtu mund të përdoret kur mund t'i lidhni siç duhet ato të vogla në PCB universale.

Të tjerat janë pjesë të zakonshme që lehtë mund t'i blini nga dyqanet elektronike në internet.

- 74LS139 (2 deri në 4 deshifrues, de-multiplexer) x 1

- 74HC04 (6 inverter) x 1

- CD4066 (4 ndërprerës analog IC) x 1

- NE555 Kohëmatësi IC x 1

- Kondensatorët: 10uF x 1, 0.1uF x 1

-PC817 opto-bashkues x 2 (Mund të përdoret çdo bashkues optik 4 pin i zakonshëm)

- Rezistorë: 220ohm x 4 (kufizimi i rrymës LED), 4.7K (ndërfaqe Opto-bashkues) x 2, 12K,/24K/51K/100K (Kontrolli i kohës së orës) x 1

- LED x 2 (Çdo ngjyrë e ndryshme si e verdha, jeshile ose e kuqe, jeshile)

- Madhësia e vrimave të bordit universal 30 (W) me 20 (H) (Ju mund të shkurtoni çdo madhësi të bordit universal për t'iu përshtatur këtij qarku)

- Tela kallaji (Për të bërë modele instalime elektrike në PCB universale)

- kokë pin (3 kunja) x 3

- Koka e kunjit IC (4 kunja) x 4

- kabllo instalime elektrike me ngjyrë të kuqe/blu

***

Hapi 5: Bërja e Vizatimit të PCB

Bërja e Vizatimit të PCB
Bërja e Vizatimit të PCB

Edhe pse po tregoj vizatimin e PCB në çdo projekt, dizajni i instalimeve elektrike është vetëm një referencë e cila do t'ju udhëheqë me saldimin e saktë të secilës pjesë në PCB universale.

Por ju nuk jeni domosdoshmërisht t'i përmbaheni kësaj skeme të instalimeve elektrike.

Siç mund ta shihni diagramin e instalimeve elektrike më lart, është mjaft kompleks dhe kërkon PCB dukshëm të mëdha.

Ju mund të përdorni kabllo të zakonshme për të lidhur pjesë në vend të telit të kallajit për të zvogëluar madhësinë e bashkimit të PCB të përfunduar.

Përdorni vetëm vizatimin e PCB për të kontrolluar dhe konfirmuar bashkimin e saktë midis pjesëve.

Kur numri i IC -ve TTL ose CMOS rritet, zakonisht vizatimi i PCB bëhet mjaft kompleks përtej integrimit të duhur në anën e vetme të PCB.

Prandaj, shumë shtresa e PCB përdoret zakonisht për klasat industriale të qarqeve dixhitale të cilat përfshijnë shumë TTL, CMOS dhe mikro-procesorë.

Hapi 6: Saldimi

Bashkim
Bashkim

Unë jam duke përdorur tela kallaji dhe kabllo të zakonshëm të telave së bashku për të minimizuar madhësinë e PCB sa më shumë që të jetë e mundur.

Kur krahasohet me vizatimin e PCB, vendndodhja e secilës pjesë ndryshon plotësisht.

Por ende vizatimi i PCB përdoret për të verifikuar lidhjen e saktë midis pjesëve gjatë bashkimit.

Ju mund të shihni që rezistencat 12k/24k/51k/100k janë futur në kokën e kunjit IC pa bashkim.

Prandaj, ju mund t'i zëvendësoni rezistorët me vlera të tjera për të ndryshuar me lehtësi skemën operacionale të qarkut më vonë.

Hapi 7: Montimi

Montimi
Montimi

Qarku i përfunduar i treguesit të ngarkesës (në tekstin e mëtejmë si TREGUES) është instaluar në kutinë e riprodhuesit të muzikës RPI siç tregohet në figurën e mësipërme.

Ky riprodhues muzikor është i instaluar me DAC dhe këtë po e përdor kohët e fundit për të luajtur video muzikore.

Në lidhje me këtë kuti RPI, do të shpjegoj më vonë dhe tani le të përqendrohemi në TREGUES pasi qarku është subjekti kryesor i këtij projekti.

Bleva Raspberry Pi 4 Model B 2GB (në tekstin e mëtejmë: RPI 4B) kohët e fundit për të mbështetur aplikacionin e luajtjes së videove.

Ndërsa RPI 4B ka rritur performancën e 4 bërthamave të CPU -së, trajtimi i ngarkesave të sistemit është rritur në mënyrë të konsiderueshme nga RPI 3B+.

Prandaj, prodhimi i gjatësisë së radhës në kohën e duhur duhet të trajtohet ndryshe nga RPI 3B+.

- Për ngarkesën shumë konvencionale të sistemit siç është luajtja e videos, gjatësia e radhës së drejtimit zakonisht më pak se 0.5 (Pra, ngarkesa e ulët e sistemit do të jetë niveli 0.0 ~ 0.5)

- Kur shtohet një ngarkesë e vogël shtesë e sistemit, si p.sh. luajtja e videove dhe kopjimi i skedarëve nga dhe në drejtoritë lokale, llojet e punëve rezultojnë në një ngarkesë të vogël në CPU. (Pra, niveli i ngarkesës së lehtë do të jetë 0.5 ~ 1.0)

- Kur aplikohen ngarkesa të konsiderueshme, siç është luajtja e videove në shfletuesin në faqen e Youtube dhe shfletimi në internet në një shfletues tjetër, shpejtësia e funksionimit të RPI 4 bëhet pak e ngadaltë (Pra, niveli i mesëm i ngarkesës do të jetë 1.0 ~ 2.0)

- Së fundi, ngarkesa e sistemit RPI 4 bëhet e Lartë kur ekzekutoni shfletues të shumtë në internet dhe kopjoni vëllim të madh të skedarëve në një server tjetër RPI përmes rrjetit (Pastaj gjatësia e radhës së drejtimit bëhet më shumë se 2.0)

***

Këto të dhëna të nivelit të ngarkesës do të shfrytëzohen nga kodi python i zhvilluar në hapin tjetër.

Hapi 8: Rishikimi i qarkut origjinal

Rishikimi i qarkut origjinal
Rishikimi i qarkut origjinal

Për shkak të disa defekteve të modelit origjinal të qarkut, unë jam duke modifikuar qarkun siç tregohet në figurën e mësipërme.

Arsyet e ndryshimit janë si më poshtë.

- Pulsi i orës NE555 është i përbërë me formë valore të Lartë dhe të ULT. Por zakonisht kohëzgjatja e sinjalit HIGH dhe LOW (t = 1/f) nuk është e njëjtë (për shembull HIGH është 70% dhe LOW është 30% në qarkun origjinal). Prandaj, shkalla e pulsimit të dy LED -ve (LED e gjelbër/e verdhë në modelin origjinal) nuk është e njëjtë (Një LED ndizet më gjatë se tjetra). Për këtë arsye, indikacioni vizual nga drita që pulson LED nuk është shumë e lehtë për tu njohur."

- Prandaj, unë jam duke shtuar më shumë LED dhe duke bërë modelin e përsëritjes rrethore me CD4017 për të siguruar njohjen e lehtë të gjendjes operacionale

- Gjithashtu ndryshimi i skemës së ndezjes së LED -it në mënyrë të kundërt, siç është ndezja e ngadaltë në ngarkesë të ulët dhe ndezje më e shpejtë me ngarkesë të lartë. (Qarku origjinal është bërë për të ndezur më shpejt në ngarkesë të ulët dhe ndezje e ngadaltë në ngarkesë të lartë). Në situatën e ngarkesës së Lartë, çdo veprim i RPI bëhet i ngadaltë. Dhe shfaqja e ngadalshme e ndezjes së LED nuk do t'ju bëjë të lumtur. (Në aspektin psikologjik, unë jam duke zgjedhur një skemë më pozitive të shfaqjes)

***

Megjithëse pjesa e ekranit LED është modifikuar ndjeshëm, niveli i përgjithshëm i ndryshimit me qarkun origjinal nuk është shumë siç mund të shihni në hapin tjetër.

Hapi 9: Ndryshimi Skematik Origjinal

Ndryshimi Skematik Origjinal
Ndryshimi Skematik Origjinal

Shtimi i CD4017 dhe 8 LED janë modifikimi kryesor.

Gjithashtu për të ndryshuar frekuencën e orës NE555 dhe skemën e ndezjes së kundërt të LED, vlerat e rezistorëve ndryshohen siç tregohet në skemat e mësipërme.

Meqenëse pjesa e shtuar e qarkut është qark i thjeshtë ndjekës i bazuar në CD4017, unë do të anashkaloj shpjegime të tjera të hollësishme të qarkut të modifikuar.

E gjithë pjesa e qarkut të ndryshuar mund të bëhet si pllakë bije PCB në të cilën ngjiten CD4017 dhe 8 LED.

Bordi i vajzës mund të ngjitet në tabelën kryesore (bordi amë) siç tregohet në figurën në hapin 8.

Hapi 10: Testimi

Videot e testimit të të gjitha fazave të funksionimit (gjendja e ulët, e lehtë, e mesme dhe e lartë e ngarkesës) tregohen nga skedari i ruajtur në google drive më poshtë.

***

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

***

Sipas ngarkesës aktuale të sistemit, shkalla e pulsimit do të ndryshojë në njërën nga 4 gjendjet e treguara në video.

Hapi 11: Kodi Python

Kodi Python
Kodi Python

Meqenëse shumica e logjikave kontrolluese përfshihen në qarkun e jashtëm të harduerit, logjika operacionale e kodit python është relativisht e thjeshtë duke përfshirë hapat e mëposhtëm.

- Marrja e të dhënave të temperaturës së CPU për të krahasuar relativitetin midis ngarkesës së sistemit dhe ngritjes së temperaturës

- Mbledhja e ngarkesës mesatare të sistemit 1 minutë nga dalja në punë

-Bërja e vulës së kohës si yy-mm-dd hh: mm: ss format

- Temperatura e shkrimit, ngarkesa e sistemit së bashku me vulën kohore

- Sipas të dhënave aktuale të ngarkesës së sistemit të daljes (00, 01, 10, 11) në qarkun TREGUES

- Flini 5 sekonda para se të filloni hapat e përmendur më sipër

Meqenëse programi python ka nevojë për indentacion të rreptë brenda kodit burimor, ju lutemi shkarkoni skedarin burimor nga google drive duke ndjekur lidhjen më poshtë.

***

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

***

Meqenëse nuk po përdor RPI si kompjuter desktop, ekzekutimi i aplikacioneve të zyrës Libre ose shfletuesit të uebit është shumë i rrallë.

Zakonisht po luaj video muzikore, kopje të skedarit/lëviz ose programim python me RPI 4B 2GB të sapo blerë.

Prandaj, ngarkesa mesatare është zakonisht më pak se 1.0 në rastin tim dhe në përputhje me rrethanat unë po ndryshoj nivele të ulëta/të lehta/të mesme/të larta në kodin tim. (Përndryshe mund t'i ndryshoni kushtet e provës)

Por kur shikoni zakonisht video në Youtube me RPI, zakonisht do të ndodhin më shumë se 2.0 ngarkesa të sistemit.

Hapi 12: Relativiteti midis Ngarkesës së Sistemit dhe Temperaturës së CPU

Relativiteti midis Ngarkesës së Sistemit dhe Temperaturës së CPU -së
Relativiteti midis Ngarkesës së Sistemit dhe Temperaturës së CPU -së

Zakonisht po hamendësoj dhe jam i sigurt se rritja e ngarkesës së sistemit do të rrisë temperaturën e CPU.

Por deri më tani nuk kam një imazh të qartë të ndërveprimit të ndërsjellë mes tyre.

Siç mund ta shihni në grafikun e mësipërm, ato janë një lidhje shumë e fortë si më poshtë.

- Për krahasim të lehtë, unë shumëzoj 10 në ngarkesën mesatare të sistemit. Përndryshe, shkalla e ngarkesës së sistemit është shumë e vogël (0.0 ~ 2.0), krahasimi i drejtpërdrejtë bëhet i vështirë.

- Ndërsa qarku FAN ftohës është i instaluar në kutinë Pi që luan muzikë, temperatura e CPU nuk i kalon kurrë më shumë se 50C

- Kur ngarkesa e sistemit është brenda intervalit prej 0.0 ~ 1.0, temperatura brenda intervalit prej 45 ~ 48C (mbulesa metalike e CPU -së po ngrohet pak)

- Por ngarkesa e madhe aplikohet (Zakonisht shfletuesi i uebit dhe luajtja e videove në Youtube), ngarkesa në rritje dhe kështu temperatura

***

Meqenëse RPI 4B është i instaluar me 4 CPU bazë, teorikisht performanca nuk do të degradohet shumë deri në nivelin e ngarkesës (radha e funksionimit në kohën e duhur) 4.

Por akoma më pak se niveli mesatar i ngarkesës 4, kontrolli i duhur i temperaturës do të jetë i nevojshëm.

Hapi 13: Përfundimi

Finalizimi
Finalizimi

Po e përfundoj këtë projekt duke instaluar kutinë TREGUES në Pi si fotografia e mësipërme.

Gjatë përdorimit të rastësishëm të kësaj kutie Pi, TREGUESI rrallë tregon LED të nivelit të Lartë dhe dinamik që pulson.

Zakonisht ajo mbeti në gjendje LED të ndezura ngadalë (kështu që niveli i ulët ose i lehtë).

Gjithsesi treguesi i shtuar vizual e bën pak qesharak të paktën tregon RPI duke bërë diçka tani.

Faleminderit që lexuat këtë histori…..

Recommended: