Skip to content

About

USB副屏小工具是一款专为“USB小屏幕0.96寸USB直插式电脑监控小屏 显示程序”等设备打造的全能型桌面伴侣,它以“一屏百变”为核心,集动图播放、大字时钟、屏幕镜像、系统监控、自定义模板等十二种显示模式于一身,并内置防烧屏保护与MiniMark自由编程引擎,让用户无论小白还是极客,都能轻松将闲置小屏变成实时数据看板、炫酷桌搭或生产力监控仪表。

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

70 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSU2_MINI_V2

整合 https://github.com/dimangopie/just-fun-for-MSU2_MINI 和 https://github.com/dchg43/msu2_mini 的程序。

因为新买的“USB小屏幕0.96寸USB直插式电脑监控小屏”,没有源码,只有exe程序。

https://github.com/dimangopie/just-fun-for-MSU2_MINI 花屏,但是修改一下,也能正常显示,但是退出的时候就一直调频率,退不出来。

https://github.com/dchg43/msu2_mini 能连接,有显示,就是感觉缺点啥。

所以也懒得搞为什么,直接整合一起,再优化,增加一些功能。

等测试好再上传源码。

2026-08-11


**软件截图 v4.5.10

image image image image image image image image image image image image image image image image

📖 MSU2_MINI_V2 副屏工具

从零基础到高级应用完全指南

作者:杜玛 版权:© 永久 杜玛,保留所有权利 开源许可证:MIT 项目地址:https://github.com/duma520/MSU2_MINI_V2 问题报告:请通过 GitHub Issues 提交


📜 文档说明

  • 目标读者:本指南旨在服务所有对 USB 副屏感兴趣的用户,无论您是:
    • 普通用户:希望为自己的电脑增添一个炫酷、实用的信息显示小屏幕。
    • 电脑发烧友/DIY爱好者:热衷于监控硬件状态、定制个性化显示内容。
    • 开发者/程序员:希望通过 API 将副屏集成到自己的软件或自动化流程中。
  • 主要内容:本指南将带您了解什么是 MSU2_MINI_V2 副屏工具,从零开始完成硬件连接、软件安装与配置,深入探索各项功能,并展示如何通过 API 进行高级开发,最后提供详细的版本更新记录和常见问题解答。

📌 一、 项目概览与授权许可

1.1 这是什么?

MSU2_MINI_V2 是一款功能强大的 USB 副屏工具。它可以将一块基于特定芯片(如 CH552/CH554)的小型 LCD 屏幕,通过 USB 连接到您的电脑,变成一个可以显示各种信息的智能副屏。

您可以用它来:

  • 📊 监控系统状态:实时查看 CPU/GPU 占用率、温度、内存使用率、网络上传/下载速度、磁盘读写速度等。
  • ⏰ 显示信息:展示时间、日历、天气、股票/加密货币行情、微博热搜、番茄钟倒计时等。
  • 🖼️ 内容展示:显示图片、GIF 动图、自定义文本(如跑马灯)、屏幕镜像、相机画面等。
  • 🚀 开发与扩展:通过内置的 Web API,您可以编写程序任意控制副屏显示任何内容。

1.2 授权许可与使用须知

本项目基于 MIT 开源许可证 发布,这意味着:

  • ✅ 您可以自由使用、修改、复制、分发本软件,包括用于商业用途。
  • ✅ 您只需在软件或文档的副本中保留原始的版权声明和许可声明。
  • ⚠️ 本项目不提供任何形式的担保或技术支持责任。使用本软件的风险由您自行承担。
  • 📧 我们不提供私人的邮箱支持。所有问题、建议和讨论,请通过项目 GitHub 仓库的 Issues 板块进行。这样可以让所有用户都能看到解决方案,共同受益。
  • ℹ️ 本工具整合自其他优秀的开源项目(dimangopie/just-fun-for-MSU2_MINI 与 dchg43/msu2_mini),在此表示感谢!

🚀 二、 快速入门指南(面向新手)

如果您刚接触 USB 副屏,请按照以下步骤操作,最快 5 分钟即可点亮屏幕!

2.1 准备工作 (硬件篇)

