121 lines
2.9 KiB
Markdown
121 lines
2.9 KiB
Markdown
# Dexterous Hand Dashboard 项目文档
|
||
|
||
[贡献指南](./contribute_CN.md)
|
||
|
||
## 项目概述
|
||
|
||
**Dexterous Hand Dashboard** 是专为 LinkerHand 灵巧手设备开发的控制仪表盘服务。该服务基于 Golang 开发,提供灵活的 RESTful API 接口,可实现手指与掌部姿态控制、预设动作执行及实时传感器数据监控,并支持动态配置手型(左手或右手)及 CAN 接口。
|
||
|
||
## 功能特性
|
||
|
||
* **动态手型配置**:支持左手和右手手型的动态切换。
|
||
* **灵活接口配置**:支持多种 CAN 接口(如 `can0`, `can1`),可通过命令行参数或环境变量动态设置。
|
||
* **手指与掌部姿态控制**:提供手指(6 字节)和掌部(4 字节)姿态数据发送功能。
|
||
* **预设动作执行**:内置丰富的手势动作,如握拳、张开、捏取、点赞、数字手势等。
|
||
* **实时动画控制**:支持波浪、横向摆动等动画效果,用户可动态启动和停止。
|
||
* **传感器数据实时监控**:提供接口压力数据的实时模拟和更新。
|
||
* **健康检查与服务监控**:实时监控 CAN 服务状态和接口活跃情况。
|
||
|
||
## API 接口
|
||
|
||
### 手型配置
|
||
|
||
* `POST /api/hand-type`
|
||
|
||
设置接口对应手型。
|
||
|
||
### 手指姿态
|
||
|
||
* `POST /api/fingers`
|
||
|
||
发送手指姿态数据。
|
||
|
||
### 掌部姿态
|
||
|
||
* `POST /api/palm`
|
||
|
||
发送掌部姿态数据。
|
||
|
||
### 预设姿势
|
||
|
||
* `POST /api/preset/{pose}`
|
||
|
||
执行预定义的姿势。
|
||
|
||
### 动画控制
|
||
|
||
* `POST /api/animation`
|
||
|
||
启动或停止动画效果。
|
||
|
||
### 传感器数据
|
||
|
||
* `GET /api/sensors`
|
||
|
||
获取指定接口或所有接口的实时传感器数据。
|
||
|
||
### 系统状态
|
||
|
||
* `GET /api/status`
|
||
|
||
查询系统整体运行状态、CAN 服务状态及接口配置信息。
|
||
|
||
### 可用接口列表
|
||
|
||
* `GET /api/interfaces`
|
||
|
||
获取当前可用的 CAN 接口列表。
|
||
|
||
### 手型配置查询
|
||
|
||
* `GET /api/hand-configs`
|
||
|
||
查询所有接口的手型配置。
|
||
|
||
### 健康检查
|
||
|
||
* `GET /api/health`
|
||
|
||
系统健康检查端点。
|
||
|
||
## 配置选项
|
||
|
||
通过命令行参数或环境变量进行配置:
|
||
|
||
* `CAN_SERVICE_URL` 或 `-can-url`:设置 CAN 服务的 URL。
|
||
* `WEB_PORT` 或 `-port`:设置 Web 服务端口。
|
||
* `DEFAULT_INTERFACE` 或 `-interface`:默认 CAN 接口。
|
||
* `CAN_INTERFACES` 或 `-can-interfaces`:配置可用的 CAN 接口列表。
|
||
|
||
## 使用示例
|
||
|
||
```bash
|
||
./control-service -can-interfaces can0,can1,vcan0
|
||
CAN_INTERFACES=can0,can1 ./control-service
|
||
```
|
||
|
||
## 系统运行要求
|
||
|
||
* Golang 环境 (1.20+)
|
||
* CAN 通信服务
|
||
|
||
## 启动方式
|
||
|
||
启动控制服务:
|
||
|
||
```bash
|
||
go run main.go -can-url http://localhost:5260 -port 9099
|
||
```
|
||
|
||
## 日志与监控
|
||
|
||
服务提供详尽的日志输出,包括接口状态、动作发送情况及错误提示,便于快速诊断与排查问题。
|
||
|
||
## 贡献指南
|
||
|
||
欢迎社区开发者贡献代码、报告 Bug 或提交功能建议。
|
||
|
||
## 许可证
|
||
|
||
本项目使用 GPL-3.0 license 开源许可。
|