Initial import: clean snapshot from /home/olafn/infoscreen-dev (2025-10-25)

This commit is contained in:
RobbStarkAustria
2025-10-25 17:42:27 +02:00
commit 8ca9f69f6f
111 changed files with 8612 additions and 0 deletions

192
QUICK_REFERENCE.md Normal file
View File

@@ -0,0 +1,192 @@
# 🚀 Infoscreen Client - Quick Reference
## One-Line Summary
**PPTX → PDF (LibreOffice) → Impressive (auto-advance + loop) = Perfect Kiosk Presentations**
## Essential Commands
### Start Services
```bash
# MQTT Client
cd ~/infoscreen-dev/src && python3 simclient.py
# Display Manager
cd ~/infoscreen-dev/src && python3 display_manager.py
```
### Testing
```bash
# Interactive testing menu
./scripts/test-display-manager.sh
# Test Impressive (single playthrough)
./scripts/test-impressive.sh
# Test Impressive (loop mode)
./scripts/test-impressive-loop.sh
# Test MQTT
./scripts/test-mqtt.sh
```
### Logs
```bash
tail -f ~/infoscreen-dev/logs/display_manager.log
tail -f ~/infoscreen-dev/logs/simclient.log
```
## Event JSON Examples
### Loop Presentation (Most Common)
```json
{
"presentation": {
"files": [{"name": "slides.pptx"}],
"auto_advance": true,
"slide_interval": 10,
"loop": true
}
}
```
### Single Playthrough
```json
{
"presentation": {
"files": [{"name": "welcome.pptx"}],
"auto_advance": true,
"slide_interval": 5,
"loop": false
}
}
```
### Webpage
```json
{
"web": {
"url": "https://dashboard.example.com"
}
}
```
### Video
```json
{
"video": {
"url": "https://server/video.mp4",
"loop": true
}
}
```
## Parameters
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `auto_advance` | bool | `false` | Enable auto-advance |
| `slide_interval` | int | `10` | Seconds per slide |
| `loop` | bool | `false` | Loop vs. quit |
## Impressive Commands
```bash
# Auto-advance + loop
impressive --fullscreen --nooverview --auto 10 --wrap file.pdf
# Auto-advance + quit after last slide
impressive --fullscreen --nooverview --auto 10 --autoquit file.pdf
```
## Troubleshooting
### Presentation doesn't start
```bash
which impressive # Should show path
which libreoffice # Should show path
tail -f logs/display_manager.log # Check errors
```
### Slides don't advance
- Verify `auto_advance: true` in event JSON
- Check `slide_interval` is set
- Test: `./scripts/test-impressive.sh`
### Presentation doesn't loop
- Verify `loop: true` in event JSON
- Test: `./scripts/test-impressive-loop.sh`
### MQTT issues
```bash
./scripts/test-mqtt.sh # Test connectivity
```
## File Locations
```
~/infoscreen-dev/
├── src/
│ ├── simclient.py # MQTT client
│ ├── display_manager.py # Display controller
│ ├── current_event.json # Current event
│ └── presentation/ # Downloaded files
├── logs/
│ ├── simclient.log
│ └── display_manager.log
├── scripts/
│ └── *.sh # All test/start scripts
└── .env # Configuration
```
## Installation
```bash
# System dependencies
sudo apt-get install python3 python3-pip python3-venv \
libreoffice impressive chromium-browser vlc
# Python dependencies
cd ~/infoscreen-dev
python3 -m venv venv
source venv/bin/activate
pip install -r src/requirements.txt
```
## Configuration (.env)
```bash
ENV=production
MQTT_BROKER=192.168.1.100
MQTT_PORT=1883
HEARTBEAT_INTERVAL=30
SCREENSHOT_INTERVAL=60
DISPLAY_CHECK_INTERVAL=5
```
## Documentation
- **README.md** - Complete guide (start here)
- **IMPRESSIVE_INTEGRATION.md** - Presentation details
- **CLEANUP_SUMMARY.md** - What changed
- **WORKSPACE_STATUS.txt** - Visual summary
## Key Features
✅ Auto-advance presentations
✅ Loop mode for events
✅ MQTT-controlled display
✅ Group management
✅ Heartbeat monitoring
✅ Multi-content (presentations, video, web)
✅ Kiosk mode
## Status
**Version:** Final Solution (October 2025)
**Status:** ✅ Production Ready
**Tested:** Raspberry Pi 5, Pi OS Bookworm
**Solution:** Impressive PDF Presenter
---
**Need help?** Read README.md or check logs/