Мазмұны:

Raspberry Pi CPU жүктеу индикаторы: 13 қадам
Raspberry Pi CPU жүктеу индикаторы: 13 қадам

Бейне: Raspberry Pi CPU жүктеу индикаторы: 13 қадам

Бейне: Raspberry Pi CPU жүктеу индикаторы: 13 қадам
Бейне: MKS 1.4 – BLTouch 2024, Қараша
Anonim
Raspberry Pi CPU жүктеу индикаторы
Raspberry Pi CPU жүктеу индикаторы

Raspberry Pi (RPI) консольдік мониторсыз бассыз жұмыс істегенде, RPI шынымен бірдеңе жасап жатқанын тану үшін арнайы визуалды көрсеткіштер жоқ.

SSH көмегімен қашықтағы терминал қолданылса да, жүйелік жүктеменің процессорға қаншалықты жүктелетінін тексеру үшін Linux командасының уақытша орындалуы қажет.

Осылайша, бұл схема қазіргі уақытта қолданылатын жүйелік жүктемелерді орындау үшін процессордың нақты белсенділігін (мүмкін жартылай нақты немесе шынайы) дереу тануға көмектесу үшін жасалған.

Бірдей функцияны тек python бағдарламалауы мен әлдеқайда қарапайым схема қолдай алатынына қарамастан, осы схемаға қажет күрделі LED басқару логикасын модельдеу үшін сәл күрделі питон кодтары қажет болады.

Питон кодының күрделілігі парадоксальды түрде артуы жүйенің жүктемесінің жоғарылауымен процессорға ауыртпалық түсіреді.

Сондықтан кез келген көрсеткіш функциясын сыртқы аппараттық тізбекке мүмкіндігінше өшіру орынды болады, өйткені бұл қызмет әр 5 секунд сайын жиі және жиі жұмыс істеуі керек.

Бұл схема бассыз жұмыс істейтін RPI -ге сәл күлкілі ерекшелікті қосады.

1 -қадам: CPU жүктемесін тексеру Linux пәрмені

CPU жүктемесін тексеру Linux пәрмені
CPU жүктемесін тексеру Linux пәрмені

Жоғары, iostat, sysstat және жұмыс уақыты сияқты Linux командаларын тексеретін әр түрлі CPU жүктемелері бар.

Әр команданың ақпараттың әртүрлілігі мен деректердің қарапайымдылығы тұрғысынан ерекшелігі бар.

Жоғарғы пәрмен - бұл жүйелік жүктемені бірден тану үшін қол жетімді ең егжей -тегжейлі мәліметтер.

Бірақ ол итерация режимі ретінде жұмыс істейді (мәліметтерді экранда үздіксіз көрсету) және ақпараттық формат тек процессордың жүктелуінің қажетті деректерін алу үшін өте күрделі.

Iostat пәрмені қазіргі уақытта процессорға ауыртпалық түсіретін пайдаланушы мен жүйенің жұмыс кезегін ажырату арқылы жүйенің жүктелуі туралы терең ақпарат береді.

Бірақ процессордың ағымдағы жүктемесін тез және интуитивті түрде алу қажет емес.

Жұмыс уақыты болған жағдайда жүйенің орташа жүктелу деректері орташа 1 минут, орташа 5 минут және 15 минуттық жинақталған орта мәнінде қол жетімді.

Жоғарыда айтылғандай, питон кодын жеңілдету қажет, себебі ол әр 5 секунд немесе 10 секунд сайын жиі орындалуы керек.

Питон коды күрделене бастағанда, ол процессорға үлкен салмақ түсіреді.

Бұл жүйелік жүктемені бақылауға 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 (түйреуіш 2) арасындағы жол қосылады, ал басқа шығулар қосылмайды (жоғары импеданс күйінде).

Дәл осылай 2 -ші басқару пультінің жоғары кірісі (5 -штырь) шығыс 1 (түйреуіш 4) пен шығыс 2 (түйреуіш 3) қосылады, ал басқа шығулар ажыратылады.

Содан кейін LM555 әр түрлі жыпылықтайтын екі жарықдиодты жыпылықтайды.

Жоғарыда келтірілген схемада көріп тұрғандай, NE555 4 (12к, 24к, 51к, 100к) ықтимал қарсылық деңгейлерінің арасында қарсылық мәндерінің бірімен жұмыс істейді.

3 -қадам: NE555 әр түрлі сағаттар генерациясы

NE555 Әр түрлі сағаттар генерациясы
NE555 Әр түрлі сағаттар генерациясы

Схемада көрсетілгендей, NE555 12к, 24л, 51к және 100к сияқты мүмкін болатын қарсылық мәндерінің бірін қолданады.

Шын мәнінде NE555 уақыт тізбегінің бөлігі - бұл тізбекті қолдайтын негізгі визуалды көрсеткіш.

