Token导航 LogoToken导航TokenDH.com
kpidash (Kenhia) logo
开发工具stdio官方级别未说明来源级核验

kpidash (Kenhia)

MCP Server

一个为树莓派5设计的全屏KPI仪表盘,用于显示实时健康状态、遥测数据、活动、仓库状态和幸运消息。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
实时监控Python开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kenhia

提供方

kenhia

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run kpidash-client daemon start

详细介绍

毕达什

Raspberry Pi 5的全屏KPI仪表板,使用 LVGL Redis。 显示多个实时健康、遥测、活动、回购状态和财富消息 客户端机器——Linux和Windows。

注意:这个项目的核心是构建我想要的仪表板;这不是 “通用仪表板创建工具”。我有一台RPi 5和一台备用4K 监视器和我想浏览的具体信息。 也就是说,我确实认为这对其他想做的人来说有一些好处 类似的东西。..决定在RPi上放置Redis服务器并使用 这对我来说是一个巨大的胜利。

仪表板布局

┌─────────────────────────────────────────────┐
│  Client cards (health LED, CPU/RAM/disk)    │
├────────────────────┬────────────────────────┤
│  Activities        │  Repo Status           │
├────────────────────┴────────────────────────┤
│  Fortune                                    │
└─────────────────────────────────────────────┘

快速启动

1.克隆

git clone --recurse-submodules 
cd kpidash

2.Pi 5的交叉编译

# Install cross toolchain (Ubuntu/Debian)
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu cmake pkg-config

# Sync Pi sysroot (replace rpi53 with your Pi hostname/IP)
SYSROOT=$HOME/pi5-sysroot && mkdir -p $SYSROOT
rsync -avz --rsync-path="sudo rsync" ken@rpi53:/lib/aarch64-linux-gnu $SYSROOT/lib/
rsync -avz --rsync-path="sudo rsync" ken@rpi53:/usr/lib/aarch64-linux-gnu $SYSROOT/usr/lib/
rsync -avz ken@rpi53:/usr/include $SYSROOT/usr/

# Build
cmake -B build-pi -DCMAKE_TOOLCHAIN_FILE=cmake/aarch64-toolchain.cmake
cmake --build build-pi --target kpidash -j$(nproc)

# Deploy
rsync -az build-pi/kpidash ken@rpi53:~/kpidash

3.在Pi 5上运行

# DRM requires root (or video group membership); -E preserves REDISCLI_AUTH
export REDISCLI_AUTH=yourpassword
sudo -E ./kpidash

4.启动客户端守护进程(Linux或Windows)

cd clients/kpidash-client
uv sync                       # Python 3.13 venv, see .python-version
uv run kpidash-client daemon start

客户端/kpidash客户端/README.md 用于配置文件设置。

______________________________________________________________________

配置(仪表板)

环境变量默认值描述
KPIDASH_REDIS_HOST127.0.0.1Redis主机
KPIDASH_REDIS_PORT6379Redis端口
REDISCLI_AUTH(无)Redis密码-- 必须 使用时处于env中 sudo -E
KPIDASH_DRM_DEV/dev/dri/card1DRM设备(卡1=Pi 5上的vc4 GPU)
KPIDASH_MAX_CLIENTS16最大跟踪客户数
KPIDASH_ACTIVITY_MAX10显示的最大活动数
KPIDASH_LOG_FILE/var/log/kpidash/kpidash.log写入Redis的日志路径
KPIDASH_PRIORITY_CLIENTS(无)逗号分隔的主机名;按列出的顺序显示在第一位,从未从注册表中删除

______________________________________________________________________

本机单元测试(无需硬件)

cmake -B build-tests -DTESTS_ONLY=ON
cmake --build build-tests
ctest --test-dir build-tests -V
# 133 tests: config env-var parsing + Redis JSON parsing

______________________________________________________________________

Python客户端

包装目的文件
clients/kpidash-client遥测守护程序+CLI(Linux、Windows)自述文件
clients/kpidash-mcp用于AI代理活动报告的MCP服务器自述文件

这两个包都通过以下方式进行管理 紫外线 并固定到Python 3.13。

______________________________________________________________________

项目结构

kpidash/
├── CMakeLists.txt              # CMake 3.22+, hiredis, cJSON, libdrm, LVGL
├── lv_conf.h                   # LVGL configuration
├── cmake/
│   └── aarch64-toolchain.cmake # Cross-compile toolchain for Pi 5
├── fonts/
│   ├── generate.sh             # lv_font_conv: Montserrat Bold 14-48px + NF icons
│   ├── lv_font_custom.h        # Extern declarations for generated bold fonts
│   ├── lv_font_montserrat_bold_*.c  # Generated font sources (7 sizes)
│   └── ttf/                    # Source TTF files (Montserrat-Bold, SymbolsNerdFont)
├── src/
│   ├── main.c                  # Entry: config, LVGL init, DRM, poll timers
│   ├── config.{h,c}            # Environment variable parsing
│   ├── registry.{h,c}          # In-memory client state (mutex-protected)
│   ├── redis.{h,c}             # hiredis poll cycle + cJSON parsing
│   ├── status.{h,c}            # Status message FIFO queue
│   ├── fortune.{h,c}           # fortune popen + pushed-fortune override
│   ├── ui.{h,c}                # Screen layout + Redis error overlay
│   ├── protocol.h              # Redis key macros + compile-time constants
│   └── widgets/
│       ├── client_card.{h,c}   # Per-client arc gauge card (CPU/RAM/GPU/disks)
│       ├── activities.{h,c}    # Activity table with live elapsed timers
│       ├── repo_status.{h,c}   # Repo card grid (branch/dirty/age indicators)
│       ├── fortune.{h,c}       # Fortune text label
│       ├── status_bar.{h,c}    # Bottom status bar
│       ├── dev_grid.{h,c}      # Pixel grid overlay (dev command)
│       ├── dev_textsize.{h,c}  # Font size reference panel (dev command)
│       └── dev_graph.{h,c}     # 5-series time-series chart (dev command)
├── tests/
│   ├── test_config.c           # ctest: config env-var parsing
│   └── test_redis_json.c       # ctest: Redis JSON parsing helpers
├── clients/
│   ├── kpidash-client/         # Python 3.13 daemon + CLI
│   └── kpidash-mcp/            # Python 3.13 MCP server
├── scripts/
│   └── load_test.py            # 8-client concurrent write stress test
├── lib/
│   └── lvgl/                   # LVGL v9.2.2 (git submodule)
├── specs/
│   ├── 001-mvp-dashboard/      # Spec, plan, tasks, contracts, data model
│   └── 002-exploration-sprint/ # Spec, plan, tasks (widget redesign, dev tools)
└── docs/
    ├── ARCHITECTURE.md         # System design and component diagram
    ├── CLIENT-PROTOCOL.md      # Redis key/value schema reference
    └── HANDOFF-CROSSCOMPILE.md # Cross-compilation guide

需求

  • Pi 5:Debian 13(Trixie),Redis 7.x, fortune 包裹
  • Pi包: libdrm-dev libpng-dev libcjson-dev libhiredis-dev libfreetype-dev libinput-dev libxkbcommon-dev redis-server fortune
  • 交叉编译主机:Ubuntu 22.04+x86_64,GCC aarch64工具链,CMake 3.22+
  • Python客户端:Python 3.13通过 紫外线

目录标签

目录标签

实时监控Python开发工具C本地部署树莓派KPI仪表盘RedisLVGL

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP