arduino - BLE CSC 服务并不总是被检测到 - 正确设置?
问题描述
我正在通过蓝牙 LE 连接到自行车电脑的 Arduino 上构建自行车踏频传感器。它可以被 Bryton 自行车电脑可靠地检测到,但不能被 Wahoo 的 iOS 智能手机应用程序检测到。这向我表明,可能服务设置不正确。下面的代码中有什么突出的地方,或者有一个很好的例子吗?
#define CSC_FEATURES CSC_FEATURE_CRANK_REV_DATA
unsigned char bleBuffer[1 + 2 + 2];
unsigned char slBuffer[1];
unsigned char fBuffer[2];
BLEService CSCService("1816");
BLECharacteristic CSCMeasurement("2A5B", BLERead | BLENotify, sizeof(bleBuffer));
BLECharacteristic CSCFeature("2A5C", BLERead, sizeof(fBuffer));
BLECharacteristic CSCSensorLocation("2A5D", BLERead, sizeof(slBuffer));
byte flags = CSC_MEASUREMENT_CRANK_REV_PRESENT;
unsigned short features = CSC_FEATURE_CRANK_REV_DATA;
byte sensorlocation = SENSOR_LOCATION_RIGHT_CRANK;
BLE.setDeviceName(BLE_DEVICE_NAME);
BLE.setLocalName(BLE_LOCAL_NAME);
BLE.setAdvertisedService(CSCService);
CSCService.addCharacteristic(CSCFeature);
CSCService.addCharacteristic(CSCMeasurement);
CSCService.addCharacteristic(CSCSensorLocation);
BLE.addService(CSCService);
update(millis()); /* initialise buffers */
BLE.advertise();
解决方案
推荐阅读
- spring-boot - 对于 Hazelcast sidecar 缓存模式,是否可以预期客户端会发现每个节点两次?
- python - 在一个目录中处理多个 python 项目的最佳方法?
- html - 一起创建倒置边框半径和 box-shadow
- qt - CGAL分类_插件错误
- javascript - 如何提交表单并绕过 preventDefault
- c# - 我有一个 api 方法,它绑定了一个参数,我可以绕过这个参数绑定吗
- css - 没有使用 scss intelliSense 和 scss 扩展从 vscode 获得 scss 建议
- linux - 如何在 Oracle Linux 8 中安装调试工具?
- html - 为什么我的 react-boostrap 按钮的 CSS 不起作用?
- php - 如何在 Controller Laravel 中记录每个功能