Тізбектің жұмыс схемасы келесідей.

- Егер процессорға айтарлықтай жүктеме болмаса, RPI -де орнатылған python бағдарламасы индикаторлық тізбекке 00 шығысын жібереді. Содан кейін CD4066 екі шығыс жолы іске қосылады және NE555 12к резисторлық мәнмен жұмыс істейді. Светодиодтар секундына 1,5 рет жыпылықтайды (тез жыпылықтайды)

- CPU аз жүктелген (содан кейін жұмыс кезегінің ұзақтығы 0,1 ~ 0,9 деңгейге жетеді), python тізбекке 01 жібереді. Содан кейін CD4066 24 к резисторға қосылған шығулармен іске қосылды. Нәтижесінде светодиодтың жыпылықтауы секундына 1,2 есе азайды (жарық диоды аздап жыпылықтайды, бірақ бәрібір сәл жылдам)

- CPU жүктемесі айтарлықтай жоғарылаған кезде (жұмыс уақытының ұзақтығы 1,0 ~ 1,9 деңгейге дейін), python тізбекке 10 шығарады. Содан кейін 51к резисторлық байланыс жолы ашылады және NE555 секундына 0,8 рет жұмыс істейді. Енді жыпылықтау жылдамдығы айтарлықтай төмендейді.

- CPU жүктейтін ауыр жүктемелер мен жұмыс уақытының ұзақтығы ұзарады (2-ден көп жұмыс процессордың орындалуын күтеді, ал жұмыс уақыты 2,0-ден көп болады). 100k резисторлық қосылым таңдалған кезде, NE555 жарық диоды секундына 0,5 рет жыпылықтайды (Жыпылықтау жылдамдығы өте баяу болады)

***

Жүйелік жүктемелердің жоғарылауымен қатар, светодиодтың жыпылықтау жылдамдығы да сәйкесінше төмендейді.

Жарық диоды баяу жыпылықтаса, RPI айтарлықтай жүктеледі.

Бұл - жүктеме көрсеткіштері тізбегі, RPI ағымдағы жүктеме деңгейі туралы есеп.

4 -қадам: Бөлшектер

Бұл схеманы жасау үшін әр түрлі IC чиптері қолданылады.

Мен ескі IC чиптерінің 74LSxx, CD40xx түрін айтып отырғаныммен, егер таңдалған IC чипі DIP түрі болса, сіз 74HC4066 және 74ASxx сияқты TTL мен CMOS чиптерінің соңғы түрлерін қолдана аласыз.

Кішкентай 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 оптикалық қосқыш x 2 (Кез келген жалпы 4 істікшелі опто-қосқышты қолдануға болады)

- Резисторлар: 220 Ом x 4 (жарықдиодты токты шектеу), 4,7 К (оптикалық қосқыш интерфейсі) x 2, 12 К,/24 К/51 К/100 К (Сағаттық уақытты басқару) x 1

- LED x 2 (Сары, Жасыл немесе Қызыл, Жасыл сияқты түрлі түстер)

- Әмбебап тақта 30 (Вт) 20 (Н) тесік өлшемімен (осы схемаға сәйкес келетін әмбебап тақтаның кез келген өлшемін кесуге болады)

- қалайы сым (әмбебап ПХД -да сымдардың үлгілерін жасауға арналған)

- түйреуіш басы (3 түйреуіш) x 3

- IC түйреуіш басы (4 түйреуіш) x 4

- қызыл/көк түсті сымдар

***

5 -қадам: ПХД сызбасын жасау

ПХД сызбасын жасау
ПХД сызбасын жасау

Мен әр жобада ПХД сызбасын көрсетсем де, сымдардың дизайны әмбебап ПХД -де әр бөлікті дұрыс дәнекерлеуге көмектесетін сілтеме болып табылады.

Бірақ сіз міндетті түрде бұл сым схемасын ұстанбайсыз.

Жоғарыдағы сымдардың схемасын көріп тұрғаныңыздай, бұл өте күрделі және айтарлықтай үлкен ПХД қажет.

Дәнекерлеу аяқталған ПХД көлемін азайту үшін қалайы сымның орнына бөлшектерді қосу үшін жалпы кабельді қолдануға болады.

Бөлшектер арасындағы дұрыс дәнекерлеуді тексеру және растау үшін ПХД сызбасын пайдаланыңыз.

TTL немесе CMOS IC -терінің саны көбейгенде, ПХД -дің бір жағында сәйкес интеграциядан тыс, әдетте ПХД сызбасы күрделене түседі.

Сондықтан ПХД көп қабатты цифрлық тізбектердің өнеркәсіптік дәрежесі үшін кеңінен қолданылады, оның ішінде көптеген TTL, CMOS және микро процессор бар.

6 -қадам: дәнекерлеу

