在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>樹莓派監(jiān)視器開源項(xiàng)目

樹莓派監(jiān)視器開源項(xiàng)目

2023-06-14 | zip | 0.00 MB | 次下載 | 2積分

資料介紹

描述

向任何 Raspberry Pi 項(xiàng)目添加狀態(tài)監(jiān)視器對于實(shí)時(shí)了解 CPU 在使用、溫度和 RAM 使用以及重要連接信息方面的執(zhí)行情況非常有用。如果超頻是您的事,那么這對于查看您的設(shè)置對 Pi 的影響并做出相應(yīng)的調(diào)整非常有價(jià)值。

Breadboard Mates TIMI-130顯示器與 Breadboard Mates Pi 適配器一起,是該項(xiàng)目的完美選擇,因?yàn)樗子谑褂们覇?dòng)和運(yùn)行所需的代碼簡單。

面包板伴侶 TIMI-130
?

Breadboard Mates 提供了一個(gè) Python 庫,使 Python 編碼體驗(yàn)變得輕松。

第 1 步:需要什么。

該項(xiàng)目需要以下內(nèi)容。

硬件

軟件

第 2 步:樹莓派設(shè)置。

通過訪問https://www.raspberrypi.com/software/并按照安裝操作系統(tǒng)的說明,設(shè)置 Raspberry Pi 非常容易。

安裝 Python 庫和 Git 克隆項(xiàng)目文件需要 Internet 連接。

Pi OS 需要配置為啟用 SSH 并啟用我們將用來與 TIMI-130 通信的串行端口 (UART)。

第 3 步:TIMI-130 設(shè)置。

Pi 適配器需要連接到 Pi GPIO 接頭和連接到適配器的 TIMI-130,如下所示。

poYBAGNYweiAUT97AAaYdV2kusI061.png
?

由于需要為狀態(tài)監(jiān)視器配置 TIMI-130,因此需要將 Pi 適配器上的開關(guān)設(shè)置為 PROG。

接下來,將Mates Programmer連接到 Pi 適配器。

pYYBAGNYwe2ANyAJAAZjZYfyNjY613.png
?

USB 電纜連接到 Mates Programmer 和 PC USB 端口。TIMI-130 現(xiàn)在已準(zhǔn)備好安裝狀態(tài)監(jiān)視器項(xiàng)目。

需要Mates Studio來配置 TIMI-130,您可以從這里下載https://breadboardmates.com/products/mates-studio/

創(chuàng)建狀態(tài)監(jiān)視器項(xiàng)目當(dāng)您啟動(dòng) Mates Studio 時(shí),系統(tǒng)會(huì)提示您選擇您的產(chǎn)品

pYYBAGNYwfCAOzVhAACkvhoAaTU576.png
?

單擊 TIMI-130,TIMI-130 的圖形表示將出現(xiàn)在右側(cè)面板上。

pYYBAGNYwfKASBpLAAC4NziNZSQ658.png
?

在 TIMI-130 的圖像上單擊兩次可將顯示屏旋轉(zhuǎn) 180 度。

pYYBAGNYwfWAZwa-AAC84VQ1GYo868.png
?

點(diǎn)擊 CONFIRM 然后選擇Commander Environment

poYBAGNYwfiAYT2JAAD65YW72bc281.png
?

Commander 環(huán)境現(xiàn)在將打開。

poYBAGNYwfuAA33-AABuRGM3oC8411.png
?

點(diǎn)擊“+”瀏覽頁面庫。

然后從通知選項(xiàng)卡中選擇狀態(tài)和資源監(jiān)視器,然后單擊確認(rèn)。

poYBAGNYwf2AO2RLAAE_wOk6RWE514.png
?

波特率需要從 9600 更改為 115200,方法是單擊工具和配置按鈕并選擇 115200

pYYBAGNYwgCAJUuIAAGkKH26ylU803.png
?

接下來,通過單擊 COM 面板并從下拉菜單中選擇正確的端口,為 Mates Programmer 選擇 com 端口。

poYBAGNYwgOABTesAAF8sS42j-E801.png
?

最后,單擊上傳按鈕將狀態(tài)監(jiān)視器上傳到 TIMI-30。

poYBAGNYwgWABA-uAAAOc_F-EkI370.png
?

狀態(tài)監(jiān)視器現(xiàn)在將顯示在 TIMI-130 上

poYBAGNYwgqAJ7KQAAPSfzxMruM355.png
?

