Add comprehensive Info-Beamer integration guide
This commit is contained in:
179
INTEGRATION.md
179
INTEGRATION.md
@@ -0,0 +1,179 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user