女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>樹莓派監視器開源項目

樹莓派監視器開源項目

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

資料介紹

描述

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

Breadboard Mates TIMI-130顯示器與 Breadboard Mates Pi 適配器一起,是該項目的完美選擇,因為它易于使用且啟動和運行所需的代碼簡單。

面包板伴侶 TIMI-130
?

Breadboard Mates 提供了一個 Python 庫,使 Python 編碼體驗變得輕松。

第 1 步:需要什么。

該項目需要以下內容。

硬件

軟件

第 2 步:樹莓派設置。

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

安裝 Python 庫和 Git 克隆項目文件需要 Internet 連接。

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

第 3 步:TIMI-130 設置。

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

poYBAGNYweiAUT97AAaYdV2kusI061.png
?

由于需要為狀態監視器配置 TIMI-130,因此需要將 Pi 適配器上的開關設置為 PROG。

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

pYYBAGNYwe2ANyAJAAZjZYfyNjY613.png
?

USB 電纜連接到 Mates Programmer 和 PC USB 端口。TIMI-130 現在已準備好安裝狀態監視器項目。

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

創建狀態監視器項目當您啟動 Mates Studio 時,系統會提示您選擇您的產品

pYYBAGNYwfCAOzVhAACkvhoAaTU576.png
?

單擊 TIMI-130,TIMI-130 的圖形表示將出現在右側面板上。

pYYBAGNYwfKASBpLAAC4NziNZSQ658.png
?

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

pYYBAGNYwfWAZwa-AAC84VQ1GYo868.png
?

點擊 CONFIRM 然后選擇Commander Environment

poYBAGNYwfiAYT2JAAD65YW72bc281.png
?

Commander 環境現在將打開。

poYBAGNYwfuAA33-AABuRGM3oC8411.png
?

點擊“+”瀏覽頁面庫。

然后從通知選項卡中選擇狀態和資源監視器,然后單擊確認。

poYBAGNYwf2AO2RLAAE_wOk6RWE514.png
?

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

pYYBAGNYwgCAJUuIAAGkKH26ylU803.png
?

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

poYBAGNYwgOABTesAAF8sS42j-E801.png
?

最后,單擊上傳按鈕將狀態監視器上傳到 TIMI-30。

poYBAGNYwgWABA-uAAAOc_F-EkI370.png
?

狀態監視器現在將顯示在 TIMI-130 上

poYBAGNYwgqAJ7KQAAPSfzxMruM355.png
?

現在可以從 Pi 適配器中移除 USB 引線和 Mates Programmer。Pi 適配器開關現在可以設置為 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 使用狀態、CPU 溫度和 RAM 使用狀態以及連接的 IP 地址和正常運行時間。

如果您希望狀態監視器作為后臺任務運行,只需在命令中添加“&”即可。

python3 ./BBMPiStatusMonitor.py &

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

通過在 Mates Studio 中創建新頁面并更改 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 代碼將創建一個 Mates Controller 實例并以 115200 波特率啟動它。

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

然后創建一組變量,這些變量將在每次更新各種狀態后設置。這使主循環能夠將剛剛讀取的狀態與其上一個狀態進行比較,然后僅在其值發生變化時才更新相應的小部件。

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

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

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)

可下載資源

以下是軟件應用程序、庫和已完成項目文件的鏈接。


評論

查看更多

下載排行

本周

  1. 1DD3118電路圖紙資料
  2. 0.08 MB   |  1次下載  |  免費
  3. 2AD庫封裝庫安裝教程
  4. 0.49 MB   |  1次下載  |  免費
  5. 3PC6206 300mA低功耗低壓差線性穩壓器中文資料
  6. 1.12 MB   |  1次下載  |  免費
  7. 4網絡安全從業者入門指南
  8. 2.91 MB   |  1次下載  |  免費
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下載  |  免費
  11. 6海川SM5701規格書
  12. 1.48 MB  |  次下載  |  免費
  13. 7H20PR5電磁爐IGBT功率管規格書
  14. 1.68 MB   |  次下載  |  1 積分
  15. 8IP防護等級說明
  16. 0.08 MB   |  次下載  |  免費

本月

  1. 1貼片三極管上的印字與真實名稱的對照表詳細說明
  2. 0.50 MB   |  103次下載  |  1 積分
  3. 2涂鴉各WiFi模塊原理圖加PCB封裝
  4. 11.75 MB   |  89次下載  |  1 積分
  5. 3錦銳科技CA51F2 SDK開發包
  6. 24.06 MB   |  43次下載  |  1 積分
  7. 4錦銳CA51F005 SDK開發包
  8. 19.47 MB   |  19次下載  |  1 積分
  9. 5PCB的EMC設計指南
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6HC05藍牙原理圖加PCB
  12. 15.76 MB   |  13次下載  |  1 積分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下載  |  免費
  15. 8蘋果iphone 11電路原理圖
  16. 4.98 MB   |  6次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分