No description
- Python 88.8%
- Shell 11.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .gitignore | ||
| cloudlog.conf.env | ||
| cloudlog_display.py | ||
| display_utils.py | ||
| girl.jpg | ||
| matrix-display.service | ||
| matrix.py | ||
| README.md | ||
| render_box.py | ||
| requirements.txt | ||
| RPi.png | ||
| run_display.sh | ||
| setup.sh | ||
Matrix Display Service
A Python-based Matrix-style display animation running on an OLED display using the SH1106 driver.
Requirements
- Python 3.x
- SH1106 OLED Display
- SPI interface enabled on your system
- Systemd (for running as a service)
Installation
Quick Installation
Run the setup script to automatically configure everything:
./setup.sh
This will:
- Create a virtual environment
- Install all dependencies
- Set up the systemd service
- Enable and start the service
Manual Installation
If you prefer to install manually:
- Clone this repository:
git clone <repository-url>
cd <repository-name>
- Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Install the systemd service:
sudo cp matrix-display.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable matrix-display
sudo systemctl start matrix-display
Usage
The service will automatically start on boot. You can control it using:
sudo systemctl start matrix-display # Start the service
sudo systemctl stop matrix-display # Stop the service
sudo systemctl status matrix-display # Check service status
Updating the Code
When you make changes to the code, simply run:
./update.sh
This will:
- Update any dependencies if requirements.txt has changed
- Restart the service with the new code
- Show you the service status and recent logs
Troubleshooting
- Check if SPI is enabled:
ls /dev/spi*
- Check service logs:
journalctl -u matrix-display
- Ensure proper permissions for SPI access:
sudo usermod -a -G spi,gpio $USER