voyant_lidar_client
Configure and control your Voyant LiDAR device through its HTTP interface. Manage device configuration, calibration, firmware updates, and data streaming.
Use voyant_lidar_client --help
to see all available options.
⚠️ Critical Safety Warning: Always safely stop the device with
--endpoint stop
(without--skip-disable
) before powering off. This ensures internal components shut down safely and prevents hardware damage.
Usage
Start Data Stream
Your Voyant sensor does not start the laser and data stream on boot. Instead, the sensor waits for your command. The startup procedure can take ~10 seconds as it enables hardware components and begins data processing.
voyant_lidar_client --endpoint start
Upon successful completion, you will see:
✅ LiDAR service started successfully
Stop Data Stream (Safe Shutdown)
To protect the internal components of your sensor, you should disable the LiDAR stream before powering the system down. The shutdown procedure can take ~10 seconds as it safely disables hardware components.
voyant_lidar_client --endpoint stop
Upon successful completion, you will see:
✅ LiDAR service stopped and system disabled
Quick Restart (Skip Enable/Disable)
If you want to temporarily disable the on-device processing and streaming of LiDAR points, you can skip the lengthy disable/enable steps.
# Stop without disabling hardware
voyant_lidar_client --endpoint stop --skip-disable
# Start without re-enabling hardware (saves ~10 seconds)
voyant_lidar_client --endpoint start --skip-enable
⚠️ Critical Safety Warning: Always stop the device with
--endpoint stop
(without--skip-disable
) before powering off. This ensures internal components shut down safely and prevents hardware damage.
Upload Device Configuration
If you want to change the configuration of your sensor (e.g., UDP port, frames per second, etc.), you can use the config endpoint to take full advantage of your software-defined LiDAR.
More info coming soon!
voyant_lidar_client --endpoint config --file my_config.json
Upload Calibration
When Voyant provides you with a new calibration file, use this endpoint to apply it to your device.
voyant_lidar_client --endpoint calibration --file calibration_data.tar.gz
Update Firmware
When a firmware update becomes available, Voyant will share it with you. Use this endpoint to apply the update to your device.
voyant_lidar_client --endpoint update --file firmware_v1.0.1.tar.gz
Check Device Health
This is currently only to verify the config server is reachable.
voyant_lidar_client --endpoint health
Connect to Custom IP
If you change the IP address of your sensor with the voyant_ip_client
, use the --url
flag to specify the new address, without changing the 8080
port.
voyant_lidar_client --url http://192.168.100.200:8080 --endpoint health
File Requirements
- Config files: JSON format with device parameters. Documentation for available configuration options is coming soon.
- Calibration files:
.tar.gz
archives provided by Voyant Photonics - Firmware files:
.tar.gz
archives provided by Voyant Photonics (e.g.,es_v1.0.1-dev_20250627T161948.tar.gz
)
Expected Output
Successful Operations
voyant_lidar_client --endpoint health
Connecting to: http://192.168.20.20:8080
Hitting the /health endpoint...
Status: 200 OK
Response: HealthResponse { message: Some("Server is healthy"), lidar_service_running: Some(false), ... }
Connection Failure
Connecting to: http://192.168.20.20:8080
Error: reqwest::Error { kind: Request, url: Url { scheme: "http", ... }, source: hyper::Error(Connect, ConnectError("tcp connect error", Os { code: 113, kind: HostUnreachable, message: "No route to host" })) }
Configuration Errors
# Missing required file
voyant_lidar_client --endpoint config
error: the following required arguments were not provided:
--file <FILE>
# Invalid JSON format
voyant_lidar_client --endpoint config --file invalid.json
Status: 400 Bad Request
Error: {"error": "Invalid JSON format", "details": "expected `:` at line 1 column 10"}
Workflow Integration
This tool is part of the standard workflow described in the Sensor Quickstart Guide:
- Start → Begin data streaming
- Stop → Safe shutdown before power-off
Options
--endpoint <ENDPOINT>
- API endpoint to call (health, config, calibration, update, start, stop)--url <URL>
- Device URL (default: http://192.168.20.20:8080)--file <FILE>
- File to upload (required for config, calibration, update)--force-overwrite
- Replace existing calibration (calibration endpoint only)--force-restart
- Restart service if already running (start endpoint only)--skip-enable
- Skip hardware enable step (start endpoint only)--skip-disable
- Skip hardware disable step (stop endpoint only)
Troubleshooting
If commands fail:
- Verify device is powered on and network accessible
- Check that your PC is on the same subnet as the device
- Ensure the device IP address and port (8080) are correct
- For file uploads, verify the file exists and is the correct format
- For start/stop operations, check device logs if operations fail