Мазмуну:

Raspberry Pi CPU жүктөө көрсөткүчү: 13 кадам
Raspberry Pi CPU жүктөө көрсөткүчү: 13 кадам

Video: Raspberry Pi CPU жүктөө көрсөткүчү: 13 кадам

Video: Raspberry Pi CPU жүктөө көрсөткүчү: 13 кадам
Video: Рынок IT в 2021. Intel и конкуренты. Игры от Netflix. [MJC News #8] 2024, Ноябрь
Anonim
Raspberry Pi CPU жүктөө көрсөткүчү
Raspberry Pi CPU жүктөө көрсөткүчү

Консоль монитору жок Raspberry Pi (RPI) башсыз иштетилгенде, RPI чынында бир нерсе кылып жатканын таануу үчүн эч кандай конкреттүү көрсөткүчтөр жок.

Алыскы терминал SSH менен колдонулганына карабастан, Linuxтун буйругун аткаруу системанын жүктөмү CPUга азыр канчалык жүктөлүп жатканын текшерүү үчүн керек.

Ошентип, бул схема учурда колдонулган тутум жүктөөлөрүн аткаруу үчүн CPUнын реалдуу активдүүлүгүн (балким жарым реалдуу же реалдуу түрдө) дароо таанууга жардам берүү үчүн жасалган.

Бир гана python программалоо жана бир кыйла жөнөкөй схема ошол эле функцияны колдой алса да, бул схема талап кылган татаал LED башкаруу логикасын имитациялоо үчүн бир аз татаал питон коддору талап кылынат.

Ошондой эле парадоксалдуу түрдө Python кодунун татаалдыгы системанын жүктөлүшүнүн көбөйүшү менен CPUга көбүрөөк оорчулук келтирет.

Демек, тышкы жабдык схемасына мүмкүн болушунча кандайдыр бир көрсөткүч функциясын өчүрүү акылга сыярлык болот, анткени бул кызмат ар дайым жана ар бир 5 секундда иштеп турушу керек.

Жана бул схема башы жок RPIге бир аз күлкүлүү өзгөчөлүктү кошот.

1 -кадам: Linux жүктөмүн текшерүү

Linux жүктөмүн текшерүү
Linux жүктөмүн текшерүү

Ар кандай CPU жүктөөлөрүн текшерүүчү Linux командалары бар, мисалы top, iostat, sysstat жана uptime.

Ар бир буйрук маалыматтын ар түрдүүлүгү жана маалыматтын жөнөкөйлүгүн чагылдыруу жагынан белгилүү артыкчылыктарга ээ.

Top буйругу - эң маалыматка бай жана өтө деталдуу маалыматтар системанын жүгүн дароо таануу үчүн жеткиликтүү.

Бирок ал итерация режими катары иштейт (маалыматты үзгүлтүксүз экранда көрсөтүү) жана маалымат форматы CPU жүктөмүнүн керектүү гана маалыматын алуу үчүн өтө татаал.

Iostat буйругу учурда CPUга оорчулук келтирген колдонуучу менен системанын кезектеги жумуштарын ажыратуу аркылуу системанын жүктөлүшү жөнүндө терең маалымат менен камсыз кылат.

Бирок учурдагы CPU жүктөөсүн тез жана интуитивдүү жол менен алуу керексиз татаал.

Иш убактысы болгондо, системанын жүктөмүнүн өтө жөнөкөй маалыматтары орточо 1 мүнөттө, орточо 5 мүнөттө жана орточо 15 мүнөттө жеткиликтүү.

Жогоруда айтылгандай, питон кодун жөнөкөйлөтүү зарыл, анткени ал ар бир 5 секунд же 10 секунд сайын аткарылышы керек.

Питон коду татаалдашканда, ал CPUга көп оорчулук келтирет.

Бул парадокс, сиз RPIге системанын жүгүн көзөмөлдөөнү жүктөйсүз.

Ошондуктан, мен CPU жүктөмүн чогултуу үчүн иштөө убактысынын буйругун тандап жатам жана индикатор схемасы менен иштешем, анткени ал эң жөнөкөй.

Бирок иштөө убактысы системанын 1 мүнөттүк орточо жүктөлүшүн көрсөткөндөй, индикатордук схема так реалдуу убакыт режиминде эмес, иштетилүүгө тийиш.

Ошентсе да, бул схема RPIдин азыр кандай иштеп жатканын көрсөтүүчү пайдалуу визуалдык кыйытманы бере алат.

2 -кадам: схемалар

Схемалар
Схемалар

Бул схема RPIден эки опто-кошкуч киргизүү аркылуу 4 түрдүү деңгээлди алат (мис. 00-> LOW, 01-> LIGHT, 10-> MEDIUM, 11-> HIGH).

74LS139 (2ден 4кө чейин декодер жана де-мультиплексор) эки битти киргизүүнү 00 (LOW)-> B0, 01 (LIGHT)-> B1, 10 (MEDIUM)-> B2 сыяктуу 4 мүмкүн болгон жолдордун ичинен бир чыгаруунун бирине чечмелөөдө., 11 (Жогорку)-> B3.

74LS139 чыгаруу тескери деңгээлде (00 киргизүү -> B0 ТӨМӨН болуп, башка 3 чыгаруу БИЙИК), 74HC04 инвертору дагы бир жолу артка кайтаруу үчүн колдонулат.

74LS139 чыгаруу нормалдуу ЖОГОРУ болгондо, 74HC04 кереги жок болот.

Бирок кандайдыр бир жол менен 74LS139 ушундай жол менен жасалган. (74LS139 чындык таблицасын текшериңиз)

74LS139 өндүрүшүнүн бири тандалганда, ал CD4066 ICге кирген 4 өчүргүчтөрдүн арасында бир аналогдук которуштурууну активдештирет.

CD4066 4 аналогдук өчүргүчтү колдой алат жана ар бир которгуч 1 контролдук кирүүдөн жана 2 аналогдук чыгуудан турат.

Башкаруу киргизүү ЖОГОРУ болгондо, эки чыгуу байланышы төмөн импеданска айланат (Каршылык 0 болот), ал эми башкалары ЖОК импеданска айланат (Эки чыгаруу жолунун ортосундагы каршылык бир нече жүздөгөн мега Ом болуп калат).

Жөн гана CD4066нын 1 (пин 13) көзөмөлү ЖОГОРУ болуп, 1 -чыгарылыш (1 -пин) менен 2 -pin (2 -pin) ортосундагы жол, ошол эле учурда башка чыгуулар туташкан эмес (жогорку импеданс абалында).

Башкача айтканда, көзөмөлдүн 2 жогорку кириши (5 -пин) башка чыгуулар ажыратылганда 1 (пин 4) жана 2 (пин 3) туташуусун түзөт.

Андан кийин LM555 ар кандай жаркыраган ылдамдыкта эки светодиодду күйгүзүп жатат.

Жогорудагы схемада көрүнүп тургандай, NE555 каршылыктын 4 (12k, 24k, 51k, 100k) мүмкүн болгон каршылык деңгээлинин бири менен иштейт.

3 -кадам: NE555 Ар кандай саат мууну

NE555 Ар кандай саат мууну
NE555 Ар кандай саат мууну

Схемада көрсөтүлгөндөй, NE555 12k, 24l, 51k жана 100k сыяктуу мүмкүн болгон каршылык маанилеринин бирин иштетет.

Чынында NE555 убакыт схемасы бөлүгү схеманын бир бөлүгүн колдогон негизги визуалдык көрсөткүч болуп саналат.

Райондун иштөө схемасы төмөнкүдөй.

- CPUга олуттуу жүктөө жок болгондо, RPIде орнотулган python программасы индикатордук схемага 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 секундасына 0,5 жолу LEDди күйгүзөт (Көз ирмөө ылдамдыгы өтө жай болуп калат)

***

Системанын жүктөмүнүн жогорулашы менен бирге, LEDдин жаркылдаган ылдамдыгы ошого жараша азаят.

LED өтө жай күйүп турганда, RPI сөзсүз түрдө ашыкча жүктөлөт.

Бул жол жүктөмөнүн көрсөткүчү райондук отчету, сиз RPIдин учурдагы жүктөө деңгээли.

4 -кадам: Бөлүктөр

Бул схеманы түзүү үчүн ар кандай IC чиптери колдонулат.

Мен эски IC чиптеринин 74LSxx, CD40xx түрүн айтып жатканымда, TTL жана CMOSтун акыркы үлгүлөрүн, мисалы 74HC4066 жана 74ASxx, IC чипи DIP түрү болгондо колдоно аласыз.

Кичинекей 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 пин опто-кошкучту колдонсо болот)

