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

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

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

3天內不再提示

樹莓派新玩法:基于WiFi的CPU溫度與內存使用Web-GUI監控系統

上海晶珩電子科技有限公司 ? 2025-03-25 16:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Raspberry Pi是一款靈活強大的硬件平臺,適用于各種創意項目,而性能監控則是確保其高效運行的關鍵。本文介紹了一款基于NiceGUI和Python構建的圖形用戶界面(GUI),允許用戶通過WiFi網絡遠程監控Raspberry Pi的CPU溫度。該GUI可通過瀏覽器直接訪問,操作便捷且用戶友好。

NiceGUI是一個優秀的Python庫,能大幅簡化交互式現代網頁界面的開發流程。本項目還展示了通過降低學習曲線來快速設計其他GUI的捷徑。

我使用Windows 10電腦和Thonny編輯器,通過SSH在Raspberry Pi上進行遠程Python代碼開發。SSH(安全shell)是一種允許從其他設備(如Windows電腦)安全遠程訪問Raspberry Pi的協議。

b0fcc4f2-0954-11f0-9434-92fbcf53809c.jpg

準備工作

開始之前,請確保以下條件已滿足:

1.Raspberry Pi主板(運行Raspberry Pi OS或其他Linux系統)

2.已安裝"Thonny"集成開發環境及"Paramiko"插件

3.已安裝"NiceGUI"和"NiceGUI-HighCharts" Python包

Raspberry Pi是由Raspberry Pi基金會開發的低成本、高擴展性單板計算機,涵蓋從入門款(如Zero/Zero W)到高性能型號(如4代和5代)的豐富產品線(圖1)。

b1130172-0954-11f0-9434-92fbcf53809c.jpg

圖1:Raspberry Pi Zero Q開發板

1-請根據您的硬件型號下載對應的操作系統鏡像。建議使用"Raspberry Pi Imager"工具將系統燒錄至MicroSD卡(圖2)。通過讀卡器連接SD卡至電腦,配置主機名、用戶名、密碼并啟用SSH功能。推薦使用高速MicroSD卡(如32GB SanDisk Ultra Class10)。

b1340124-0954-11f0-9434-92fbcf53809c.jpg

圖2:Raspberry Pi Imager配置界面

將SD卡插入Raspberry Pi,上電啟動。等待系統初始化完成后,若未自動連接,請在WiFi列表中選擇您的網絡完成配置。

2-在Windows系統安裝最新版的Thonny Python IDE(當前為4.1.7)。通過"工具"菜單進入"管理插件",搜索安裝"Paramiko"包(圖3)。該插件是SSH通信的必要組件。

b144222a-0954-11f0-9434-92fbcf53809c.jpg

圖3:Thonny編輯器中安裝Paramiko插件

在"運行"菜單選擇"配置解釋器",從下拉菜單選擇"遠程Python 3 (SSH)"。輸入Raspberry Pi的IP地址(示例:192.168.100.28)、用戶名,點擊連接(圖4)。后續將提示輸入SSH密碼(即Imager中設置的憑據)。

b153c41e-0954-11f0-9434-92fbcf53809c.jpg

圖4:Thonny中配置SSH連接參數

提示:如何知道Raspberry Pi的IP地址?

在Raspberry Pi終端執行:

hostname -I

成功連接后Thonny的Shell窗口將顯示如圖5的SSH會話。

b1603938-0954-11f0-9434-92fbcf53809c.jpg

圖5:Python遠程連接建立

3-"NiceGui" 和 "NiceGui-Highcharts" 包默認未安裝在您的Raspberry Pi上。請在Raspberry Pi終端或SSH客戶端中輸入以下命令安裝缺失的包:

python3-m pip install niceguipython3 -m pip install nicegui-highcharts

提示:如何選擇SSH客戶端?

部分人(包括我)不喜歡直接操作Raspberry Pi硬件,更傾向于通過PC遠程管理。為此,您需要一個SSH客戶端。我推薦使用 Bitvise SSH Client(免費軟件),也可選擇PuTTY。輸入Raspberry Pi的IP地址和SSH憑據后,即可連接到Pi服務器(見圖6)。

b16c8918-0954-11f0-9434-92fbcf53809c.jpg

圖6:Bitvise客戶端與遠程終端

Code

以下代碼顯示全部Raspberry Pi的Python代碼:

