You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BLE骑行训练器写入特征UUID 2AD9:如何根据游戏场景调整阻力?

如何基于FTMS协议实现骑行台阻力的相对调整?

我用C#开发了一款小型骑行游戏,目前已经成功读取自行车的字节数组并转换为功率和转速数据,实现了游戏内的基础交互。

但在写入BLE特征调整阻力时遇到了问题:我从Git仓库拿到的代码只能写入0-1000范围内的绝对值阻力,代码如下:

BleApi.SubscribeCharacteristic_Write(selectedDeviceId, selectedServiceId, write_characteristic = "{00002ad9-0000-1000-8000-00805f9b34fb}", false);
Write("00");
byte resistance1 = Convert.ToByte(val % 256);
byte resistance2 = Convert.ToByte(val / 256);
byte[] payload = { 0x11, 0x00, 0x00, resistance1, resistance2, 0x00, 0x00 };
BleApi.BLEData data = new BleApi.BLEData();
data.buf = new byte[512];
data.deviceId = selectedDeviceId;
data.serviceUuid = selectedServiceId;
data.characteristicUuid = write_characteristic;
for (int i = 0; i < payload.Length; i++)
{
    data.buf[i] = payload[i];
}
data.size = (short)payload.Length;
BleApi.SendData(in data, false);

我的需求是根据游戏场景相对调整阻力:比如用户当前处于高档位(对应阻力可能高于700),游戏内坡度从0%变为7%时,需要基于当前阻力值提升100,而不是直接写入绝对值700——后者可能比当前档位阻力还低,完全达不到场景要求。

问题在于我无法从自行车读取当前阻力值,所以想请教:FTMS协议是否支持相对设置阻力的指令?如果没有,有没有其他可行的解决方案?

内容的提问来源于stack exchange,提问作者SAMYTHEBIGJUICY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 11:43:20