Initial commit

This commit is contained in:
2025-05-25 18:14:25 +00:00
commit 86fbf1670c
17 changed files with 846 additions and 0 deletions
Executable
+50
View File
@@ -0,0 +1,50 @@
# LightSabre
LightSabre is a project designed to control WS281x RGB LEDs using the Secondary Memory Interface (SMI) of a Raspberry Pi, tailored for scenographic and lighting applications.
## Features
- **WS281x LED Control:** High-performance driving of addressable RGB LEDs via the Raspberry Pi SMI.
- **ArtNet Support:** Receives color data over the ArtNet protocol, allowing the Raspberry Pi to function as a DMX controller.
- **Autonomous Mode:** Analyzes audio input from an I2S microphone, performing spectral decomposition to generate dynamic lighting effects.
- **Web Interface:** Local web server for configuring and tweaking autonomous behavior.
- **MIDI Integration:** Supports real-time control and parameter adjustment via MIDI controllers.
## Technology Stack
- **Backend:** Written in Rust for robust and efficient controller logic. Some low-level operations may be implemented in C or Assembly (to be determined) for optimal performance.
- **Frontend:** Built with Vue.js, providing a modern and responsive web interface for configuration and control.
## Use Cases
- Stage lighting and scenography
- Interactive art installations
- Music-synchronized light shows
## Getting Started
1. **Hardware Requirements**
- Raspberry Pi (any model with SMI support)
- WS281x-compatible RGB LED strip
- I2S microphone (for autonomous mode)
- Optional: MIDI controller
2. **Software Setup**
- Install dependencies (see `requirements.txt`)
- Configure network for ArtNet or connect MIDI controller
- Access the web interface via your browser
## Documentation
- [ArtNet Protocol](https://art-net.org.uk/)
- [WS281x LEDs](https://cdn-shop.adafruit.com/datasheets/WS2812.pdf)
- [Raspberry Pi SMI](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html)
- [MIDI Protocol](https://www.midi.org/)
## License
MIT License
---
*For detailed setup and usage instructions, see the [Wiki](./Wiki.md).*