Sadržaj:

Pokazatelj opterećenja procesora Raspberry Pi: 13 koraka
Pokazatelj opterećenja procesora Raspberry Pi: 13 koraka

Video: Pokazatelj opterećenja procesora Raspberry Pi: 13 koraka

Video: Pokazatelj opterećenja procesora Raspberry Pi: 13 koraka
Video: ComfyUI Tutorial - How to Install ComfyUI on Windows, RunPod & Google Colab | Stable Diffusion SDXL 2024, Srpanj
Anonim
Pokazatelj opterećenja procesora Raspberry Pi
Pokazatelj opterećenja procesora Raspberry Pi

Kada pokrećete Raspberry Pi (RPI) kao bez glave bez monitora konzole, nisu dostupne posebne vizualne indikacije za prepoznavanje da RPI zapravo nešto radi.

Iako se udaljeni terminal koristi sa SSH -om, povremeno je potrebno izvršavanje Linux naredbe kako bi se provjerilo koliko opterećenje sustava sada opterećuje CPU

Stoga je ovaj krug napravljen kako bi pomogao u prepoznavanju stvarnih aktivnosti CPU-a (možda polustvarnog ili gotovo realnog) za izvršavanje trenutno primijenjenih opterećenja sustava.

Iako samo programiranje na pythonu i mnogo jednostavniji sklop mogu podržati istu funkcionalnost, bit će potrebno malo složenih kodova pythona za simulaciju sofisticirane logike upravljanja LED -om koju zahtijeva ovaj sklop.

Paradoksalno, povećana složenost Python koda dodatno će opteretiti CPU povećanjem opterećenja sustava.

Stoga će biti razborito učitavanje bilo koje indikacijske funkcionalnosti u vanjski hardverski krug što je više moguće jer bi ova usluga trebala biti aktivna cijelo vrijeme i često, na primjer svakih 5 sekundi.

I ovaj će krug dodati malo smiješne značajke u RPI bez glave.

Korak 1: Naredba za provjeru opterećenja procesora za Linux

Naredba za provjeru opterećenja procesora za Linux
Naredba za provjeru opterećenja procesora za Linux

Dostupne su različite naredbe Linuxa za provjeru opterećenja procesora, kao što su top, iostat, sysstat i vrijeme rada.

Svaka naredba ima posebne prednosti u smislu raznolikosti informacija i prikaza jednostavnosti podataka.

Vrhunska naredba najbogatiji je informacijama i dostupni su vrlo detaljni podaci za trenutno prepoznavanje opterećenja sustava.

No, radi kao iteracijski način (neprekidno prikazivanje podataka na zaslonu) i format informacija prilično je složen za jednostavno izdvajanje samo potrebnih podataka o opterećenju procesora.

Naredba iostat pruža detaljne informacije o opterećenju sustava odvajanjem korisnika i sistema koji izvode poslove u redu čekanja koji trenutno opterećuju CPU.

No, također je nepotrebno složeno dobiti trenutno opterećenje procesora na brz i intuitivan način.

U slučaju neprekidnog rada, vrlo jednostavni podaci o opterećenju sustava dostupni su u trajanju od 1 minute prosjeka, 5 minuta prosjeka i 15 minuta zbirnog prosjeka.

Kao što je gore spomenuto, pojednostavljivanje Python koda potrebno je jer bi ga trebalo izvršavati prilično često, na primjer svakih 5 ili 10 sekundi.

Kad Python kôd postane složen, opteretit će CPU mnogo.

Paradoks je da opterećujete RPI za praćenje opterećenja sustava.

Stoga odabirem naredbu neprekidnog rada za prikupljanje opterećenja CPU -a i interoperaciju s krugom indikatora jer je to najjednostavnije.

No, kako vrijeme neprekidnog rada pokazuje prosječno opterećenje sustava u trajanju od 1 minute, krug indikatora neće raditi samo u načinu rada u stvarnom vremenu.

Ipak, ovaj krug može pružiti koristan vizualni savjet koji pokazuje kako RPI sada radi.

Korak 2: Sheme

Sheme
Sheme