import psutilimport timefrom nicegui import ui, runimport asyncioui.page_title(“Monitoring”)def get_cpu_temperature():temperature = psutil.sensors_temperatures()[“cpu_thermal”][0].currentreturn temperaturedef get_ram_info():# Get RAM informationram = psutil.virtual_memory()total_ram = ram.total / (1024.03) used_ram = ram.used / (1024.03)free_ram = ram.available / (1024.0**3)ram_usage_percent = ram.percentreturn total_ram, used_ram, free_ram, ram_usage_percentchart_options = {“chart”: {“type”: “gauge”,“plotBackgroundColor”: None,“plotBackgroundImage”: None,“plotBorderWidth”: 0,“marginTop”: 0,“plotShadow”: False,“height”: “80%”,},“title”: {“text”: None},“pane”: {“startAngle”: -90,“endAngle”: 89.9,“background”: None,“center”: [“50%”, “75%”],“size”: “100%”,},“yAxis”: {“min”: 0,“max”: 120,“tickPixelInterval”: 72,“tickPosition”: “inside”,“tickColor”: “#FFFFFF”, # Default background color“tickLength”: 20,“tickWidth”: 2,“minorTickInterval”: None,“labels”: {“distance”: 20, “style”: {“fontSize”: “20px”}},“lineWidth”: 0,“plotBands”: [{“from”: 0,“to”: 60,“color”: “#55BF3B”, # green“thickness”: 20,},{“from”: 60,“to”: 80,“color”: “#DDDF0D”, # red“thickness”: 20,},{“from”: 80,“to”: 120,“color”: “#DF5353”, # yellow“thickness”: 20,},],},“series”: [{“name”: “Speed”,“data”: [80],“tooltip”: {“valueSuffix”: ” C”},“dataLabels”: {“format”: “{y} C”,“borderWidth”: 0,“color”: “#333333”, # Default title color“style”: {“fontSize”: “26px”},},“dial”: {“radius”: “80%”,“backgroundColor”: “gray”,“baseWidth”: 12,“baseLength”: “0%”,“rearLength”: “0%”,},“pivot”: {“backgroundColor”: “gray”, “radius”: 6},}],“credits”: {“enabled”: False},}with ui.row().classes(“justify-center w-full”):mylabel = ui.label(“RAM Usage”).style(“font-size: 25px”)progress_bar = ui.linear_progress().style(“height: 40px;”)mylabel = ui.label(“CPU Temperature”).style(“font-size: 25px”)mygauge = ui.highchart(chart_options).classes(“w-full”)async def compute():while True:mygauge.options[“series”][0][“data”][0] = int(get_cpu_temperature())total, used, free, usage_percent = get_ram_info()progress_bar.value = f”{used: .2f}”mygauge.update()await asyncio.sleep(5)ui.timer(0, compute)ui.run()

導入

圖7展示了代碼中的導入部分:

b179740c-0954-11f0-9434-92fbcf53809c.jpg

圖7:代碼的導入部分

psutil:用于訪問系統級信息,如CPU溫度、內存使用量、磁盤I/O等。

time:提供時間處理函數

nicegui:基于Web技術的GUI框架,允許用Python快速構建跨平臺界面。

asyncio:支持異步編程范式,實現非阻塞I/O操作。

函數

圖8顯示函數部分:

b1882fd8-0954-11f0-9434-92fbcf53809c.jpg

圖8:函數部分代碼

get_cpu_temperature():通過傳感器獲取CPU溫度

get_ram_info():收集系統的內存信息,包括總內存、已用內存、空閑內存和使用百分比,然后把這些值轉換成GB單位,以便更易讀,在Python中可以一次性返回多個變量

Highcharts配置

圖 9,展示了一個“chart_options”字典,用來配置儀表圖,yAxis 的 min 和 max 值分別定義儀表的最小值和最大值

b1929996-0954-11f0-9434-92fbcf53809c.jpg

圖9:儀表圖被配置為顯示CPU溫度

用戶界面設計

圖10 演示了使用 ui.row() 創建的水平布局容器,用于組織以下UI元素:

b1a10882-0954-11f0-9434-92fbcf53809c.jpg

圖10:用戶界面設計

異步數據更新機制

compute()函數在一個循環中運行,每5秒更新一次儀表和進度條。儀表的更新是通過修改mygauge.options['series'][0]['data'][0]實現的,而進度條可能也是類似的機制。還可以使用UI定時器來完成同樣的工作。

圖11顯示這個函數:

b1ad31e8-0954-11f0-9434-92fbcf53809c.jpg

圖11:compute()函數,使用異步數據更新

定時器和事件循環

設置一個計時器來重復調用“compute()”函數。“ui.run()”啟動NiceGUI服務器,它在web界面上托管儀表板。圖12顯示了這一部分:

b252487c-0954-11f0-9434-92fbcf53809c.jpg

圖12: 定時器和事件循環

