5. SDK打印内容说明
5.1 日志级别
SDK 使用 Python 标准 logging 模块,支持以下日志级别:
| 级别 | 说明 | 使用场景 |
|---|---|---|
INFO | 信息日志 | 连接状态、正常操作 |
WARNING | 警告日志 | 读取失败、使用缓存数据 |
ERROR | 错误日志 | 连接失败、严重错误 |
DEBUG | 调试日志 | 详细调试信息(默认关闭) |
5.2 典型输出内容
启动时的输出
==================================================
PSI Glove SDK - 基础使用示例
==================================================
串口: /dev/ttyACM0
波特率: 115200
==================================================
[INFO] 正在连接到设备...
[INFO] 连接成功!
[INFO] 开始读取数据 (按Ctrl+C退出)...运行时的数据输出
--- 帧 #0 ---
拇指: 2048, 1856, 2304, 1792, 2176
食指: 1920, 2240, 1664, 2112
中指: 2304, 1856, 2048, 1792
无名指: 1920, 2176, 1664, 2048
小指: 2240, 1856, 2304, 1920
--- 帧 #10 ---
拇指: 2052, 1860, 2308, 1796, 2180
食指: 1924, 2244, 1668, 2116
中指: 2308, 1860, 2052, 1796
无名指: 1924, 2180, 1668, 2052
小指: 2244, 1860, 2308, 1924错误和警告输出
[WARNING] 读取失败,使用缓存数据
[INFO] (使用上次的有效数据)
[ERROR] 错误: 无法连接到设备
[ERROR] 请检查:
[ERROR] - 设备是否已连接
[ERROR] - 串口路径是否正确
[ERROR] - 是否有权限访问串口
[ERROR] (Linux: sudo adduser $USER dialout)退出时的统计信息
^C
正在退出...
==================================================
统计信息:
总帧数: 1523
运行时间: 15.24 秒
平均帧率: 99.93 Hz
==================================================
[INFO] 已断开连接。5.3 例程可视化显示
psi_glove_direct_visualizer.py 显示内容
可视化器实时显示 21 个关节的数值柱状图:
┌─────────────────────────────────────────────────────────┐
│ PSI 手套实时数据可视化 │
├─────────────────────────────────────────────────────────┤
│ 左手关节位置 (ADC 值: 0-4095) │
│ │
│ 拇指_0 ████████████████████████████ 2048 │
│ 拇指_1 ████████████████████ 1856 │
│ 拇指_2 ████████████████████████████████ 2304 │
│ 拇指_3 ███████████████████ 1792 │
│ 拇指_4 ██████████████████████████ 2176 │
│ 食指_0 █████████████████████ 1920 │
│ 食指_1 ██████████████████████████ 2240 │
│ 食指_2 ██████████████ 1664 │
│ 食指_3 ████████████████████████ 2112 │
│ ... │
│ │
│ 帧率: 98.5 Hz | 延迟: 10.2 ms │
└─────────────────────────────────────────────────────────┘显示元素说明:
- 柱状图:每个关节的实时数值
- 帧率:数据更新频率
- 延迟:从读取到显示的时间
- 颜色编码(如果支持):
- 绿色:正常范围
- 黄色:接近边界
- 红色:超出预期范围
5.4 自定义日志配置
python
import logging
# 配置自定义日志格式
logging.basicConfig(
level=logging.INFO, # 日志级别
format='[%(asctime)s] [%(levelname)s] %(message)s', # 格式
datefmt='%Y-%m-%d %H:%M:%S' # 时间格式
)
# 启用调试日志(显示更多详细信息)
logging.getLogger().setLevel(logging.DEBUG)
# 禁用警告(不推荐)
logging.getLogger().setLevel(logging.ERROR)