站内搜索
发作品签到
基于ESP32的桌面仪表盘
专业版

基于ESP32的桌面仪表盘

简介

使用立创开发板ESP32S3R8N8。可实时显示电脑各项性能指标,还有温湿度检测、低功耗睡眠、自动亮度、OTA升级等功能。菜单基于WouoUI二次开发,丝滑流畅。

简介:使用立创开发板ESP32S3R8N8。可实时显示电脑各项性能指标,还有温湿度检测、低功耗睡眠、自动亮度、OTA升级等功能。菜单基于WouoUI二次开发,丝滑流畅。
基于ESP32物联网征集令

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2024-08-12 18:51:40更新时间:2024-08-23 13:38:47

描述

基于ESP32的桌面仪表盘

0 项目开源地址

https://github.com/vrxiaojie/ESP32-desktop-dashboard
https://oshwhub.com/vrxiaojie/esp32-based-desktop-dashboard

1 简介

使用立创开发板ESP32S3R8N8。

可实时显示电脑各项性能指标,还有温湿度检测、低功耗睡眠、自动亮度、OTA升级等功能。菜单基于WouoUI二次开发,丝滑流畅。

2 硬件

硬件部分,需要用到的器件如下

名称数量
立创ESP32-S3R8N8开发板1
0.96寸OLED屏 128*64分辨率1
BH1750模块1
SHT40模块(可选)1

3 软件

3.1 电脑端Python程序

import json
import psutil
import GPUtil
import random
import time
import paho.mqtt.client as mqtt_client


def PC_Info():
    msg = dict()
    msg["CPU_usage"] = str(psutil.cpu_percent(interval=1))
    msg["CPU_Frequency"] = str(round(psutil.cpu_freq().current / 1000.0, 1))
    msg["RAM_usage"] = str(psutil.virtual_memory().percent)

    gpu = GPUtil.getGPUs()
    for gpu in gpu:
        msg["GPU_temp"] = str(gpu.temperature)
        msg["GPU_memory"] = str(gpu.memoryUsed)

    msg = json.dumps(msg, ensure_ascii=False)
    # print(msg)
    return msg


## 配置MQTT服务器
host = '192.168.50.111'
port = 1883
## 配置MQTT客户端
topic = "/python/esp32_mqtt"  #创建话题,可以自定义
client_id = f'python-mqtt-{random.randint(0, 100)}'
username = 'python'
password = '123456'


def publish(client, msg):
    result = client.publish(topic, msg)


def connect_mqtt():
    def on_connect(client, userdata, flags, rc):
        if rc == 0:
            print("Connected to MQTT Broker!")
        else:
            print("Failed to connect, return code %d\n", rc)

    client = mqtt_client.Client(client_id)
    client.on_connect = on_connect
    client.username_pw_set(username, password)
    client.connect(host=host, port=port)
    return client


def run():
    client = connect_mqtt()
    client.loop_start()
    while True:
        msg = str(PC_Info())
        publish(client, msg)
        time.sleep(0.5)


if __name__ == '__main__':
    run()

3.2 固件烧录

目前有两种方法获取固件:

  1. 从GitHub的Release文件获取.bin文件
  2. 将GitHub仓库clone下来,手动配置PlatformIO环境,并编译

烧录方法:

  1. 用Type-C线将开发板与电脑相连接,使用乐鑫官方提供的烧录工具https://www.espressif.com.cn/zh-hans/support/download/other-tools
  2. 用Type-C线将开发板与电脑相连接,在PlatformIO中下载固件到设备
  3. (仅成功烧录一遍后使用)在菜单中选择OTA升级,电脑连接设备WIFI,打开网页192.168.4.1,选择在Release下载的.bin文件升级

4 3D外壳

使用立创EDA绘制的3D外壳,具体请在开源链接中用编辑器打开查看

建议使用尼龙材质,有点小贵,但外观质感极佳

5 外观展示

IMG_20240822_170629.jpg

6 致谢

UI基于WouoUI修改,原作者仓库:https://github.com/RQNG/WouoUI

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
ESP32桌面仪表盘.mp4
11
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航