Ovaj krug će primati 4 različite razine (npr. 00-> LOW, 01-> LIGHT, 10-> MEDIUM, 11-> HIGH) trenutnog opterećenja CPU-a iz RPI-a putem dva ulaza za optičku spregu.

74LS139 (2 do 4 dekoder i de-multiplekser) dekodira dva bitna ulaza u jedan od pojedinačnih izlaza među 4 moguća načina, poput 00 (LOW)-> B0, 01 (LIGHT)-> B1, 10 (MEDIUM)-> B2, 11 (VISOKO)-> B3.

Kako je izlaz 74LS139 obrnute razine (ulaz 00 -> B0 postaje NISKA, a druga 3 izlaza VISOKA), pretvarač 74HC04 se koristi za još jedan povratak na izlaz.

Kad je izlaz 74LS139 normalan HIGH, 74HC04 neće biti potreban.

Ali nekako je 74LS139 napravljen na taj način. (Molimo provjerite tablicu istinitosti 74LS139)

Kad se odabere bilo koji od 74LS139 izlaza, aktivirat će se jedan određeni analogni prekidač među 4 prekidača uključena u CD4066 IC.

CD4066 može podržati 4 analogna prekidača, a svaki prekidač se sastoji od 1 upravljačkog ulaza i 2 analogna izlaza.

Kad upravljački ulaz postane VISOK, dva izlazna priključka postaju niska impedancija (otpor postaje 0), a drugi postaju VISOKA impedancija (otpor između dva izlazna putanja postaje nekoliko stotina mega ohma).

Jednostavno kontrola 1 (pin 13) CD4066 postaje HIGH, put između izlaza 1 (pin 1) i izlaza 2 (pin 2) spojen, dok drugi izlazi nisu spojeni (u stanju visoke impedancije).

Slično, HIGH ulaz kontrole 2 (pin 5) čini izlaz 1 (pin 4) i izlaz 2 (pin 3) spojenima dok su drugi izlazi isključeni.

Tada LM555 treperi s dvije LED diode s različitom brzinom treptanja.

Kao što možete vidjeti na gornjoj shemi, NE555 će raditi s jednom vrijednošću otpora među 4 (12 k, 24 k, 51 k, 100 k) mogućih razina otpora.

Korak 3: NE555 Druga generacija sata

NE555 Druga generacija sata
NE555 Druga generacija sata

Kao što je prikazano na shemi, NE555 će raditi s jednom od mogućih vrijednosti otpora, poput 12k, 24l, 51k i 100k.

Zapravo, dio vremenskog kruga NE555 glavni je vizualni pokazatelj koji podržava dio kruga.

Shema rada kruga je sljedeća.

- Kad nema značajnog opterećenja procesora, program python instaliran u RPI -u će poslati 00 izlaza u krug indikatora. Zatim se aktiviraju dva izlazna putanja CD4066 i NE555 radi s 12k vrijednosti otpornika. Stoga LED diode trepere 1,5 puta u sekundi (trepere prilično brzo)

- CPU je lagano učitan (Tada dužina reda neprekidnog rada postaje razina 0,1 ~ 0,9), python će poslati 01 u krug. Zatim se aktivira CD4066 s izlazima spojenim na 24k otpornik. Kao rezultat toga, LED treptanje smanjilo se 1,2 puta u sekundi (LED treperenje se malo smanjilo, ali ipak malo brzo)

- Kad se opterećenje procesora značajno povećalo (Tada duljina čekanja u neprekidnom radu postaje razina 1,0 ~ 1,9), python će poslati 10 u krug. Zatim se otvara put povezivanja otpornika od 51k i NE555 radi 0,8 puta u sekundi. Sada se brzina treptanja značajno smanjuje.

- Teška opterećenja koja opterećuju CPU i duljina reda za vrijeme izvođenja postaju sve duža (više od 2 posla će čekati da ih CPU izvrši, a vrijeme neprekidnog rada prijavit će više od 2,0). Kad se odabere veza otpornika od 100 k, NE555 će treptati LED 0,5 puta u sekundi (brzina treptanja postaje vrlo spora)

***

