# 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: ```json { "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