現(xiàn)在可以從 Pi 適配器中移除 USB 引線和 Mates Programmer。Pi 適配器開關(guān)現(xiàn)在可以設(shè)置為 HOST,準(zhǔn)備好接收來自 Pi 的命令。

第 4 步:安裝 Python 應(yīng)用程序。

所有最近的 Raspberry Pi OS Distro 都預(yù)裝了 Python 3,因此我們可以使用 PIP 安裝所需的 Python 庫。

psutil庫可以通過運(yùn)行安裝

pip3 install psutil

接下來,可以通過運(yùn)行安裝 Breadboard Mates Controller 庫

pip3 install rpi-mates-controller

接下來,我們可以從 Github 克隆 Python 代碼

git clone https://github.com/BreadBoardMates/RPi-Status-Monitor.git

或者,可以從這里下載 Python 代碼https://github.com/BreadBoardMates/RPi-Status-Monitor

第 5 步:運(yùn)行應(yīng)用程序。

移動(dòng)到 RPi-Status-Monitor 文件夾

cd RPi-Status-Monitor

然后運(yùn)行應(yīng)用程序

python3 ./BBMPiStatusMonitor.py

TIMI-130 應(yīng)首先重置為屏幕外,然后開始顯示 CPU 使用狀態(tài)、CPU 溫度和 RAM 使用狀態(tài)以及連接的 IP 地址和正常運(yùn)行時(shí)間。

如果您希望狀態(tài)監(jiān)視器作為后臺(tái)任務(wù)運(yùn)行,只需在命令中添加“&”即可。

python3 ./BBMPiStatusMonitor.py &

享受您閃亮的 Raspberry Pi 顯示器。

通過在 Mates Studio 中創(chuàng)建新頁面并更改 Python 代碼以匹配所使用的任何新小部件,可以簡單地更改或改進(jìn)該項(xiàng)目以獲得所需的外觀。唯一的限制是想象力。

?

Python 代碼。

import time
import sys
import psutil
import socket
import fcntl
import struct
import uptime
from gpiozero import CPUTemperature
from rpi_mates.controller import RPiMatesController as MatesController
from mates.constants import *

def up():
    t = uptime.uptime()
    days = 0
    hours = 0
    min = 0
    out = ''
    while t > 86400:
        t -= 86400
        days += 1
    while t > 3600:
        t -= 3600
        hours += 1
    while t > 60:
        t -= 60
        min += 1
    out += str(days) + 'd '
    out += str(hours) + 'h '
    out += str(min) + 'm'
    return out


def get_interface_ipaddress(network):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    try:
        return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0x8915,
                                struct.pack('256s',
                                network[:15].encode('utf-8')))[20:24])  # SIOCGIFADDR
    except OSError:
        return '0.0.0.0'


if __name__ == '__main__':

    mates = MatesController('/dev/ttyS0')

    mates.begin(115200)

    gtime = up()
    lastCpuUse = 0
    lastTemp = 0
    lastlTemp = 0
    lastRamUse = 0
    lastWIPaddr = '0.0.0.0'
    lastEIPaddr = '0.0.0.0'

    mates.updateTextArea(5, gtime, True)
    cpu = CPUTemperature()
    lastlTemp = int(cpu.temperature * 10)

    IPinterval = 0

    while True:
        cpu = CPUTemperature()
        gcpu = int(cpu.temperature)
        lcpu = int(cpu.temperature * 10)
        cpuuse = int(psutil.cpu_percent())
        ramuse = int(psutil.virtual_memory().percent)

        if cpuuse < lastCpuUse:
            lastCpuUse = lastCpuUse - (1 + (lastCpuUse - cpuuse > 9))
        if cpuuse > lastCpuUse:
            lastCpuUse = lastCpuUse + 1 + (cpuuse - lastCpuUse > 9)
        if gcpu < lastTemp:
            lastTemp = lastTemp - (1 + (lastTemp - gcpu > 9))
        if gcpu > lastTemp:
            lastTemp = lastTemp + 1 + (gcpu - lastTemp > 9)
        if lcpu < lastlTemp:
            lastlTemp = lastlTemp - 1
        if lcpu > lastlTemp:
            lastlTemp = lastlTemp + 1
        if ramuse < lastRamUse:
            lastRamUse = lastRamUse - (1 + (lastRamUse - ramuse > 9))
        if ramuse > lastRamUse:
            lastRamUse = lastRamUse + 1 + (ramuse - lastRamUse > 9)

        if gcpu != lastTemp:
            mates.setWidgetValueByIndex(MatesWidget.MATES_MEDIA_GAUGE_B,0, lastTemp)
        if lcpu != lastlTemp:
            mates.setLedDigitsShortValue(0, lastlTemp)
        if cpuuse != lastCpuUse:
            mates.setWidgetValueByIndex(MatesWidget.MATES_MEDIA_GAUGE_B,1, lastCpuUse)
            mates.setLedDigitsShortValue(1, lastCpuUse)
        if ramuse != lastRamUse:
            mates.setWidgetValueByIndex(MatesWidget.MATES_MEDIA_GAUGE_B,2, lastRamUse)
            mates.setLedDigitsShortValue(2, lastRamUse)

        if IPinterval > 20:
            tempIPaddr = get_interface_ipaddress('eth0')
            if tempIPaddr != lastEIPaddr:
                mates.updateTextArea(1, tempIPaddr, True)
                lastEIPaddr = tempIPaddr

            tempIPaddr = get_interface_ipaddress('wlan0')
            if tempIPaddr != lastWIPaddr:
                mates.updateTextArea(3, tempIPaddr, True)
                lastWIPaddr = tempIPaddr
            IPinterval = 0

        IPinterval = IPinterval + 1
        time.sleep(0.060)

        tempTime = up()
        if tempTime != gtime:
            mates.updateTextArea(5, tempTime, True)
            gtime = tempTime
        time.sleep(0.040)