- Резисторлор: 220ohm x 4 (LED токту чектөө), 4.7K (Opto-кошкуч интерфейси) x 2, 12K,/24K/51K/100K (Саатты эсептөө) x 1

- LED x 2 (Сары, Жашыл же Кызыл, Жашыл сыяктуу ар кандай түстөр)

- Универсалдык такта 30 (Вт) менен 20 (Н) тешиктин өлчөмү (Сиз бул схемага туура келген универсалдуу тактанын каалаган өлчөмүн кесип аласыз)

- Калай зым (универсалдуу ПХБда зымдардын үлгүлөрүн жасоо үчүн)

- төөнөгүч баш (3 казык) x 3

- IC пин башы (4 казык) x 4

- кызыл/көк түстөгү зым кабелдери

***

5 -кадам: PCB чиймесин жасоо

PCB чиймесин жасоо
PCB чиймесин жасоо

Мен ар бир долбоордо ПХБ чиймесин көрсөтүп жатсам да, зымдардын дизайны - бул ар бир бөлүктү универсалдуу ПХБда тууралоону туура жолго салуучу шилтеме.

Бирок сөзсүз түрдө бул зым схемасына кармануу керек эмес.

Жогоруда өткөргүч схемасын көрүп тургандай, бул өтө татаал жана олуттуу ПХБны талап кылат.

