Files
beamer/INTEGRATION.md

5.7 KiB

Info-Beamer Player Integration Guide

This guide will help you integrate Info-Beamer devices with your content management server.

Prerequisites

  • Info-Beamer device (Raspberry Pi or compatible)
  • Network access between the device and your server (IP: 192.168.1.22)
  • Device ID from your Info-Beamer device

Step-by-Step Integration

1. Find Your Info-Beamer Device ID

First, you need to get your device's unique ID:

  • Access your Info-Beamer device's web interface (usually via its IP address)
  • Look for "Device ID" in the settings or dashboard
  • Write down this ID - you'll need it for registration

2. Register Player in Web Interface

  1. Open your browser and navigate to: http://192.168.1.22
  2. Login with your admin credentials
  3. Go to the "Players" section in the admin panel
  4. Click "Add Player" and fill in:
    • Device ID: Your Info-Beamer device's unique ID (from step 1)
    • Player Name: Descriptive name (e.g., "Lobby Display", "Reception Screen")
    • Channel: Select which streaming channel this player should display

3. Prepare Info-Beamer Package

You need to create a package with these files:

Required Files:

  • node.lua - Main display script (already provided in this repository)
  • config.json - Configuration file (template provided)
  • roboto.ttf - Font file for text display (download from Google Fonts)

Package Structure:

your-info-beamer-package/
├── node.lua
├── config.json
└── roboto.ttf

4. Configure Your Package

Edit the config.json file with your specific settings:

{
    "server_url": "http://192.168.1.22",
    "player_id": "YOUR_DEVICE_ID_HERE",
    "refresh_interval": 30,
    "default_duration": 10
}

Configuration Options:

  • server_url: Your server's URL (change IP if your server is on a different address)
  • player_id: Must match exactly the Device ID you registered in step 2
  • refresh_interval: How often to check for new content (seconds)
  • default_duration: Default display time per item if not specified (seconds)

5. Get the Font File

Download the Roboto font:

  1. Go to Google Fonts: https://fonts.google.com/specimen/Roboto
  2. Download the font family
  3. Extract and copy Roboto-Regular.ttf to your package folder
  4. Rename it to roboto.ttf

6. Upload Package to Info-Beamer

Option A: Info-Beamer Hosted Service

  1. Create account on info-beamer.com
  2. Create a new package
  3. Upload all three files: node.lua, config.json, roboto.ttf
  4. Assign the package to your device

Option B: Local Info-Beamer Installation

  1. Access your device's web interface
  2. Upload the package files
  3. Activate the package

7. Create and Assign Content

  1. Create a Streaming Channel:

    • In the web interface, go to "Channels"
    • Click "Add Channel"
    • Enter name and description
    • Mark as active
  2. Add Media Content:

    • Go to the "Upload" section
    • Upload your images and videos
    • Navigate to your channel
    • Add uploaded files to the channel
    • Set display duration for each item
    • Arrange content order
  3. Assign Channel to Player:

    • Go to "Players" section
    • Edit your player
    • Select the channel you created

8. Test the Integration

Your Info-Beamer device should now:

  • Connect to the server every 30 seconds
  • Display "Waiting for channel content..." if no content is assigned
  • Show media files from the assigned channel in sequence
  • Display channel name and current time as overlay
  • Automatically update when you change content

API Endpoints

The server provides these endpoints for Info-Beamer integration:

  • GET /api/player/{device_id}/content - Get content playlist for the player
  • GET /api/player/{device_id}/channel - Get channel information
  • POST /api/player/{device_id}/heartbeat - Update player last seen status

Troubleshooting

Player Not Connecting

  • Verify server_url in config.json points to the correct IP address
  • Check network connectivity between device and server
  • Ensure player_id in config.json matches the registered Device ID exactly
  • Check firewall settings on the server

No Content Displaying

  • Verify the player is assigned to an active channel
  • Check that the channel has content added to it
  • Ensure media files are properly uploaded to the server
  • Check file permissions in the /uploads/ directory

Content Not Updating

  • Check the refresh_interval setting in config.json
  • Verify the server is running and accessible at port 80
  • Look for error messages in Info-Beamer device logs
  • Test API endpoints manually in browser

Wrong Content Displaying

  • Verify channel assignment for the player
  • Check content order in the channel
  • Ensure media files are the correct format (JPG, PNG, MP4)

Player Management

In the admin interface, you can monitor:

  • Player Status: Online/Offline based on last heartbeat
  • Last Seen: Timestamp of last communication with server
  • Channel Assignment: Which content channel is currently assigned
  • Device Information: Name, location, and other details

You can change channel assignments at any time through the web interface, and players will automatically update their content within the refresh interval.

Content Management

Supported Media Types

  • Images: JPG, PNG, GIF
  • Videos: MP4, AVI, MOV

Best Practices

  • Use consistent aspect ratios for smooth transitions
  • Optimize file sizes for network transfer
  • Test content on actual displays before deployment
  • Keep refresh intervals reasonable (30-60 seconds)
  • Monitor player connectivity regularly

Security Notes

  • Change default admin password immediately
  • Use HTTPS in production environments
  • Restrict network access to the server
  • Regular backup of database and uploaded content
  • Monitor API access logs for unusual activity