V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
theunnamed
V2EX  ›  分享创造

[开源] 我做了一个可以长期放在桌面上的模块化硬件外设

  •  
  •   theunnamed · 3 天前 · 877 次点击

    很多桌面硬件外设,本质上都是一次性功能设备,就比如说:

    • 功能固化,能做什么从出厂就确定
    • 扩展性差,想加新能力成本很高
    • 交互方式原始,更多是调试用途而不是长期使用

    这些问题在短期调试时尚可接受,但如果设备需要长期放在桌面上使用,体验就会迅速变差。

    基于这些原因,我做了一个设备,叫 Lumen 。

    cover

    项目地址

    GitHub: 👉 https://github.com/robcholz/Lumen

    Lumen 是什么

    Lumen 是一个开源的桌面级硬件基座,目标是把常见的感知、交互和控制能力集中到一个长期可用的设备中,而不是针对单一用途设计。

    可以把 Lumen 理解成一个“长期插在电脑旁边的小型硬件控制台”。

    就像很多人会在桌面上放一个 Stream Deck 或状态面板一样,但 Lumen 不只是按键或显示器,而是一个自带计算、传感和交互能力的硬件基座。

    比如:

    电脑一开机,它就能在自己的小屏幕上显示系统状态、当前功耗,或你自定义的启动信息; 它可以作为一个专用的小外设,长期显示你关心的数据,而不是占用一个窗口; 它可以通过脚本或接口和电脑、游戏 Mod 交互,根据游戏内状态变化在硬件上做出反馈

    如果你尝试过做类似的事情,通常会发现:要么现成外设功能固定、不可扩展;要么能改的项目资料零散,很难真正复刻和长期使用。

    Lumen 的目标,是把这些常见能力集中到一个长期可用的设备中,让你不需要为每一个新想法从头做硬件。

    目前搭载的底座模块有:

    • USB-C 电压、电流与功率实时监测
    • 硬件级电源保护(过流、故障锁存、自动恢复)
    • 板载 IMU ,用于姿态与加速度感知
    • 板载扬声器,用于本地反馈
    • 所有数据与界面均在设备端运行,不依赖串口或上位机软件

    可用性

    对大家来说,Lumen 的取向是能长期、稳定地放在桌面上使用。

    这意味着你可以直接得到:

    • 可复刻性: 你不需要猜设计细节。硬件、固件和 UI 全部开源,提供完整的 PCB 、BOM 与外壳文件,按文档即可完整复现整个设备。
    • 低使用门槛: 不需要复杂的本地工具链。固件由 CI 自动构建,支持通过浏览器直接烧录,上手成本接近普通外设。
    • 独立交互能力: 设备本身具备显示与输入能力,所有状态和交互都在设备端完成,不依赖串口输出或上位机软件。

    最终,你得到是一个可以一直放在桌面上、随需求演进的硬件设备。

    后续方向

    目前 Lumen 以 USB-C 功率监测作为切入点。

    后续计划在设备上加入 Lua 虚拟机,用于定义更灵活的设备行为,使其不局限于预设功能,而是可以根据需要扩展。

    欢迎反馈。

    3 条回复    2025-12-25 16:12:37 +08:00
    Ccf
        1
    Ccf  
       2 天前
    跟 kvm 这种有什么不同?
    theunnamed
        2
    theunnamed  
    OP
       2 天前
    @Ccf KVM 是多电脑切换用的,这个不太一样。
    Lumen 更偏一个独立的小硬件面板/控制台,本身就在跑逻辑,不是做 IO 切换的。
    ShawnSky
        3
    ShawnSky  
       2 天前
    厉害啊,UI 是自己实现的框架吗?一直想学 LVGL 做一些硬件的小东西,可是 C 太劝退了,只会 py
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1268 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:07 · PVG 01:07 · LAX 09:07 · JFK 12:07
    ♥ Do have faith in what you're doing.