Сиз бүтүргөн ПХБнын көлөмүн азайтуу үчүн калай зымдын ордуна бөлүктөрдү туташтыруу үчүн жалпы кабелди колдоно аласыз.

Бөлүктөрдүн ортосундагы туура ширетүүнү текшерүү жана ырастоо үчүн PCB чиймесин гана колдонуңуз.

TTL же CMOS ICлеринин саны көбөйгөндө, адатта, ПХБ чиймеси ПХБнын бир тарабында туура интеграцияланбай өтө татаал болуп калат.

Ошондуктан, ПХБнын көп катмары адатта көптөгөн TTL, CMOS жана микро процессорлорду камтыган санариптик схемалардын өнөр жай классы үчүн колдонулат.

6 -кадам: ширетүү

Soldering
Soldering

Мен мүмкүн болушунча ПХБ өлчөмүн азайтуу үчүн калай зым менен жалпы зым кабелин колдонуп жатам.

PCB чиймеси менен салыштырганда, ар бир бөлүктүн орду толугу менен өзгөрөт.

Бирок дагы эле PCB чиймеси ширетүүдө бөлүктөрдүн ортосундагы туура байланышты текшерүү үчүн колдонулат.

Сиз 12к/24к/51к/100к резисторлорун IC пин башына ширетүүсүз киргизилгенин көрө аласыз.

Демек, сиз кийинчерээк ыңгайлуу схеманын иштөө схемасын өзгөртүү үчүн резисторлорду башка баалуулуктарга алмаштыра аласыз.

7 -кадам: чогултуу

Чогултуу
Чогултуу

Толтурулган жүктөө индикатору схемасы (мындан ары - ИНДИКАТОР) музыкалык ойноткучтун RPI кутусуна жогорудагы сүрөттө көрсөтүлгөндөй орнотулган.

Бул музыкалык ойноткуч DAC менен орнотулган жана мен муну жакында музыкалык видеону ойнотуу үчүн колдонуп жатам.

Бул RPI кутусу жөнүндө мен кийинчерээк түшүндүрүп берем, эми INDICATORго токтололу, анткени схема бул долбоордун негизги предмети.

Мен жакында Raspberry Pi 4 Model B 2GB (мындан ары RPI 4B) видеону ойнотуучу тиркемени колдоо үчүн сатып алдым.

RPI 4B 4 ядронун процессорунун иштешин жогорулаткандыктан, системалык жүктөөлөрдү иштетүү RPI 3B+караганда кыйла жакшырат.

Ошондуктан иштөө кезегинин узундугу RPI 3B+башкача каралышы керек.

- Видеону ойнотуу сыяктуу кадимки тутумдук жүктөө үчүн, адатта, 0,5тен аз (кезек узундугу 0,0 ~ 0,5 деңгээлде болот)

- Видеону ойнотуу жана файлдарды жергиликтүү каталогдон көчүрүү сыяктуу кичине кошумча системалык жүктөө кошулганда, CPUга бир аз оорчулук алып келет. (Ошентип, LIGHT жүк деңгээл 0.5 ~ 1.0 болот)