Python 代碼將創(chuàng)建一個(gè) Mates Controller 實(shí)例并以 115200 波特率啟動(dòng)它。

mates = MatesController('/dev/ttyS0')
mates.begin(115200)

然后創(chuàng)建一組變量,這些變量將在每次更新各種狀態(tài)后設(shè)置。這使主循環(huán)能夠?qū)倓傋x取的狀態(tài)與其上一個(gè)狀態(tài)進(jìn)行比較,然后僅在其值發(fā)生變化時(shí)才更新相應(yīng)的小部件。

lastCpuUse = 0
lastTemp = 0
lastlTemp = 0
lastRamUse = 0
lastWIPaddr = '0.0.0.0'
lastEIPaddr = '0.0.0.0'

如果需要,循環(huán)的每次迭代都將使用以下簡單命令更新顯示屏上的小部件

mates.setWidgetValueByIndex(MatesWidget.MATES_MEDIA_GAUGE_B,0, lastTemp)
mates.setLedDigitsShortValue(0, lastlTemp)
mates.setWidgetValueByIndex(MatesWidget.MATES_MEDIA_GAUGE_B,1, lastCpuUse)
mates.setLedDigitsShortValue(1, lastCpuUse)
mates.setWidgetValueByIndex(MatesWidget.MATES_MEDIA_GAUGE_B,2, lastRamUse)
mates.setLedDigitsShortValue(2, lastRamUse)
mates.updateTextArea(1, tempIPaddr, True)
mates.updateTextArea(3, tempIPaddr, True)
mates.updateTextArea(5, tempTime, True)

可下載資源

以下是軟件應(yīng)用程序、庫和已完成項(xiàng)目文件的鏈接。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
主站蜘蛛池模板: 色天使色护士 在线视频观看 | 手机在线播放视频 | 中国成人免费视频 | 国产精品国产三级在线高清观看 | 欧美成人性色xxxxx视频大 | 久久国产三级 | 色多多视频成人影院 | 欧美日韩无 | 青草国产在线视频 | 久久久久久88色偷偷 | 九色国产在视频线精品视频 | 99精品国产在热久久 | 亚洲免费视频观看 | 美女一级毛片免费观看 | 久久sese| 香蕉成人999视频 | 国产四虎精品 | 日本一卡精品视频免费 | 亚洲成a人片77777kkk | 久久国产精品永久免费网站 | 亚洲乱码卡一卡二卡三 | 神马午夜第九 | 国产真实野战在线视频 | 91老色批网站免费看 | 躁天天躁中文字幕在线 | 九色综合久久综合欧美97 | 免费一级在线 | 1024国产手机视频基地 | 国产精品久久在线观看 | 分分精品| 免费在线欧美 | 777国产精品永久免费观看 | 久久新视频 | 天天草天天 | 五月婷婷七月丁香 | 亚洲手机看片 | 丁香婷婷色综合 | 丁香婷婷综合网 | 亚洲欧美日韩在线观看你懂的 | 欧美一区二区视频在线观看 | 六月婷操|