Дәнекерлеу
Дәнекерлеу

Мен ПХД өлшемін барынша азайту үшін қалайы сым мен жалпы сымды кабельді бірге қолданамын.

ПХД сызбасымен салыстыру кезінде әр бөліктің орналасуы толығымен өзгереді.

Дәнекерлеу кезінде бөлшектер арасындағы дұрыс байланысты тексеру үшін ПХД сызбасы қолданылады.

IC түйреуішінің басына 12к/24к/51к/100к резисторлары дәнекерлемей салынғанын көруге болады.

Сондықтан, кейінірек тізбектің жұмыс схемасын ыңғайлы өзгерту үшін резисторларды басқа мәндерге ауыстыруға болады.

7 -қадам: жинау

Жинау
Жинау

Аяқталған жүктеме индикаторлық тізбегі (бұдан әрі - ИНДИКАТОР) жоғарыдағы суретте көрсетілгендей музыка ойнатқышының RPI қорабына орнатылады.

Бұл музыкалық ойнатқыш DAC -те орнатылған, мен оны жақында музыкалық бейне ойнату үшін қолданамын.

Бұл RPI қорапшасы туралы мен кейінірек түсіндіремін, енді индикаторға тоқталайық, себебі схема бұл жобаның негізгі тақырыбы.

Мен жақында бейне ойнату қосымшасын қолдау үшін Raspberry Pi 4 Model B 2GB (бұдан әрі RPI 4B) сатып алдым.

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

Сондықтан жұмыс уақыты кезегінің ұзақтығы шығысы RPI 3B+қарағанда басқаша өңделуі керек.

- Бейнені ойнау сияқты әдеттегі жүйелік жүктеме үшін, жүгіру кезегінің ұзақтығы әдетте 0,5-тен аз болады (LOW жүйе жүктемесі 0,0 ~ 0,5 деңгейге тең болады)

- Бейнені ойнату және файлдарды жергілікті каталогтан көшіру сияқты жүйенің шамалы қосымша жүктемесі қосылған кезде, процессорға шамалы жүктеме әкеледі. (Сонымен LIGHT жүктеме деңгейі 0,5 ~ 1,0 болады)

- Youtube сайтында браузерде бейне ойнау және басқа браузерде веб -серфинг сияқты маңызды жүктемелер қолданылғанда, RPI 4 жұмыс жылдамдығы сәл баяулайды (жүктеменің орташа деңгейі 1,0 ~ 2,0 болады)

- Соңында RPI 4 жүйелік жүктемесі бірнеше веб-браузерлерді іске қосқанда және үлкен көлемдегі файлдарды басқа RPI серверіне желі арқылы көшіргенде жоғары болады (Содан кейін жұмыс кезегінің ұзындығы 2,0-ден асады)

***

Бұл жүктеме деңгейінің деректері келесі қадамда питон кодымен өңделетін болады.

8 -қадам: бастапқы схеманы қайта қарау

Түпнұсқалық схеманы қайта қарау
Түпнұсқалық схеманы қайта қарау

Түпнұсқалық конструкцияның бірнеше ақауларына байланысты мен схеманы жоғарыдағы суретте көрсетілгендей өзгертемін.

Өзгерту себептері келесідей.

- NE555 сағат импульсі жоғары және төмен толқын формасынан тұрады. Бірақ әдетте жоғары және төмен сигнал ұзақтығы (t = 1/f) бірдей емес (мысалы, HIGH 70% және LOW бастапқы тізбекте 30%). Демек, екі жарық диодтың жыпылықтау жиілігі (бастапқы дизайндағы жасыл/сары жарық диодты) бірдей емес (бір жарық диоды басқасына қарағанда ұзағырақ қосылады). Осы себепті жарық диодты жыпылықтау арқылы визуалды индикаторды оңай тануға болмайды

- Сондықтан мен жұмыс жағдайын оңай тануды қамтамасыз ету үшін көбірек жарық диодты қосамын және CD4017 көмегімен дөңгелек итерация үлгісін жасаймын

- Сондай -ақ, жарық диодты жыпылықтау схемасын керісінше өзгерту, мысалы, төмен жүктеме кезінде баяу жыпылықтау және жоғары жүктеме кезінде жылдам жыпылықтау. (Түпнұсқалық схема төмен жүктеме кезінде жылдам жыпылықтау үшін және жоғары жүктеме кезінде баяу жыпылықтау үшін жасалған). Жоғары жүктеме жағдайында кез келген RPI әрекеттері баяу болады. Жарық диодының баяу жыпылықтауы сізді бақытты етпейді. (Психологиялық тұрғыдан алғанда мен позитивті дисплей схемасын таңдаймын)

***

Жарықдиодты дисплей бөлігі едәуір өзгертілгенімен, бастапқы схемадағы жалпы өзгеріс деңгейі келесі қадамда көріп тұрғандай емес.