- Youtube сайтында браузерде видео ойнотуу жана башка браузерде веб -серфинг сыяктуу олуттуу жүктөөлөр колдонулганда, RPI 4тун иштөө ылдамдыгы бир аз солгундап калат (Ошентип, Орточо жүктөө деңгээли 1.0 ~ 2.0 болот)

- Акырында RPI 4 тутумунун жүктөлүшү бир нече веб-браузерлерди иштетүүдө жана файлдардын чоң көлөмүн башка RPI серверине тармак аркылуу көчүрүүдө ЖОГОРУ болуп калат (Андан кийин иштөө кезегинин узундугу 2,0дон ашат)

***

Бул жүктөө деңгээлинин маалыматы кийинки кадамда иштелип чыккан python коду тарабынан колдонулат.

8 -кадам: Оригиналдуу микросхеманы кайра карап чыгуу

Оригиналдуу микросхеманы кайра карап чыгуу
Оригиналдуу микросхеманы кайра карап чыгуу

Түпнуска схеманын бир нече кемчиликтерине байланыштуу, мен схеманы жогорудагы сүрөттө көрсөтүлгөндөй өзгөртүп жатам.

Өзгөрүүнүн себептери төмөнкүчө.

- NE555 саатынын импульсу HIGH жана LOW толкун формасынан турат. Бирок, адатта, HIGH жана LOW сигналынын узактыгы (t = 1/f) бирдей эмес (мисалы, HIGH 70% жана LOW баштапкы схемада 30%). Демек, эки светодиоддун жаркыроо ылдамдыгы (Жашыл/Сары LED баштапкы дизайнында) бирдей эмес (Бир LED башкага караганда узакка күйөт). Ушул себептен улам, LEDдин жаркылдоосу менен визуалдык көрсөткүчтү оңой эле таануу мүмкүн эмес

- Ошондуктан, мен көбүрөөк LED кошуп, иштөө абалын оңой таанууну камсыз кылуу үчүн CD4017 менен тегерек итерация моделин жасап жатам

- Ошондой эле LED жаркылдоо схемасын тескерисинче өзгөртүү, мисалы, LOW жүктөөдө жай ирмөө жана жогорку жүктөөдө тезирээк өчүү. (Түпнуска схема Төмөн жүктөмдө тезирээк жана ЖҮК жүктөөдө жай ирмелүү үчүн жасалган). Жогорку жүктөө кырдаалында, ар кандай RPI аракеттери жай болуп калат. Жай LED жаркылдап көрсөтүү сизди бактылуу кылбайт. (Психологиялык аспект боюнча, мен позитивдүү дисплей схемасын тандап жатам)

***

LED дисплей бөлүгү олуттуу түрдө өзгөртүлгөнү менен, баштапкы схемада жалпы өзгөрүүнүн деңгээли кийинки кадамда көрүнүп тургандай эмес.

9 -кадам: Оригиналдуу схемалык өзгөртүү

Оригиналдуу схемалык өзгөртүү
Оригиналдуу схемалык өзгөртүү

CD4017 жана 8 светодиоддорунун кошулушу негизги өзгөртүү болуп саналат.

Ошондой эле NE555 жыштыгын өзгөртүү жана диоддун артка жылтылдоо схемасын өзгөртүү үчүн, резисторлордун мааниси жогоруда көрсөтүлгөн схемада көрсөтүлгөндөй өзгөртүлөт.

Кошулган схема бөлүгү CD4017 негизиндеги куугунтуктоочу схема болгондуктан, мен өзгөртүлгөн схеманын башка деталдуу түшүндүрмөлөрүн өткөрүп жиберем.

Бардык өзгөртүлгөн схема бөлүгү CD4017 жана 8 светодиоддор ширетилген кыз PCB тактасы катары жасалышы мүмкүн.

Кыздын тактайы 8-кадамдагы сүрөттө көрсөтүлгөндөй, башкы тактага (эне тактасына) тиркелиши мүмкүн.

10 -кадам: Тестирлөө

Бардык операциялык этаптардын тестирлөө видеосу (ТӨМӨН, ЖАРЫК, ОРТО жана ЖҮГҮР жүктөө абалы) төмөндөгү Google дискте сакталган файл менен көрсөтүлөт.

***

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

***

Учурдагы тутумдун жүгүнө ылайык, видеодо көрсөтүлгөн 4 абалдын биринде көз ирмемдик ылдамдык өзгөрөт.