Uz povećana opterećenja sustava, LED treptanje će se prema tome smanjiti.

Kad LED dioda prilično sporo treperi, tada je RPI zasigurno značajno preopterećen.

Na ovaj način krug indikacije opterećenja izvještava o trenutnoj razini opterećenja RPI -a.

Korak 4: Dijelovi

Za izradu ovog sklopa koriste se različiti IC čipovi.

Iako spominjem 74LSxx, CD40xx tip starih IC čipova, možete koristiti novije vrste TTL i CMOS čipova poput 74HC4066 i 74ASxx kada je odabran IC čip DIP tipa.

Sićušni IC paket u obliku površinskog montiranja također se može koristiti kada male možete pravilno lemiti na univerzalnu PCB.

Drugi su uobičajeni dijelovi koje možete jednostavno kupiti u internetskim e-trgovinama.

- 74LS139 (2 do 4 dekoder, de-multiplekser) x 1

- 74HC04 (6 pretvarača) x 1

- CD4066 (4 analogna prekidača IC) x 1

- NE555 Timer IC x 1

- Kondenzatori: 10uF x 1, 0,1uF x 1

-Opto-sprežnik PC817 x 2 (Može se koristiti bilo koji uobičajeni 4-pinski optički sprežnik)

- Otpornici: 220ohm x 4 (ograničenje LED struje), 4,7K (sučelje opto-spregača) x 2, 12K,/24K/51K/100K (upravljanje satom) x 1

- LED x 2 (sve različite boje, poput žute, zelene ili crvene, zelene)

- Univerzalna ploča veličine 30 (W) x 20 (H) rupa (univerzalnu ploču možete izrezati bilo koje veličine kako bi odgovarala ovom krugu)

- Limena žica (Za izradu uzoraka ožičenja na univerzalnoj PCB -u)

- iglasta glava (3 igle) x 3

- IC pin glava (4 pina) x 4

- ožičenje crvene/plave boje

***

Korak 5: Izrada crteža na PCB -u

Izrada crteža na PCB -u
Izrada crteža na PCB -u

Iako u svakom projektu prikazujem crtež PCB -a, dizajn ožičenja samo je referenca koja će vas uputiti na pravilno lemljenje svakog dijela na univerzalnoj PCB -u.

No, ne morate se uvijek držati ove sheme ožičenja.

Kao što vidite gornji dijagram ožičenja, prilično je složen i zahtijeva značajno veliku PCB.

Za povezivanje dijelova umjesto limene žice možete koristiti zajednički kabel kako biste smanjili veličinu lemljenog materijala.

Koristite samo crtež tiskane ploče za provjeru i potvrdu ispravnog lemljenja između dijelova.

Kad se poveća broj TTL ili CMOS IC -ova, obično crtanje PCB -a postaje prilično složeno izvan odgovarajuće integracije s jedne strane PCB -a.

Stoga se višeslojna PCB-a obično koristi za industrijske razrede digitalnih sklopova koji uključuju puno TTL-a, CMOS-a i mikro-procesora.

Korak 6: Lemljenje

Lemljenje
Lemljenje

Koristim limenu žicu i zajednički kabel za ožičenje kako bih maksimalno smanjio veličinu PCB -a.

U usporedbi s crtežom na PCB -u, položaj svakog dijela se potpuno mijenja.

No ipak se crtež PCB -a koristi za provjeru ispravne povezanosti dijelova tijekom lemljenja.

Možete vidjeti 12k/24k/51k/100k otpornike umetnute na IC pin glavu bez lemljenja.

Stoga možete kasnije zamijeniti otpornike na druge vrijednosti za prikladnu promjenu sheme rada kruga.

Korak 7: Sklapanje

Sklapanje
Sklapanje

Krug pokazatelja dovršenog opterećenja (u daljnjem tekstu INDIKATOR) instaliran je u RPI okvir glazbenog playera kao što je prikazano na gornjoj slici.

Ovaj glazbeni player instaliran je s DAC -om, a ja ga nedavno koristim za reprodukciju glazbenog spota.

O ovom RPI okviru objasnit ću kasnije, a sada se usredotočimo na INDIKATOR jer je sklop glavni predmet ovog projekta.

