HandDriver Web Deployment and Usage Guide
1. Overview
1.1. Function Overview
HandDriver Web adopts B/S architecture, supporting access to the graphical interface through a browser on a PC. The browser can be closed once the DataGlove is properly connected. It is suitable for applications in the robotic field (the interface language currently only supports English).
During use, the receiver is connected to the PC where the server is located. The distance between the DataGlove and the receiver should not be too far, ideally kept within 2-3 meters, with a maximum range of approximately 5 meters.
Only supports 1-To-2 receiver DataGlove.
Compared to the HandDriver, the following features have been removed:
FBX/BVH recording and its related configuration options;
Thumb root joint adjustment;
Firmware upgrades (if the firmware upgrade is required, it is recommended to download the Windows version. Note: always upgrade the DataGlove first, then upgrade the receiver.)
1.2. Environmental Requirements
Google Chrome is recommended.
Only supported in Ubuntu currently. Please pay special attention to the Ubuntu version requirements for different software versions.
2. Software Download
Server installation package:
Ubuntu 22 and above:
Ubuntu 20:
Web client installation package (both x86 and ARM are supported):
3. Software Environment Deployment and Execution
It is recommended to deploy and start the server first, then deploy and run the web client.
3.1. Server Deployment and Startup
3.1.1. Important Notes
When deploying the server, follow the operations described in the "Regular Version" section of this document. However, if using an authorized version related to dexterous hands, be sure to first review the operation instructions for the relevant dexterous hand version (including the License Key instructions).
3.1.2. Paxini Dexterous Hands Authorized Version
The Paxini authorized version only supports operation in Ubuntu 22. The Paxini authorized version requires an License Key and corresponding software package provided by Udexreal to be used.
If using the version that supports Paxini dexterous hand, the following steps must be performed first.
Save the server installation package HDService.zip in any directory of your system, extract it, then navigate to the HDService directory, open a terminal, and enter the following commands in sequence.
At this point, the operations required to support the Paxini dexterous hand are completed. Please proceed to refer to the Regular Version deployment instructions.
3.1.3. Regular Version (the Regular, Non-dexterous Hand Authorized Version) Deployment and Startup
Install Dependencies
Save the server installation package HDService.zip in any directory of your system, extract it, then navigate to the HDService directory, open a terminal, and enter the following commands in sequence.
Install dependencies (if batch installation is not possible, they can also be installed individually)
If error occurs during the process, execute the following command, then run the dependency installation again. Repeat this cycle until all the above dependencies are installed.
Operations for Different Ubuntu Versions
a. Ubuntu20
Perform the following operations in any directory.
b. Ubuntu22
There are no other special operations. Proceed directly to to the step 3 described below.
c. Ubuntu24
Perform the following operations in the HDService directory.
Server Startup
Enter the HDService directory, open a terminal, and enter the following commands in sequence.
Update local dependency libraries
Since HDService needs to create a log directory and may also save human-side motion data, it is necessary to ensure that the directory where HDService is located on the server has sufficient read and write permissions. It is recommended to check the permissions first. If unsure, you can execute "
sudo chmod -R 777<server directory>" to grant full read, write, and execute permissions to the directory and its subdirectories.Finally, execute the following commands in the HDService directory to complete the server deployment and service startup (If the permissions are insufficient, first execute
sudo chmod +x HDService).
3.2. Web Client Deployment and Operation
Web client deployment refers to Unity WebGL + Nginx (Ubuntu) deployment. It is recommended to place the Web client on the same computer as the server, so the deployment only needs to be done once.
3.2.1. Environment Preparation
Update the system and install the Nginx:
Create the Web client deployment directory, such as
/var/www/handdriver, and copy all files from the unzipped HDWebClient.zip to this directory.

Ensure the
server-config.jsoncontent is correct, for example:
If using UFW or other firewalls, open the port 80 (or 443):
sudo ufw allow 'Nginx Full'
3.2.2. Nginx Configuration
Create a new site configuration: Use the command
sudo vim /etc/nginx/conf.d/handdriver.conf(if vim is not available, use nano for writing) to create a configuration file, and write the following content into it (Please pay special attention to ensuring that the configurations for listen, server_name, and root in the configuration file are correctly set):
Modify the
nginx.conffile
sudo vim /etc/nginx/nginx.conf (use nano for writing if vim is not available)
Change the first line user www:data to user root
Enable the site and verify the configuration
Apply the new configuration
3.2.3. Permissions and Deployment
When updating the version, simply replace the files in the Web client deployment directory (e.g., /var/www/handdriver) and execute sudo systemctl reload nginx again.
3.2.4. Verification and Operation
(This step is optional) Use
curl http://192.168.5.215:8088/server-config.json(replace with the actual IP/domain and port) to check if the JSON is accessible and if the response headers meet expectations.Open a browser and visit
http://192.168.5.215:8088/(replace with the actual IP/ domain and port) to confirm that the WebGL page loads properly. Once verified, the HandDriver Web is ready to run.If HTTPS is required, configure the certificate (e.g., using Let's Encrypt) as needed and replace the listening port
listen 8088with the correspondinglisten 443 sslsettings.
4. Precautions
When multiple Web clients are connected to the same server, operations performed on one client (such as Calibration or Data Trans setting) will be synchronized to all other clients.
Data transmission: Data generated by each character is packaged independently and send seperately.
If the server crashes, the indicator light on the previously connected DataGlove will remain solid green. The server must be restarted before reconnecting the DataGlove.
The Old Plugin option in the Data Trans function is currently non-functional when selected.
Last updated