您需要准备以下硬件:

  1. 一块 MSU2_MINI 兼容的 USB 副屏:通常是基于 CH552/CH554 芯片的 160x80 或 240x240 分辨率的 LCD 屏幕。市面上常见的“USB 小屏幕”或“MSU2_MINI”设备大多支持。
  2. 一台运行 Windows 的电脑:目前软件主要支持 Windows 操作系统。
  3. 一根 Micro-USB 数据线:用于连接副屏和电脑。

连接步骤:

  • 将副屏通过 Micro-USB 数据线连接到电脑的 USB 接口。
  • Windows 系统会自动识别并安装驱动程序(通常会识别为 COM 端口)。
  • 您可以在设备管理器的“端口 (COM 和 LPT)”中看到一个新的串行设备,例如 USB-SERIAL CH340 (COM3)。请记住这个端口号(如 COM3),后面可能需要用到。

2.2 软件安装与首次运行

您不需要复杂的安装步骤,下载即用。

  1. 下载程序:从项目的 GitHub 仓库 Releases 页面下载最新版本的 MSU2_MINI_V2.exe 文件。
  2. 运行程序:双击运行下载的 .exe 文件。
  3. 自动连接:程序启动后,会自动扫描并连接您的副屏设备。如果成功,您会在主界面的“设备信息”状态栏看到“设备已连接”,并且副屏上会开始显示默认内容(通常是屏幕镜像或系统监控)。
  4. 首次配置:您可以根据需要,在主界面上选择不同的显示页面、调整颜色等。

💡 小提示:

  • 如果程序未能自动连接,请检查“设为自动连接”复选框是否勾选,或点击“刷新”按钮。
  • 某些硬件传感器(如 CPU 温度)可能需要以 管理员身份 运行程序才能读取。
  • 运行时如果提示缺少 .dll 文件,通常需要安装 Visual C++ Redistributable。

🎮 三、 核心功能详解(面向所有用户)

这是您与副屏交互的主要界面,功能分为以下几个核心板块:

3.1 主控页面 (中控)

这是程序的主界面,在这里您可以控制副屏显示什么。

  • 设备选择:如果您连接了多个副屏,可以通过顶部的下拉菜单在不同的屏幕间切换,对它们进行独立控制。
  • 页面切换:
    • 通过 “▲上翻” 和 “▼下翻” 按钮或右侧的 “页面” 下拉菜单,您可以切换副屏的显示内容。
    • 可用的页面非常丰富,包括:
      • 系统监控:CPU/内存/磁盘/电池使用率、网络流量、磁盘读写速度。
      • 硬件监控:CPU/GPU 温度、风扇转速、电压、功耗等(需管理员权限)。
      • 信息显示:时间、世界时钟、农历、天气、加密货币行情、微博热搜、纪念日/待办事项。
      • 娱乐媒体:GIF 动图、图片浏览、屏幕镜像、相机视频、文字跑马灯。
      • 自定义:提供强大的自定义显示页面,您可以通过模板编辑任意内容。
  • 显示方向:通过“方向”下拉菜单,您可以调整副屏的显示方向(正向/90°/180°/镜像等),方便您以任何角度摆放屏幕。
  • 文字颜色:通过 R/G/B 滑块或预设颜色下拉菜单,您可以改变“时间”、“系统监控”等页面文字的颜色。
  • 屏幕镜像:在“屏幕镜像窗口”下拉列表中,您可以选择要将哪个程序窗口(或整个桌面)投射到副屏上。
  • 相机视频:在“相机名称”下拉列表中,您可以选择已连接的摄像头,将视频画面显示在副屏上。
  • 实时预览:主控页面的下方会实时显示副屏上的画面内容,方便您在不看副屏的情况下了解其显示状态。
  • 烧写区:高级功能,用于将固件、图片、动图等内容直接写入屏幕的 Flash 存储器中,使其在脱机或特定模式下也能显示。新手请谨慎操作。

3.2 设置中心