9 -қадам: бастапқы схемалық өзгеріс

Түпнұсқа схемалық өзгеріс
Түпнұсқа схемалық өзгеріс

CD4017 және 8 светодиодты қосу негізгі модификация болып табылады.

Сондай -ақ, NE555 сағат жиілігін және жарық диодты жыпылықтау схемасын өзгерту үшін резисторлардың мәндері жоғарыдағы схемада көрсетілгендей өзгертіледі.

Қосылған тізбек бөлігі CD4017 негізіндегі қарапайым аң аулау тізбегі болғандықтан, мен өзгертілген схеманың басқа егжей -тегжейлі түсініктемелерін өткізіп жіберемін.

Барлық өзгертілген тізбек бөлігін CD4017 және 8 светодиодтар дәнекерленген ПХД тақтасы ретінде жасауға болады.

Қызық тақтаны негізгі тақтаға (аналық тақтаға) 8-қадамдағы суретте көрсетілгендей бекітуге болады.

10 -қадам: тестілеу

Барлық операциялық кезеңдердің (төмен, жеңіл, орташа және жоғары жүктеме күйі) тестілік бейнесі төмендегі Google дискісінде сақталған файлмен көрсетіледі.

***

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

***

Жүйенің ағымдағы жүктемесіне сәйкес, жыпылықтау жылдамдығы бейнеде көрсетілген 4 күйдің бірінде өзгереді.

11 -қадам: Python коды

Python коды
Python коды

Басқару логикасының көп бөлігі сыртқы аппараттық схемаға қосылғандықтан, келесі қадамдарды қоса алғанда, питон кодының операциялық логикасы салыстырмалы түрде қарапайым.

- Жүйелік жүктеме мен температураның жоғарылауы арасындағы салыстырмалылықты салыстыру үшін процессордың температурасы туралы мәліметтерді алу

- жұмыс уақытының шығысынан жүйенің орташа 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 көмегімен питон бағдарламасын ойнаймын.

Сондықтан, менің жағдайда орташа жүктеме әдетте 1,0 -ден төмен, сондықтан мен өз кодымда LOW/LIGHT/MEDIUM/HIGH деңгейлерін өзгертемін. (Басқа жағдайда тест шарттарын өзгертуге болады)

Бірақ сіз Youtube бейнелерін RPI көмегімен жиі қарайтын болсаңыз, жүйелік жүктемелердің 2,0 -нан астамы жиі болады.

12 -қадам: Жүйелік жүктеме мен процессордың температурасы арасындағы салыстырмалылық

Жүйелік жүктеме мен процессордың температурасы арасындағы салыстырмалылық
Жүйелік жүктеме мен процессордың температурасы арасындағы салыстырмалылық

Әдетте мен жүйенің жүктемесінің жоғарылауы процессордың температурасын көтеретініне сенімдімін.

Бірақ әзірге мен олардың арасындағы өзара әрекеттесудің нақты бейнесін білмеймін.

Жоғарыдағы графиктен көріп отырғаныңыздай, олар өте тығыз байланыста.

- Оңай салыстыру үшін мен жүйенің орташа жүктемесін 10 -ға көбейтемін. Әйтпесе, жүйелік жүктеменің ауқымы өте аз (0,0 ~ 2,0), тікелей салыстыру қиынға соғады.

- Музыкалық ойнатқышқа салқындатқыш желдеткіш схемасы орнатылғандықтан, процессордың температурасы ешқашан 50С -тан аспайды

- Жүйе жүктемесі 0,0 ~ 1,0 аралығында болғанда, температура 45 ~ 48С аралығында (процессордың металл қақпағы сәл қызады)

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

***

RPI 4B 4 ядролы процессормен орнатылғандықтан, теориялық өнімділік жүктеме деңгейіне дейін төмендемейді (жұмыс уақытының жұмыс кезегі) 4.

Бірақ жүктеменің орташа деңгейі 4 -тен төмен болса да, тиісті температураны реттеу қажет болады.

13 -қадам: Қорытындылау

Қорытындылау
Қорытындылау

Мен бұл жобаны жоғарыдағы суреттегідей INDICATOR to Pi ұяшығына орнату арқылы аяқтаймын.

Бұл Pi қорапшасын кездейсоқ пайдалану кезінде INDICATOR ЖОҒАРЫ деңгей мен динамикалық жарық диодты жыпылықтайды.

Әдетте ол светодиодтардың баяу жыпылықтайтын күйінде қалады (LOW немесе LIGHT деңгейі төмен).

Қалай болғанда да, визуалды индикатор сәл күлкілі етеді, бұл RPI дәл қазір бірдеңе жасап жатқанын көрсетеді.

Бұл әңгімені оқығаныңыз үшін рахмет ….

Ұсынылған: