Skip to content

6. 连接状态查询与故障排查

📋 目录

  1. 硬件安装方法说明
  2. SDK安装和配置方法
  3. 例程编译和调用方法
  4. SDK接口调用说明
  5. SDK打印内容说明
  6. 连接状态查询与故障排查

完整手册


6.1 连接状态

python
if controller.is_connected():
    status = controller.loop()
else:
    print("未连接,请调用 connect()")

断开时调用 controller.disconnect(),并释放串口供其他程序使用。

6.2 串口与权限

现象处理
LinuxPermission deniedsudo usermod -aG dialout $USER 后重新登录
找不到设备ls /dev/ttyACM* / Windows 设备管理器查看 COM 口
Device or resource busy关闭 AirHandViewer、旧示例或其它占用串口的进程

6.3 Modbus 读数失败

  • 确认波特率与固件一致(常用 115200500000)。
  • 适当增大 SerialInterface.timeout(如 0.01)。
  • loop() 返回 None 时可用 get_last_status() 取上一帧有效数据。

6.4 LRA 相关问题

现象可能原因建议
play_lra 返回 True 但无振动固件 LRA 任务未就绪或消息队列未满刷写含lra_message_buffer_preinit 的 V2 固件
连接后第一次 LRA 无效早期固件 MessageBuffer 创建过晚同上,升级固件
停止后仍有微弱振动mode=0 未清零增益升级固件(PLAY_GAIN 归零修复)
Write timeoutMCU 忙于 I2C降低下发频率;使用 SDK 默认写超时
强度“很大”误将mode 当振幅mode 选波形,amplitude 用 1–64 试探

停止所有指马达:

python
ctrl.play_lra([0, 0, 0, 0, 0], [0, 0, 0, 0, 0])

6.5 离线 Wheel 安装失败

  • 错误 is not a supported wheel on this platform:在目标架构上重新执行 package_offline_wheel.py,或指定正确的 --plat-name
  • 缺少 URDF / 配置:确认安装的是离线构建产物,而非纯 pip install -e . 的开发树。

6.6 导入错误

ImportError: cannot import name 'play_lra'

说明加载了旧版已安装的 psi_glove_sdk。处理:

bash
pip uninstall psi-glove psi-air-glove psi_glove_sdk  # 视已安装包名而定
cd psi-air-glove-SDK/psi-air-glove-SDK/python_sdk && pip install -e .