这里是深度定制副屏功能的“大本营”。

  • 通用设置:
    • 防烧屏:开启后,屏幕显示内容会每隔 30 秒进行微小的像素偏移,可以有效防止 OLED 屏幕长时间显示静态画面而“烧屏”。
    • 开启实时预览:控制主控页面的预览图是否显示。
    • 显示信息框:控制主界面底部的日志信息框是否显示。
    • 能效模式:用于优化 CPU 占用率。1 级能效最省资源,适合 24 小时挂机;级别越高,刷新率越高,性能越好,但资源消耗也更大。
    • 开机自启动:设置程序是否随 Windows 系统自动启动。
    • 界面语言:支持中文和英文切换。
  • 自动化:
    • 自动翻页轮播:开启后,副屏会像幻灯片一样在您选定的页面间自动切换。
    • 无操作息屏超时:设置无人操作时,副屏自动息屏的时间,以节省屏幕寿命和资源。
  • 按键:副屏上的物理按键(或触摸区域)可以自定义动作:支持单击、双击、长按,分别映射为“下翻页”、“上翻页”或“切换方向”。
  • 页面内容:您可以在这里为不同的页面进行详细配置。
    • 跑马灯:设置文字、字号、速度、颜色和背景色。
    • 天气与行情:输入城市名(如“北京”或“Beijing”)和加密货币交易对(如 BTCUSDT)。
    • 热搜:配置显示的条数、字体大小、滚动速度和刷新间隔。
    • 时间:设置番茄钟时长和世界时钟的时区列表。
    • 纪念日/待办:直接编辑您的纪念日和待办事项列表。
  • 监控显示:对系统监控类页面进行微调。
    • 可以设置进程 TOP 的显示数量。
    • 配置硬件详情页要显示哪些传感器(温度、风扇、电压等)。
    • 仪表盘可以自由开关 CPU、内存、GPU、网络等项目的显示,并自定义每个项目的颜色。
    • 磁盘读写和网络流量也提供了“经典”、“经典2”、“网速样式”、“自定义”等多种显示风格和颜色方案。
  • 配色方案:软件内置了超过 260 种精心设计的配色方案(马卡龙、莫兰迪、赛博朋克等)。您可以选择一套整体应用,也可以在设置各监控项颜色时,从不同方案中“混搭”颜色,打造独一无二的视觉风格。您也可以将自己搭配好的颜色组合保存为新方案。
  • API接入:这里是高级功能的核心,用于开启和配置外部控制接口。我们将在后面详细说明。
  • Webhook:用于和聊天机器人(如 Synology Chat)进行联动,实现消息收发。我们将在后面详细说明。
  • 数据管理:可以将您当前的所有配置(包括页面、颜色、API 设置等)导出为 .json 文件进行备份,或从备份文件中导入配置。

3.3 设备信息

此页面显示副屏硬件的详细信息,包括:

  • 连接信息:端口、序列号、VID/PID、固件版本等。
  • SFR寄存器:设备内部的寄存器状态(专业信息)。
  • Flash芯片与分区:显示 Flash 存储器的布局和使用情况。
  • 系统信息:显示电脑的 OS、CPU、内存等基本信息。

3.4 电视墙

如果您连接了 多个副屏,这个功能将非常炫酷!

  • 显示墙:在一个大窗口中以网格形式(行×列)同时显示所有已连接副屏的实时画面。
  • 显示墙设置:您可以根据副屏数量,快速选择横向或纵向布局,并自由调整行数和列数。

💻 四、 高级应用:API 与协议接入指南(面向开发者)

这是 MSU2_MINI_V2 最强大的部分!它提供了一套完整的本地 API 接口,让您可以通过编程的方式,完全控制副屏的显示内容。这意味着您可以把它无缝集成到您的软件、游戏、自动化脚本或任何其他应用中。

4.1 核心概念

  • API 服务器:软件启动后,会在您的电脑上开启一个本地的 Web 服务器(默认地址为 http://127.0.0.1:8632)。所有控制指令都是通过向这个服务器发送 HTTP 请求来完成的。
  • 命令格式:大部分 API 接口接受 JSON 格式的请求体。
  • 统一命令:除了 HTTP,软件还支持通过 WebSocket、TCP、UDP、gRPC、MQTT 等多种协议发送命令,格式与 HTTP 完全一致,您可以按需选择。
  • 多屏支持:几乎所有命令都支持一个可选的 device 参数,用于指定目标屏幕(如 "device": "屏幕2")。如果不指定,则默认控制当前选中的屏幕。

4.2 入门示例:用 curl 发送第一条命令

curl 是一个在命令行中发送 HTTP 请求的常用工具。

示例:显示“Hello, World!”文本

  1. 确保副屏工具已开启并且 API 服务器已运行(默认勾选“启用 API 投屏服务器”)。
  2. 打开 Windows 的命令提示符 (CMD) 或 PowerShell。
  3. 输入以下命令:
curl -X POST http://127.0.0.1:8632/api/text -H "Content-Type: application/json" -d "{\"text\":\"Hello, World!\"}"

参数解释:

  • -X POST:指定使用 POST 请求方法。
  • http://127.0.0.1:8632/api/text:API 的地址和端点(/api/text 是文本投屏的接口)。
  • -H "Content-Type: application/json":告诉服务器我们发送的是 JSON 数据。
  • -d "{\"text\":\"Hello, World!\"}":要发送的 JSON 数据,text 字段就是要显示的文字。

您会看到:副屏上立刻会显示“Hello, World!”的文字。

4.3 常用 API 接口速查表

功能 端点 (Endpoint) 方法 请求示例 (JSON) 说明
文本投屏 /api/text POST {"text": "你好", "color": "#ff0000", "font_size": 20} 显示文本,可指定颜色、字号、对齐方式等。
图片投屏 /api/screen POST {"image": "base64编码的图片数据"} 支持 base64 图片或原始 RGB888 数据。
清屏 /api/clear POST {} 清空投屏内容。
停止投屏 /api/stop POST {"device": "屏幕1"} 停止投屏并返回上一级页面。
切换页面 /api/page POST {"page": "系统监控"} 切换到指定的预定义页面。
窗口投屏 /api/mirror POST {"hwnd": 123456} 将指定窗口句柄的窗口内容投射到副屏。
获取状态 /api/status GET 无 获取程序运行状态、当前页面、设备连接情况等。
获取截图 /api/screenshot GET 无 获取副屏当前显示画面的 PNG 和 RGB888 数据。
获取协议列表 /api/protocols GET 无 获取所有可用的接入协议和地址。

💡 小提示:您可以在浏览器中访问 http://127.0.0.1:8632/api/openapi.json 查看完整的、机器可读的 OpenAPI 3.0 规范文档,这有助于您使用代码自动生成客户端。

4.4 进阶接入协议

除了 HTTP,您还可以选择其他协议以获得更高性能或特定场景的集成。

  • WebSocket (/ws):用于建立持久连接,可以非常高效地以二进制格式(原始 RGB888 数据)传输视频流或高频更新的图像。
  • TCP Socket (端口 +1):发送 JSON 格式的命令,每行一个命令,适合用低级语言或网络工具控制。
  • UDP (端口 +2):发送 JSON 格式的数据报,适合无需确认响应的高速、低开销场景。
  • gRPC (端口 +4):高效的 RPC 框架,提供 Execute(执行命令)和 WatchFrame(订阅屏幕帧流)两个服务。适合微服务或高性能应用集成。
  • MQTT:作为 MQTT 客户端连接外部 Broker,订阅命令主题执行操作,并发布状态和屏幕帧。非常适合 IoT 或分布式系统集成。
  • 热文件夹:将图片或文本文件放入程序目录下的 hotfolder 文件夹,即可自动投屏,实现“零代码”控制。

4.5 实战案例:构建一个简单的投屏脚本 (Python)

以下是一个用 Python 编写的完整示例,演示了如何连接 API 并执行一系列操作。

import requests
import base64
import json
import time

# --- 配置 ---
API_URL = "http://127.0.0.1:8632"
# 假设我们想控制第二个屏幕
TARGET_DEVICE = "屏幕2"

# --- 1. 准备一张图片 (这里示例从文件读取) ---
def encode_image_to_base64(image_path):
    with open(image_path, "rb") as f:
        return base64.b64encode(f.read()).decode('utf-8')

# --- 2. 发送命令的通用函数 ---
def send_command(endpoint, data=None, method='POST'):
    url = f"{API_URL}/{endpoint}"
    headers = {'Content-Type': 'application/json'} if data else {}
    
    # 如果 data 中有 device,则用于控制多屏
    if data and 'device' not in data:
        data['device'] = TARGET_DEVICE
        
    try:
        if method == 'POST':
            response = requests.post(url, headers=headers, data=json.dumps(data) if data else None)
        else:
            response = requests.get(url)
        response.raise_for_status()  # 检查HTTP错误
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"请求失败: {e}")
        return None

# --- 主流程 ---
if __name__ == "__main__":
    print("=== MSU2_MINI API 控制示例开始 ===")
    
    # 1. 先获取当前状态
    print("1. 获取程序状态...")
    status = send_command('api/status', method='GET')
    if status:
        print(f"   当前页面: {status.get('page')}")

    # 2. 投屏一段文本
    print("2. 投屏文本信息...")
    text_payload = {
        "text": "Hello from Python!",
        "color": "#00ff00",
        "font_size": 20,
        "background": "#000000"
    }
    result = send_command('api/text', text_payload)
    print(f"   结果: {result.get('ok')}")

    # 3. 等待2秒后,切换到一个监控页面
    time.sleep(2)
    print("3. 切换到系统监控页面...")
    result = send_command('api/page', {"page": "系统监控"})
    print(f"   结果: {result.get('ok')}")

    # 4. 再等3秒后,投屏一张图片
    time.sleep(3)
    print("4. 投屏图片...")
    # 请确保在同级目录下有一张名为 'test.png' 的图片
    image_b64 = encode_image_to_base64('test.png')
    image_payload = {
        "image": image_b64,
        "fit": "contain"  # 可选: contain, stretch, cover
    }
    result = send_command('api/screen', image_payload)
    print(f"   结果: {result.get('ok')}")

    print("=== 控制示例结束 ===")

4.6 Webhook 对接:让副屏与聊天机器人互动

Webhook 功能让您的副屏能成为聊天机器人(如 Synology Chat、Discord、钉钉)的扩展终端。

  • 接收消息(副屏显示):在聊天机器人中设置一个“发出的 Webhook”,将其回调 URL 设置为 http://127.0.0.1:8633/webhook/incoming。当有人@机器人或触发关键词时,机器人会把消息转发到这个地址,您的副屏就会自动弹出并显示这条消息!
  • 发送消息(副屏推送):您可以在“设置 -> Webhook”中填写“传入的 Webhook” URL。然后,您可以通过 API(POST /api/webhook/send)或直接在设置页面点击“测试发送”按钮,让副屏把消息推送到聊天频道。

📜 五、 版本更新历史(简明版)

这里记录了本项目从诞生到当前版本的所有重要更新,方便您了解软件的发展脉络。

v5.x 系列 (当前与未来)

  • v5.10.0 (2026-08-27): 🚀 新增 MQTT 协议接入!可以通过标准 MQTT Broker 收发命令、状态和屏幕帧,进一步拓宽集成场景。
  • v5.9.0 (2026-08-27): 🚀 新增 gRPC 协议接入!提供高效、类型安全的 Execute 和 WatchFrame 服务,方便微服务集成。
  • v5.8.0 (2026-08-27): 🚀 新增 Webhook 对接!实现与聊天机器人的双向通信,副屏可接收并显示消息,也可发送消息。
  • v5.7.0 (2026-08-27): ⚡️ 新增 “能效模式” (1~5级),优化资源占用,长期挂机更省电; 静态页不重复刷新 降低 CPU 使用率;API 附加协议支持按需开启。
  • v5.6.0 (2026-08-19): 🐛 修复了编译后 exe 无法启动的严重问题,现在打包更稳定。
  • v5.5.0 (2026-08-18): 🐛 修复了电视墙布局在设备掉线/重连后被自动重置的 Bug。
  • v5.4.0 (2026-08-18): ✨ 优化了配色方案编辑对话框;修复了多屏下自定义配色方案空白的问题。
  • v5.3.0 (2026-08-18): ✨ 配色方案全面覆盖;新增画布方式电视墙渲染,更省资源;UI状态持久化(窗口位置、大小等)。
  • v5.2.0 (2026-08-17): ⚡️ 电视墙性能大幅优化,多屏不再卡顿。
  • v5.1.0 (2026-08-17): ✨ 新增“电视墙” 功能,可同时监控所有副屏画面。
  • v5.0.0 (2026-08-16): ✨ 重大重构!主界面从 Tkinter 迁移至 PySide6 (Qt),界面更现代、更稳定、响应更快。

v4.x 系列 (功能爆发)

  • v4.8.0 (2026-08-16): ✨ 主控页改为“每屏一个标签页”,完美支持多屏独立控制。
  • v4.6.x (2026-08-16): ✨ 引入本地 API 服务器,多协议接入,让副屏可编程。
  • v4.5.x (2026-08-14 ~ 15): ✨ 引入配色方案系统,260+ 色系任君选择;多屏独立配置彻底实现。
  • v4.4.1 (2026-08-13): ✨ 传感器可自由选择,修复多屏识别问题。
  • v4.0.1 (2026-08-13): ✨ 功能爆发版本!新增 15+ 个显示页面(跑马灯、硬件详情、天气、热搜、仪表盘等),引入自定义模板编辑器、自动翻页、息屏待机等大量功能。

v3.x 系列 (多屏时代)

  • v3.0.0 (2026-08-11): ✨ 支持多设备!可同时连接并控制多个副屏。
  • v3.1.x (2026-08-11 ~ 13): 🐛 持续修复画面倾斜(“斜45度”)这一关键问题,提升稳定性。
  • v3.1.6 (2026-08-13): ✨ 引入 UI 消息队列,新增“自定义显示可视化编辑器”。

v2.x 系列 (奠基与打磨)

  • v2.0.0 (2026-08-11): 🎉 首个正式版本!整合两大开源项目,实现动图、时钟、屏幕镜像、系统监控等基础功能。
  • v2.1.x (2026-08-11): 持续迭代,增加页面切换、显示方向控制、丰富色卡、防烧屏、LCD看门狗等关键功能和修复。

❓ 六、 常见问题 (FAQ)

Q1: 程序无法识别我的副屏设备?

  • 检查 USB 连接线是否正常。
  • 确保设备驱动已正确安装(在设备管理器中看到 COM 端口)。
  • 尝试在“中控”页面的“屏幕分辨率”下拉菜单中选择合适的分辨率。
  • 右键点击程序,选择“以管理员身份运行”。

Q2: CPU、GPU 温度或风扇转速显示为 -- 或 0?

  • 硬件传感器(特别是主板上的)通常需要管理员权限才能读取。请以管理员身份重启程序。
  • 确认您的电脑硬件(如 CPU、主板)支持并提供了这些传感器数据。

Q3: 屏幕镜像画面出现撕裂、倾斜或颜色异常?

  • 尝试降低“最大 FPS”值。
  • 检查“显示方向”设置是否正确。
  • 如果是在窗口投屏时出现问题,尝试切换到“填充”或“适应”模式。

Q4: 程序启动时崩溃 (Crash),如何排查?

  • 首先查看程序运行目录下是否生成了 crash_log.txt 文件,将其内容提交到 GitHub Issues。
  • 尝试以管理员身份运行。
  • 安装最新的 Visual C++ Redistributable。
  • 确保系统满足最低要求(Windows 10/11)。

Q5: 我想为项目贡献代码或报告 Bug,该怎么做?


希望这份详尽的指南能帮助您充分利用 MSU2_MINI_V2 的强大功能。祝您玩得开心!

About

USB副屏小工具是一款专为“USB小屏幕0.96寸USB直插式电脑监控小屏 显示程序”等设备打造的全能型桌面伴侣,它以“一屏百变”为核心,集动图播放、大字时钟、屏幕镜像、系统监控、自定义模板等十二种显示模式于一身,并内置防烧屏保护与MiniMark自由编程引擎,让用户无论小白还是极客,都能轻松将闲置小屏变成实时数据看板、炫酷桌搭或生产力监控仪表。

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages