Initial import: clean snapshot from /home/olafn/infoscreen-dev (2025-10-25)
This commit is contained in:
192
QUICK_REFERENCE.md
Normal file
192
QUICK_REFERENCE.md
Normal 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/
|
||||
Reference in New Issue
Block a user