# rk-shell **Repository Path**: uloong6/rk-shell ## Basic Information - **Project Name**: rk-shell - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-13 - **Last Updated**: 2026-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rk-shell 泰山派 RK3568 (Debian 12, aarch64) 嵌入式桌面环境,基于 **sway 合成器 + Qt 5.15 QML**,专为横屏 kiosk 设备设计。 ## 功能概览 ### 主屏 - **应用启动器**:自动扫描桌面应用(.desktop 文件),dock 固定栏,滑动切换页面 - **顶部栏**:时间/日期、网速、WiFi/蓝牙状态图标 - **控制中心**:下拉快捷开关(WiFi/蓝牙/亮度/音量) ### 设置 | 页面 | 功能 | |------|------| | WiFi | wpa_supplicant D-Bus 管理,自动连接已保存网络,扫描/连接/断开 | | 蓝牙 | bluez D-Bus + bluetoothctl,配对/取消配对,按设备类型自动连接(BLE 设备连,手机/音频类不连) | | 天气 | IP 自动定位,Open-Meteo 数据源,3 天预报 | | 显示 | 亮度调节 | | 设备 | 音量(长按调节)、静音 | | 关于 | 设备信息 | ### 系统集成 - **时间同步**:chrony NTP 自动对时 - **硬件按键**:音量键短按/长按调节 - **音乐播放器**:本地音乐播放 - **网络状态**:实时网速监控 ## 截图 ![预览](docs/screenshots/preview.gif) ### 主屏(应用启动器 + Dock + 顶部栏) ![主屏](docs/screenshots/home.png) ### 设置首页(网络/系统) ![设置](docs/screenshots/settings.png) ### 天气页(IP 自动定位) ![天气](docs/screenshots/weather.png) ## 技术栈 - **合成器**:sway (wlroots) - **UI**:Qt 5.15 QML (QtQuick.Controls 2) - **网络**:wpa_supplicant (D-Bus)、bluez (D-Bus) - **系统**:systemd, chrony - **数据源**:Open-Meteo (天气), ip-api.com (IP 定位) ## 项目结构 ``` rk-shell/ ├── src/ # C++ 后端 │ ├── main.cpp # 入口 │ ├── netmgr.cpp # WiFi/蓝牙 D-Bus 管理 │ ├── weather.cpp # 天气 │ ├── launcher.cpp # 应用启动器 │ ├── musicplayer.cpp │ ├── sysinfo.cpp # 系统信息 │ ├── netspeed.cpp # 网速 │ ├── hwkeys.cpp # 硬件按键 │ └── ... ├── qml/ # QML UI │ ├── MainShell.qml # 主屏+dock+控制中心 │ └── settings/ # 设置子页 ├── icons/ # 图标资源 ├── deploy/ # systemd/sway 部署配置 ├── docs/ # 设计文档 └── build.sh # 交叉编译脚本 ``` ## 构建 ```bash # 交叉编译 aarch64(在 x86 编译机上) ARCH=arm64 ./build.sh # 产物: build/arm64/rk_shell ``` ## 部署 ```bash # 板子上 systemctl stop rk-desktop scp build/arm64/rk_shell root@:/usr/bin/ scp -r qml/ root@:/usr/share/rk-shell/ systemctl start rk-desktop ``` ## 硬件 - **板子**:泰山派 RK3568 (lckfb tspi V10) - **WiFi/BT**:AP6212A (SDIO WiFi + UART BT) - **屏幕**:横屏 MIPI DSI