資料介紹
描述
向任何 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)行所需的代碼簡單。
Breadboard Mates 提供了一個(gè) Python 庫,使 Python 編碼體驗(yàn)變得輕松。
第 1 步:需要什么。
該項(xiàng)目需要以下內(nèi)容。
硬件
- 樹莓派 3b 型或樹莓派 4 型
- 面包板伴侶 TIMI-130
- 面包板伴侶 Pi 適配器
- 微型 SD 卡(適用于樹莓派操作系統(tǒng))
軟件
- 樹莓派操作系統(tǒng)
- Python3(內(nèi)置于樹莓派操作系統(tǒng))
- 面包板伴侶工作室
第 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,如下所示。

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

將 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)品。

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

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

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

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

點(diǎn)擊“+”瀏覽頁面庫。
然后從通知選項(xiàng)卡中選擇狀態(tài)和資源監(jiān)視器,然后單擊確認(rèn)。

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

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

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

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

現(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)目文件的鏈接。
- Pi Skype監(jiān)視器開源分享
- 無線串口監(jiān)視器開源分享
- 車庫門監(jiān)視器開源分享
- 蜂窩連接的蜂巢監(jiān)視器開源分享
- 管道監(jiān)視器開源設(shè)計(jì)
- CPU和RAM使用監(jiān)視器開源分享
- 小馬駒監(jiān)視器開源分享
- 生命數(shù)據(jù)鏈路監(jiān)視器開源項(xiàng)目
- 健康監(jiān)視器開源分享
- OctoPrint打印監(jiān)視器開源分享
- 樹莓派計(jì)算模塊開源項(xiàng)目
- 串行顯示LCD監(jiān)視器開源項(xiàng)目
- 電源監(jiān)視器開源項(xiàng)目
- 40v樹莓派電壓調(diào)節(jié)帽開源項(xiàng)目
- 樹莓派ATEM Tally開源項(xiàng)目
- ARM開發(fā)板與樹莓派的比較 561次閱讀
- 如何創(chuàng)建自定義監(jiān)視器? 656次閱讀
- 光纖應(yīng)用中的監(jiān)視器校準(zhǔn) 1083次閱讀
- 虹科工業(yè)樹莓派應(yīng)用小技巧 700次閱讀
- 如何通過Raspberry Pi設(shè)置CE電流監(jiān)視器 2342次閱讀
- KUKA C4如何使用診斷監(jiān)視器? 3877次閱讀
- dfrobotUSB/TTL樹莓派GPS模塊簡介 3425次閱讀
- 淺談香蕉派與樹莓派的不同 2.5w次閱讀
- 解答樹莓派如何開啟root賬戶 6488次閱讀
- 樹莓派有什么用_樹莓派能用來做啥_樹莓派新手入門教程 3.3w次閱讀
- 樹莓派安裝系統(tǒng)_樹莓派系統(tǒng)安裝教程 1.3w次閱讀
- 樹莓派用什么語言編程_樹莓派python編程詳解 3.8w次閱讀
- 樹莓派gpio接口及編程方法 6.5w次閱讀
- DIY一個(gè)樹莓派擴(kuò)展板 7460次閱讀
- 液晶監(jiān)視器的選購與保養(yǎng) 1077次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論