資料介紹
描述
向任何 Raspberry Pi 項目添加狀態(tài)監(jiān)視器對于實時了解 CPU 在使用、溫度和 RAM 使用以及重要連接信息方面的執(zhí)行情況非常有用。如果超頻是您的事,那么這對于查看您的設(shè)置對 Pi 的影響并做出相應的調(diào)整非常有價值。
Breadboard Mates TIMI-130顯示器與 Breadboard Mates Pi 適配器一起,是該項目的完美選擇,因為它易于使用且啟動和運行所需的代碼簡單。
Breadboard Mates 提供了一個 Python 庫,使 Python 編碼體驗變得輕松。
第 1 步:需要什么。
該項目需要以下內(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 克隆項目文件需要 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)在已準備好安裝狀態(tài)監(jiān)視器項目。
需要Mates Studio來配置 TIMI-130,您可以從這里下載https://breadboardmates.com/products/mates-studio/
創(chuàng)建狀態(tài)監(jiān)視器項目當您啟動 Mates Studio 時,系統(tǒng)會提示您選擇您的產(chǎn)品。

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

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

點擊 CONFIRM 然后選擇Commander Environment 。

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

點擊“+”瀏覽頁面庫。
然后從通知選項卡中選擇狀態(tài)和資源監(jiā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,準備好接收來自 Pi 的命令。
第 4 步:安裝 Python 應用程序。
所有最近的 Raspberry Pi OS Distro 都預裝了 Python 3,因此我們可以使用 PIP 安裝所需的 Python 庫。
psutil庫可以通過運行安裝
pip3 install psutil
接下來,可以通過運行安裝 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 步:運行應用程序。
移動到 RPi-Status-Monitor 文件夾
cd RPi-Status-Monitor
然后運行應用程序
python3 ./BBMPiStatusMonitor.py
TIMI-130 應首先重置為屏幕外,然后開始顯示 CPU 使用狀態(tài)、CPU 溫度和 RAM 使用狀態(tài)以及連接的 IP 地址和正常運行時間。
如果您希望狀態(tài)監(jiān)視器作為后臺任務運行,只需在命令中添加“&”即可。
python3 ./BBMPiStatusMonitor.py &
享受您閃亮的 Raspberry Pi 顯示器。
通過在 Mates Studio 中創(chuàng)建新頁面并更改 Python 代碼以匹配所使用的任何新小部件,可以簡單地更改或改進該項目以獲得所需的外觀。唯一的限制是想象力。
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)建一個 Mates Controller 實例并以 115200 波特率啟動它。
mates = MatesController('/dev/ttyS0')
mates.begin(115200)
然后創(chuàng)建一組變量,這些變量將在每次更新各種狀態(tài)后設(shè)置。這使主循環(huán)能夠?qū)倓傋x取的狀態(tài)與其上一個狀態(tài)進行比較,然后僅在其值發(fā)生變化時才更新相應的小部件。
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)
可下載資源
以下是軟件應用程序、庫和已完成項目文件的鏈接。
- Pi Skype監(jiān)視器開源分享
- 無線串口監(jiān)視器開源分享
- 車庫門監(jiān)視器開源分享
- 蜂窩連接的蜂巢監(jiān)視器開源分享
- 管道監(jiān)視器開源設(shè)計
- CPU和RAM使用監(jiān)視器開源分享
- 小馬駒監(jiān)視器開源分享
- 生命數(shù)據(jù)鏈路監(jiān)視器開源項目
- 健康監(jiān)視器開源分享
- OctoPrint打印監(jiān)視器開源分享
- 樹莓派計算模塊開源項目
- 串行顯示LCD監(jiān)視器開源項目
- 電源監(jiān)視器開源項目
- 40v樹莓派電壓調(diào)節(jié)帽開源項目
- 樹莓派ATEM Tally開源項目
- ARM開發(fā)板與樹莓派的比較 561次閱讀
- 如何創(chuàng)建自定義監(jiān)視器? 656次閱讀
- 光纖應用中的監(jiān)視器校準 1083次閱讀
- 虹科工業(yè)樹莓派應用小技巧 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一個樹莓派擴展板 7460次閱讀
- 液晶監(jiān)視器的選購與保養(yǎng) 1077次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論