【发布时间】:2016-12-08 09:24:02
【问题描述】:
我对使用蓝牙设备很陌生。到目前为止,一切都很完美。但是有个问题不知道怎么处理。 我有一个 LED 灯设备,我可以在其中更改从颜色到速度、闪烁、褪色等的所有内容。 现在我想读取当前的设备状态(例如设备是打开还是关闭)。我有一份设备文件,上面写着:
查询: a) 发送指令:【0XEF】+【0X01】+【0X77】 b) 控制器响应: 【0X66】+【8bit设备名称(0x14)】+【8bit开关开启/关闭】+【8bit模式值】+【8bit运行/暂停状态】+【8bit速度值】+【8bit红色数据】+【8bit绿色数据】+【8bit蓝色数据】+【8bit暖边】+【8bit版本号】+【0X99】
如何获得控制器响应? 无论 write 调用是否成功, didWriteValueFor 函数都会返回给我。
【问题讨论】:
-
你应该使用
func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveWriteRequests requests: [CBATTRequest])来接收数据 -
外围设备可能支持
notify的该特性。使用setNotify打开通知,您将收到对didUpdateValueForCharacteristic委托方法的调用
标签: ios swift3 bluetooth-lowenergy response