Nedavno sam kupio Raspberry Pi 4 Model B 2 GB (u daljnjem tekstu RPI 4B) kako bih podržao aplikaciju za reprodukciju videozapisa.

Kako je RPI 4B povećao performanse 4 -jezgrenog CPU -a, rukovanje opterećenjem sustava značajno je poboljšano s RPI 3B+.

Stoga bi se dužina izvođenja u redu čekanja za rad trebala tretirati drugačije od RPI 3B+.

- Za vrlo uobičajeno opterećenje sustava, poput reprodukcije videa, duljina reda za pokretanje obično je manja od 0,5 (Dakle, NISKO opterećenje sustava bit će razina 0,0 ~ 0,5)

- Kad se doda lagano dodatno opterećenje sustava, poput reprodukcije videa i kopiranja datoteka iz i u lokalni direktorij, vrsta radova rezultira laganim opterećenjem CPU -a. (Dakle, razina opterećenja SVJETLOSTI bit će 0,5 ~ 1,0)

- Kada se primijene značajna opterećenja, poput reprodukcije videa u pregledniku na web stranici Youtube i pregledavanja weba u drugom pregledniku, brzina rada RPI 4 postaje blago spora (stoga će SREDNJA razina opterećenja biti 1,0 ~ 2,0)

- Napokon opterećenje sustava RPI 4 postaje VELIKO pri pokretanju više web preglednika i kopiranju velikog broja datoteka na drugi RPI poslužitelj putem mreže (Tada duljina reda za pokretanje postaje veća od 2,0)

***

Ovi će se podaci o razini opterećenja koristiti u sljedećem koraku, bit će razvijen python kod.

Korak 8: Revidiranje izvornog kruga

Revizija izvornog kola
Revizija izvornog kola

Zbog nekoliko nedostataka izvornog dizajna kruga, mijenjam krug kao što je prikazano na gornjoj slici.

Razlozi za promjenu su sljedeći.