當您運行該腳本時,NiceGUI web服務器啟動,并且可以通過web瀏覽器訪問儀表板。儀表板的地址是“http://:8080”,在我的例子中地址如下:“http://192.168.100.28:8080”。最后,您應該將Python文件傳輸到您的Pi板,然后您可以通過“http://localhost:8080”并通過來自其他設備的IP地址來訪問GUI儀表板。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 監控系統
    +關注

    關注

    21

    文章

    4058

    瀏覽量

    181808
  • GUI
    GUI
    +關注

    關注

    3

    文章

    677

    瀏覽量

    40994
  • 樹莓派
    +關注

    關注

    121

    文章

    1978

    瀏覽量

    107215
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    搭建樹莓網絡監控系統:頂級工具與技術終極指南!

    。安裝樹莓網絡監控系統有諸多益處。樹莓具備以太網接口,還內置了Wi-Fi功能,擁有足夠的計算
    的頭像 發表于 05-14 15:32 ?643次閱讀
    搭建<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>網絡<b class='flag-5'>監控</b><b class='flag-5'>系統</b>:頂級工具與技術終極指南!

    樹莓打造視頻監控機器人Verybot

    `在網上有看到一個基于樹莓 ( raspberry pi ) 的視頻監控機器人平臺 Verybot ,順帶把這個機器人的一些圖片、視頻、設計思路進行公開,讓大家都參與到樹莓
    發表于 09-18 15:33

    自動網絡上傳的樹莓監控相機

    的,執行以下功能:啟動相機,捕捉靜止圖像檢查連接到互聯網自動上傳圖片到WebAPI如果連接失敗,圖像被緩存到本地文件系統保存的圖像將在下一次程序啟動上傳第一步:準備本教程要求你有對以下常識的了解:樹莓
    發表于 01-04 15:45

    樹莓監控CPU溫度

    /thermal/thermal_zone0/temp得到的數值除以100就是,以攝氏度為單位的溫度。恩一看嚇一跳,原來已經證明高溫啦。那怎么辦呢?歡迎看我的貼樹莓自動散熱風扇
    發表于 01-08 18:17

    樹莓可以做什么?

    最大的一點就是可擴展性很強,用戶可以在此基礎上加上各種傳感器。比如利用溫度傳感器來實現監控溫度,單純的檢測溫度會比較枯燥。讓我們來改造一下,把溫度
    發表于 05-02 17:20

    樹莓超頻設置的步驟

    measure_clock armCTRL-C 可退出監控溫度監控建議觀察 CPU溫度,如果溫度
    發表于 12-16 16:48

    教你做一個用嵌入式linux開發板和web端來實現的視頻監控系統

    node.js html QT硬件:開發板:ARM開發板、樹莓、jetson nano...等跑linux系統的開發板,連接一個攝像頭;電腦:Web前端,可查看
    發表于 11-05 07:38

    基于嵌入式樹莓的遠程溫度監測系統設計

    摘 要:該文設計了基于嵌入式樹莓為核心控制器的遠程溫度監測系統,并通過溫度傳感器DS18B20獲得數據加以融合以及模糊算法對其進行處理,用
    發表于 12-20 06:56

    樹莓3wifi配置_樹莓3開啟wifi熱點_樹莓3的wifi使用教程

    樹莓3在2016年2月29號正式發布了,樹莓3幾乎和樹莓2代板型一致,大外觀沒什么變化小電
    發表于 12-08 11:47 ?3.1w次閱讀

    樹莓有哪些意想不到的玩法

    市場上嬰兒監視器種類繁多,但是在樹莓的幫助下,你可以制作專屬的嬰兒監視器,該監視器擁有一些獨一無二的功能,如運動監測、溫度監控,并且可以將畫面實時傳輸至筆記本電腦或手機。 2 創建
    的頭像 發表于 05-18 09:46 ?7102次閱讀

    畢設教程:基于嵌入式Linux和Web實現的視頻監控系統(Arm/樹莓/jetson)

    node.js html QT硬件:開發板:ARM開發板、樹莓、jetson nano...等跑linux系統的開發板,連接一個攝像頭;電腦:Web前端,可查看
    發表于 11-02 14:21 ?14次下載
    畢設教程:基于嵌入式Linux和<b class='flag-5'>Web</b>實現的視頻<b class='flag-5'>監控</b><b class='flag-5'>系統</b>(Arm/<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>/jetson)

    樹莓gui開發用什么ide

    樹莓(Raspberry Pi)是一款功能強大的微型計算機,可以運行多種操作系統,如Raspbian、Ubuntu等。在樹莓派上進行GUI
    的頭像 發表于 08-30 16:49 ?1726次閱讀

    樹莓4B的WiFi配置過程

    和需求。 一、準備工作 在開始配置WiFi之前,請確保你已經擁有了以下物品: 樹莓4B 適用的電源適配器 裝有Raspbian或其他兼容操作系統的SD卡 無線網絡名稱(SSID)和密
    的頭像 發表于 08-30 17:10 ?3415次閱讀

    樹莓GUI應用開發:從零到炫酷的魔法之旅!

    各位樹莓的粉絲們!今天我要帶你們踏上一段神奇的旅程——探索樹莓派上GUI應用的無限可能!你是不是覺得樹莓
    的頭像 發表于 04-04 09:03 ?453次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>GUI</b>應用開發:從零到炫酷的魔法之旅!

    樹莓小技巧:無需鍵盤或顯示器,如何通過WiFi設置樹莓

    樹莓是一款小巧便攜的USB供電計算機,可以隱藏起來用于小型項目,如網絡服務器或家庭自動化。通常,設置樹莓需要鍵盤和顯示器來編輯和查看樹莓
    的頭像 發表于 06-26 15:41 ?176次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>小技巧:無需鍵盤或顯示器,如何通過<b class='flag-5'>WiFi</b>設置<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>?