11 -кадам: Python коду

Python коду
Python коду

Көпчүлүк контролдук логикалар тышкы жабдык схемасына киргендиктен, python кодунун иштөө логикасы төмөнкү кадамдарды камтыган салыштырмалуу жөнөкөй.

- Системанын жүктөлүшү менен температуранын көтөрүлүшүнүн салыштырмалуулугун салыштыруу үчүн CPU температурасынын маалыматын алуу

- Иш убактысынан 1 мүнөттүк системанын орточо жүгүн чогултуу

-yy-mm-dd hh: mm: ss форматындагыдай убакыт белгилерин жасоо

- Жазуу температурасы, убакыт штампы менен бирге системанын жүктөлүшү

- Учурдагы тутумдун жүктөө маалыматы боюнча (00, 01, 10, 11) ИНДИКАТОР схемасына

- Жогоруда айтылган кадамдарды баштоодон мурун 5 секунд уктаңыз

Python программасына баштапкы коддун ичинде катуу чегинүү керек болгондуктан, төмөнкү шилтеме аркылуу google драйвынан баштапкы файлды жүктөп алыңыз.

***

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

***

Мен RPIди рабочий компьютер катары колдонбогондуктан, Libre офис тиркемелерин же веб -браузерди иштетүү өтө сейрек кездешет.

Адатта, мен жаңы сатып алган RPI 4B 2GB менен музыкалык видеону, файлдын көчүрмөсүн/кыймылын же python программалоосун ойноп жатам.

Ошондуктан, менин орточо жүгүм адатта 1.0ден азыраак болот жана ошого жараша мен кодумда LOW/LIGHT/MEDIUM/HIGH деңгээлин өзгөртүп жатам. (Башкача айтканда, сыноо шарттарын өзгөртө аласыз)

Бирок сиз Youtube видеолорун RPI менен көбүнчө көрүп жатканыңызда, тутумдун 2.0ден ашыгы адатта болот.

12 -кадам: Системанын жүктөлүшү менен CPU температурасынын ортосундагы салыштырмалуулук

Системанын жүктөлүшү менен CPU температурасынын ортосундагы салыштырмалуулук
Системанын жүктөлүшү менен CPU температурасынын ортосундагы салыштырмалуулук

Мен көбүнчө системанын жүктөлүшүнүн жогорулашы CPU температурасын жогорулатат деп ойлойм.

Бирок ушул убакка чейин алардын ортосундагы өз ара аракеттенүүнүн так сүрөтү жок.

Жогорудагы графиктен көрүнүп тургандай, алар төмөнкүдөй абдан күчтүү кызматташтык.

- Оңой салыштыруу үчүн мен системанын орточо жүгүн 10го көбөйтөм. Болбосо системанын жүгүнүн масштабы өтө кичине (0.0 ~ 2.0), түз салыштыруу кыйын болуп калат.

- Муздатуучу FAN схемасы музыканы Пи кутусуна орнотулгандыктан, CPU температурасы 50Стен ашпайт

- Системалык жүктөө 0.0 ~ 1.0 чегинде болсо, температура 45 ~ 48C чегинде (CPU металл капкагы бир аз жылыйт)

- Бирок оор жүк колдонулат (Адатта веб -браузер жана Youtube видеолорун ойнотуу), жүктүн көтөрүлүшү жана температура

***

RPI 4B 4 негизги CPU менен орнотулгандыктан, теориялык жактан аткаруу жүктөө деңгээлине чейин төмөндөбөйт (иштөө кезеги) 4.

Бирок дагы эле орточо 4 -деңгээлден азыраак температураны көзөмөлдөө керек болот.

13 -кадам: Корутунду

Аяктоо
Аяктоо

Мен бул проекти жогорудагы сүрөттөгүдөй ПИН кутусуна INDICATOR орнотуу менен бүтүрүп жатам.

Бул Пи кутучаны кокусунан колдонуу учурунда, ИНДИКАТОР сейрек ЖОГОРКУ деңгээлди жана динамикалык LED жаркылдайт.

Адатта, ал жай күйүп турган светодиод абалында кала берди (LOW же LIGHT деңгээлинде).

Кандай болбосун, визуалдык индикатор бир аз күлкүлүү кылат, жок дегенде ал RPIдин азыр бир нерсе кылып жатканын көрсөтөт.

Бул окуяны окуганыңыз үчүн рахмат ….

Сунушталууда: