Files
infoscreen-dev/QUICK_REFERENCE.md

3.8 KiB

🚀 Infoscreen Client - Quick Reference

One-Line Summary

PPTX → PDF (LibreOffice) → Impressive (auto-advance + loop) = Perfect Kiosk Presentations

Essential Commands

Start Services

# MQTT Client
cd ~/infoscreen-dev/src && python3 simclient.py

# Display Manager
cd ~/infoscreen-dev/src && python3 display_manager.py

Testing

# 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

tail -f ~/infoscreen-dev/logs/display_manager.log
tail -f ~/infoscreen-dev/logs/simclient.log

Event JSON Examples

Loop Presentation (Most Common)

{
  "presentation": {
    "files": [{"name": "slides.pptx"}],
    "auto_advance": true,
    "slide_interval": 10,
    "loop": true
  }
}

Single Playthrough

{
  "presentation": {
    "files": [{"name": "welcome.pptx"}],
    "auto_advance": true,
    "slide_interval": 5,
    "loop": false
  }
}

Webpage

{
  "web": {
    "url": "https://dashboard.example.com"
  }
}

Video

{
  "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

# 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

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

./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

# 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)

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/