Page cover

XCASTER

What is XCASTER?

XCASTER is an essential component of the Vision Team's ecosystem, powering XDASH by automating device discovery. It broadcasts the hostname and critical details of its host machine using mDNS, allowing XDASH to seamlessly identify and connect to devices.


Key Features

  • Automatic Device Discovery: Broadcasts hostname and machine details via mDNS for effortless XDASH connectivity.

  • Integration with XDASH: Serves as the backbone of XDASH's automation, enabling dynamic machine management.

  • Lightweight Operation: Runs efficiently in the background with minimal resource usage.

  • Setup Flexibility: Configurable as a system service for reliable, automated startup and operation.


Why We Need XCASTER?

The Vision Team manages a growing number of devices hosting cameras and vision AI models. XCASTER is critical to ensuring these devices are seamlessly integrated into XDASH:

  • Simplifies Network Configuration: Automatically makes devices discoverable by XDASH, eliminating manual configuration.

  • Enables Scalability: As new machines are added, XCASTER ensures they are immediately accessible to XDASH.

  • Reliability in Automation: By automating discovery, XCASTER reduces setup time and ensures uninterrupted XDASH operations.

Without XCASTER, XDASH cannot dynamically adapt to the network, compromising efficiency and scalability for the team.


Setup Overview

For XCASTER to function, all machines in the network must have it installed and configured.


Step 1: Install Java 17

Ensure that Java 17 is installed on your system. To verify, run:

java -version

If Java 17 is not installed, download it from Oracle Java or install it using your system's package manager.


Step 2: Download XCASTER

Download the latest XCASTER .jar file from the GitHub release page: XCASTER v2.0.0 Release

Save the file to a directory where you want XCASTER to reside. A recommended location is /opt/xcaster/:

sudo mkdir -p /opt/xcaster
sudo mv XCASTER.jar /opt/xcaster/

Step 3: Test XCASTER

Before setting it up as a service, test XCASTER by running:

java -Djava.net.preferIPv4Stack=true -jar /opt/xcaster/XCASTER.jar hostname username password
  • Replace hostname with the name of your machine.

  • Replace username and password with credentials relevant to your system.

If XCASTER runs without errors, it is ready for service configuration.


Step 4: Configure XCASTER as a System Daemon

Create a systemd service file for XCASTER:

sudo nano /etc/systemd/system/xcaster.service

Add the following configuration:

[Unit]
Description=XCASTER Service
After=network.target

[Service]
ExecStart=java -Djava.net.preferIPv4Stack=true -jar /opt/xcaster/XCASTER.jar hostname username password
Restart=always
RestartSec=3
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=xcaster

[Install]
WantedBy=multi-user.target
  • Update hostname, username, and password with the appropriate values for the machine.


Step 5: Enable and Start XCASTER

Enable and start the XCASTER service to ensure it runs automatically on boot:

sudo systemctl enable xcaster
sudo systemctl start xcaster

Verify the service is running:

sudo systemctl status xcaster

Step 6: Verify Broadcast

To verify that XCASTER is broadcasting its details, use the following command:

avahi-browse -rt _xcaster._tcp

This command will display a list of devices broadcasting their details under the _xcaster._tcp service. If your machine is listed, XCASTER is running and broadcasting successfully.

With this setup, XCASTER ensures XDASH can dynamically discover and manage devices across the Vision Team's infrastructure.

Last updated