通过二进制 WebSocket 命令控制OSSM设备的模型上下文协议(MCP)服务器。此工具使AI能够以精确的时间控制OSSM运动模式。
ossm-mcp-server目录中安装依赖项:npm install
claude_desktop_config.json):{
"mcpServers": {
"ossm-websocket-control": {
"command": "node",
"args": ["/绝对路径/to/ossm-mcp-server.js"]
}
}
}
ossm_smooth_move执行带有缓动曲线的平滑点对点移动。
参数:
durationMs(必需):移动持续时间(毫秒)position(必需):目标位置(0-10000,其中10000=全长)transition:过渡类型 - LINEAR, SINE, CIRC, EXPO, QUAD, CUBIC, QUART, QUINT(默认:SINE)ease:缓动类型 - EASE_IN, EASE_OUT, EASE_IN_OUT, EASE_OUT_IN(默认:EASE_IN_OUT)aux:辅助功能位掩码(默认:0)示例:
// 平滑2秒移动到75%位置,使用正弦过渡
ossm_smooth_move(2000, 7500, "SINE", "EASE_IN_OUT", 0)
ossm_loop定义连续来回运动模式。
参数:
pushStroke(必需):定义前进运动的对象
durationMs:持续时间(毫秒)transition:过渡类型(必需)ease:缓动类型(必需)aux:辅助功能(默认:0)pullStroke(必需):定义返回运动的对象(与pushStroke相同结构)重要: 循环运动范围由全局范围限制控制(参见ossm_set_range_limit),而不是位置参数。
示例:
// 快速循环,每个笔划有不同的特性
ossm_loop(
{durationMs: 800, transition: "SINE", ease: "EASE_IN", aux: 0},
{durationMs: 1200, transition: "CIRC", ease: "EASE_OUT", aux: 0}
)
ossm_vibrate配置具有可调波形的局部振动模式。
参数:
durationMs(必需):持续时间(毫秒)(-1表示无限,0表示停止)halfPeriodMs(必需):半周期(毫秒)(控制频率,最小值:10毫秒)position(必需):振动中心位置(0-10000)range(必需):行程范围百分比(0-20%)smooth:波形平滑度(100=三角波,200=方波,默认:112)安全指南:
示例:
// 中心位置的轻柔25Hz振动
ossm_vibrate(-1, 20, 5000, 5, 112)
ossm_pause立即暂停所有当前运动。作为从任何控制源的紧急停止工作。
参数: 无
ossm_set_speed_limit设置所有运动模式下的全局电机速度限制。
参数:
speedHz(必需):最大速度(步数/秒)ossm_set_acceleration设置所有运动模式下的全局电机加速度限制。
参数:
accel(必需):最大加速度(步数/秒²)ossm_set_range_limit设置位置控制的运动范围边界。
参数:
range(必需):要设置的限制 - "MIN_RANGE" 或 "MAX_RANGE"limit(必需):位置限制(0-10000)注意: 范围限制会自动影响循环命令,但需要重新发送振动命令才能生效。