项目简介
本项目借助Light - Show - Toolkit和Python脚本,达成了灯光秀项目在Raspberry Pi服务器上的自动化部署与运行。Light - Show - Toolkit能够播放和灯光系统配合的“Light Show”文件,实现音乐与灯光秀同步;Python脚本利用SSH和SFTP协议,简化了项目在远程服务器上的配置与运行流程。
项目的主要特性和功能
Light - Show - Toolkit部分
- 多格式支持:支持WAVE、MOD、MIDI、OGG、MP3、FLAC等音频文件格式和自定义的.lightshow文件格式。
- 多系统适配:支持Milight/LimitlessLED等灯光系统,涵盖UDP、TCP以及通过NRF2.4模块的RF24通信。
- 灵活的命令操作:提供ColourChange、Wait、Group等命令和Set、Add、Subtract、Repeat等操作符,可灵活控制灯光效果。
Python脚本部分
- 文件上传:利用pysftp库把本地文件上传到远程服务器指定目录。
- 命令执行:通过paramiko库建立SSH连接,在远程服务器上执行命令。
- 自动配置:在远程服务器安装必要的软件包和库,复制并更新Light Show Toolkit项目及其子模块,完成项目编译。
- 定时运行:可在指定时间运行Light Show Toolkit项目,加载指定的灯光秀文件和歌曲文件。
安装使用步骤
前提条件
用户已下载本项目的源码文件,且对服务器管理和代码部署有一定了解,具备相应操作权限。
详细步骤
- 安装依赖库:确保已安装Python,使用pip安装
paramiko
和pysftp
库。bash pip install paramiko pysftp
- 配置SSH连接:配置好SSH连接信息,包括用户名和密码(或密钥)。
- 编译Light - Show - Toolkit:
- Windows:确保有SDL2、SDL_mixer、SDL_net开发文件,使用Cmake编译和链接库,处理缺失DLL文件的问题。
- Linux:安装必要的库(libsdl2 - dev、libsdl2 - net - dev、libSDL2 - Mixer - dev、libsdl2),运行compile.sh。
- Raspberry Pi(RF24):若使用RF24模块,需下载并链接openmilight和RF24;若不使用,需从main.cpp中移除相关宏。
- 运行脚本:运行
main.py
脚本,提供服务器信息(IP地址、用户名、密码和本地目录)。 - 监控进度:脚本会在控制台打印每一步的进度,方便用户监控。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】