|
|
před 1 měsícem | |
|---|---|---|
| .. | ||
| models | před 3 měsíci | |
| qml | před 1 měsícem | |
| scripts | před 3 měsíci | |
| .env.example | před 2 měsíci | |
| .gitattributes | před 3 měsíci | |
| RASPBERRY_PI_SETUP.md | před 3 měsíci | |
| README.md | před 3 měsíci | |
| backend.py | před 2 měsíci | |
| configure-boot.sh | před 3 měsíci | |
| dune-weaver-touch.desktop | před 3 měsíci | |
| dune-weaver-touch.service | před 1 měsícem | |
| install-service.sh | před 3 měsíci | |
| install.sh | před 1 měsícem | |
| main.py | před 1 měsícem | |
| png_cache_manager.py | před 3 měsíci | |
| requirements.txt | před 2 měsíci | |
| run.sh | před 1 měsícem | |
| setup-autologin.sh | před 3 měsíci | |
| setup-autostart.sh | před 3 měsíci | |
| setup_kiosk.sh | před 3 měsíci | |
A PySide6/QML touch interface for the Dune Weaver sand table system that works alongside the existing FastAPI web server.
One command to set up everything for kiosk/production use:
sudo ./install.sh
This will:
venv/)/usr/local/bin/screen-on, screen-off, touch-monitor)# Control the service
sudo systemctl start dune-weaver-touch # Start now
sudo systemctl stop dune-weaver-touch # Stop service
sudo systemctl status dune-weaver-touch # Check status
sudo journalctl -u dune-weaver-touch -f # View logs
# Disable auto-start
sudo systemctl disable dune-weaver-touch
Create virtual environment and install dependencies:
python3 -m venv venv
source venv/bin/activate # or: . venv/bin/activate
pip install -r requirements.txt
Ensure the main Dune Weaver FastAPI server is running:
cd ../ # Go to main dune-weaver directory
python main.py
Run the touch interface:
./run.sh # Uses virtual environment automatically
# OR manually:
./venv/bin/python main.py
For custom installations:
sudo ./setup-autostart.sh
Choose from multiple setup options including systemd service, desktop autostart, or kiosk optimizations.
dune-weaver-touch/
├── main.py # Application entry point
├── backend.py # Backend controller with API/WebSocket integration
├── models/
│ ├── pattern_model.py # Pattern list model with file system access
│ └── playlist_model.py # Playlist model reading from JSON
├── qml/
│ ├── main.qml # Main window with StackView navigation
│ ├── pages/
│ │ ├── PatternListPage.qml # Grid view of patterns with search
│ │ ├── PatternDetailPage.qml # Pattern details with execution controls
│ │ ├── PlaylistPage.qml # Playlist selection and execution
│ │ └── ExecutionPage.qml # Current execution status display
│ └── components/
│ └── PatternCard.qml # Pattern thumbnail card
├── requirements.txt
└── README.md