- Sat impulsa NE555 sastoji se od visokog i niskog valnog oblika. No obično HIGH i LOW trajanje signala (t = 1/f) nije isto (na primjer HIGH je 70%, a LOW je 30% u izvornom krugu). Stoga brzina treptanja dviju LED dioda (zelena/žuta LED u originalnom dizajnu) nije ista (jedna LED svijetli duže od ostalih). Iz tog razloga vizualnu indikaciju LED treperenjem nije lako prepoznati. `

- Stoga dodajem još LED dioda i izrađujem kružni iteracijski uzorak s CD4017 za lakše prepoznavanje operativnog stanja

- Također mijenjanje sheme LED treptanja obrnuto, poput sporog treptanja pri NISKOM opterećenju i bržeg treptanja pri VISOKOM opterećenju. (Izvorni krug je napravljen da brže treperi pri NISKOM opterećenju i sporo trepće pri VELIKOM opterećenju). U slučaju VELIKOG opterećenja, sve radnje RPI -ja postaju usporene. Pokazivanje sporog LED treptanja neće vas usrećiti. (U psihološkom aspektu biram pozitivniju shemu prikaza)

***

Iako je dio LED zaslona značajno izmijenjen, ukupna razina promjene s izvornim krugom nije velika kao što možete vidjeti u sljedećem koraku.

Korak 9: Promjena izvorne sheme

Izvorna shematska promjena
Izvorna shematska promjena

Dodatak CD4017 i 8 LED dioda velika su izmjena.

Također za promjenu frekvencije takta NE555 i shemu treptanja LED -a unatrag, vrijednosti otpornika se mijenjaju kako je prikazano na gornjoj shemi.

Budući da je dodani dio kruga jednostavan sklop goniča temeljen na CD4017, preskočit ću druga detaljna objašnjenja izmijenjenog kruga.

Svi promijenjeni dijelovi kruga mogu se izraditi kao pomoćna PCB ploča na koju su lemljene CD4017 i 8 LED dioda.

Pomoćna ploča može se pričvrstiti na matičnu ploču (matična ploča) kao što je prikazano na slici u koraku 8.

Korak 10: Testiranje

Video isječci svih radnih faza (NISKO, SVJETLO, SREDNJE i VISOKO stanje opterećenja) prikazani su datotekom pohranjenom na google pogonu ispod.

***

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

***

Ovisno o trenutnom opterećenju sustava, brzina treptanja će se promijeniti u jednom od 4 stanja prikazana u videu.

Korak 11: Python kod

Python kod
Python kod

Budući da je većina kontrolnih logika uključena u vanjski hardverski krug, operativna logika Python koda relativno je jednostavna uključujući sljedeće korake.

- Dobivanje podataka o temperaturi CPU -a za usporedbu relativnosti između opterećenja sustava i povišenja temperature

- Prikupljanje prosječnog opterećenja sustava od 1 minute na temelju produženja rada

-Izrada vremenske oznake kao format yy-mm-dd hh: mm: ss

- Temperatura pisanja, opterećenje sustava zajedno s vremenskom oznakom

- Prema trenutnim izlaznim podacima opterećenja sustava (00, 01, 10, 11) u krug INDICATOR

- Spavajte 5 sekundi prije početka gore navedenih koraka

Budući da python programu treba strogo uvlačenje unutar izvornog koda, preuzmite izvornu datoteku s google pogona slijedeći donju vezu.

***

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

***

Budući da ne koristim RPI kao stolno računalo, pokretanje uredskih aplikacija ili web preglednika Libre vrlo je rijetko.

Obično reproduciram glazbeni video, kopiranje/premještanje datoteka ili programiranje na pythonu s novo kupljenim RPI 4B 2 GB.

Stoga je prosječno opterećenje u mom slučaju obično manje od 1,0 pa u skladu s tim mijenjam LOW/LIGHT/MEDIUM/HIGH razine u svom kodu. (U suprotnom možete promijeniti uvjete ispitivanja)

No, kada često gledate Youtube videozapise s RPI -om, obično će se dogoditi više od 2,0 opterećenja sustava.

Korak 12: Relativnost između opterećenja sustava i temperature procesora

Relativnost između opterećenja sustava i temperature procesora
Relativnost između opterećenja sustava i temperature procesora

Obično pretpostavljam i siguran sam da će povećanje opterećenja sustava povisiti temperaturu procesora.

Ali do sada nemam jasnu sliku o međusobnom djelovanju među njima.

Kao što možete vidjeti na gornjem grafikonu, oni su vrlo jaki međusobni odnosi, kako slijedi.

- Radi lakše usporedbe, množim 10 na prosječno opterećenje sustava. Inače je skala opterećenja sustava vrlo mala (0,0 ~ 2,0), izravna usporedba postaje teška.

- Kako je rashladni ventilatorski krug instaliran na Pi boxu za reprodukciju glazbe, temperatura procesora nikada ne prelazi 50 C

- Kad je opterećenje sustava unutar raspona 0,0 ~ 1,0, temperatura unutar raspona 45 ~ 48C (metalni poklopac CPU -a se lagano zagrijava)

- No primjenjuje se veliko opterećenje (obično web preglednik i reprodukcija Youtube videa), opterećenje raste i temperatura se povećava

***

Budući da je RPI 4B instaliran s 4 jezgrom CPU -a, teoretski se performanse neće mnogo smanjiti do razine učitavanja (red za vrijeme izvođenja) 4.

No ipak ispod prosječne razine opterećenja 4, bit će potrebna odgovarajuća kontrola temperature.

Korak 13: Dovršavanje

Finalizacija
Finalizacija

Završavam ovaj projekt instaliranjem INDICATOR -a na Pi box kao na gornjoj slici.

Tijekom povremene uporabe ovog Pi okvira, INDICATOR rijetko pokazuje VISOKU razinu i dinamičko LED treperenje.

Obično je ostao u sporo trepćućim LED diodama (dakle NISKA ili SVJETLOST).

U svakom slučaju, dodatni vizualni indikator čini malo smiješnim, barem pokazuje da RPI trenutno nešto radi.

Hvala vam što ste pročitali ovu priču ….

Preporučeni: