# BIG8K **Repository Path**: hufz_admin/XLL ## Basic Information - **Project Name**: BIG8K - **Description**: 新4K底板、电源板、软件代码上位机 - **Primary Language**: C# - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 4 - **Created**: 2024-06-14 - **Last Updated**: 2026-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BIG8K 新8K点灯平台、OLED模组点屏测试平台 ## 项目简介 BIG8K是一个新8K点灯平台、OLED模组点屏测试平台,包含4K底板、电源板、软件代码上位机。 ## 硬件架构 新8K点灯平台由以下组件组成: - **8K底板**:核心承载板卡,集成多种显示接口( MIPI DSI、HDMI、DisplayPort) - **电源板**:宽电压输入,支持多种电压输出,具多重安全保护 - **接口板**:适配不同规格的FPC柔性电路板 **支持的显示规格:** - 4K@120Hz - 8K@30Hz **功能特点:** - 自带按键以及USB接口 - USB接口可用于连接鼠标、USB网卡、U盘等 - 支持通过鼠标或按键控制8K平台读取U盘的图片或内部存储的图片 - 实现图片显示以及视频播放功能 - 支持开机自动播放U盘内容功能 ## 软件架构 - **Linux + Python** - **RK3588核心板**:ARM架构八核处理器,支持8K视频编解码 ## 通信方式 通过C#编写的上位机通过ADB或者网口与8K平台通信: - **网络地址默认配置**:192.168.100 或 192.168.137.100 ## 核心功能 ### 1. 纯色画面点屏 通过上位机软件点击相应名称的按键(如R、G、B、White)即可点亮对应颜色的纯色画面。也可以通过赋予R、G、B值调出所需的颜色,点击"Gray"按键即可切换。 ### 2. 图片显示 浏览图片所在目录,双击列表中的图片以显示。通过"Upload"将电脑文件夹中的图片上传到8K平台,勾选"显示远端",再双击列表中的图片完成显示。图片也可通过8K平台内置的Web页面上传。 ### 3. 视频播放 通过"Upload"或"上传文件到"按键上传视频文件,选择待播放的视频文件,点击"PLAY"即可播放。 ### 4. 脚本执行 通过上位机软件上传Python脚本并远程控制运行,脚本中直接操作framebuffer实现点屏功能。Python脚本也可手动通过adb push到 `/vismm/fbshow` 目录下运行。 ### 5. 开机自动播放图片 将autorun.py脚本放置于 `/vismm` 目录,8K平台开机后会自动运行该脚本。autorun调用的图片可通过8K平台内置的Web页面上传。 ## 核心命令 - `fbShowBmp` - 图片显示 - `fbShowPattern` - 灰阶显示 **上位机调用命令示例:** ```bash # 显示图片 adb shell /vismm/fbshow/fbShowBmp /vismm/fbshow/bmp_online/***.bmp # 显示纯色灰阶画面 adb shell /vismm/fbshow/fbShowPattern "000255000" ``` ## MIPI指令调试 平台支持MIPI DSI接口屏幕的指令调试功能: - **新版固件**:使用vismpwr工具 ```bash # 写指令 vismpwr 29 00 03 51 12 34 # 读指令 vismpwr -r 02 51 ``` - **旧版固件**:通过proc文件系统 ```bash echo "data" > /proc/chenfeng_mipi/chenfeng_mipi ``` ## Python脚本开发 开发板端Python脚本可直接操作FrameBuffer实现自定义显示功能: ### FrameBuffer操作基础 ```python import mmap import cv2 import numpy as np class FrameBuffer: def __init__(self): self.fb_path = '/dev/fb0' # 获取分辨率 # self.screen_width, self.screen_height = ... self.fb_size = self.screen_height * self.screen_width * 4 def update(self, image): with open(self.fb_path, 'r+b') as fb: mm = mmap.mmap(fb.fileno(), self.fb_size) # RGB转BGRA image = cv2.cvtColor(image, cv2.COLOR_RGB2BGRA) mm.write(image.tobytes()) mm.close() ``` ### 鼠标交互 USB鼠标事件通过Linux输入子系统读取: - 事件类型1:按钮事件(左键272,右键273) - 事件类型2:移动事件(X轴0,Y轴1,滚轮8) ### 按键控制 系统按键通过ADC读取: ```python # 读取按键值 result = subprocess.run("cat /proc/chenfeng_adckey/chenfeng_adckey", shell=True, capture_output=True, text=True) key_value = result.stdout.strip() ``` ## 文件目录说明 | 目录 | 说明 | |------|------| | PC-SW | 上位机工程及代码 | | PC-SW/fb_operate | 画面显示控制脚本目录 | | PC-SW/run_app | Python脚本运行目录 | | PC-SW/run_adckey_example.py | 图片显示以及按键调用范例代码 | | PC-SW/chenfeng-service.service | 指定自启动脚本 | | PC-SW/autorun.py | 自启动脚本 | | PC-SW/Python | 参考脚本目录 | | Hardware | 硬件资料 | | DOC | 文档资料 | | DEMO | DEMO制作相关资料 | | DEMO/autorunUSB.py | 综合性的8K平台python脚本,通过鼠标和按键控制framebuffer进行指定的显示操作 | | Linux | 底层系统固件 | | web_server | 8K平台搭建的用于文件上传的web服务 | ## RK3588核心板代码烧录 待补充 ## 开源许可 BSD 3-Clause License ## 项目统计 - Stars: 5 - Watch: 7 - Fork: 4 ## 编程语言占比 - Python: 54.8% - C: 39.0% - C#: 3.8% - JavaScript: 1.4% - CSS: 0.5% - Other: 0.5%