【问题标题】:BLE app sending data with time delayBLE 应用程序延迟发送数据
【发布时间】:2015-07-15 04:42:32
【问题描述】:

在我的 BLE 应用程序中,应用程序发现外围设备,连接它并成功写入一些数据。它每次连接都花费太多时间,发现服务和特征然后 didDiscoverCharacteristicsForService: 在这种方法中发送数据

[discoveredPeripheral writeValue:payloadMessage forCharacteristic:maincharacteristics type:CBCharacteristicWriteWithoutResponse];

....所以我无法在IBAction 中发送 writevalue,以便它直接发送数据而不调用 didconnect、发现服务和特性。帮帮我...

【问题讨论】:

  • 有没有人可以帮我..我急需..plz
  • 您需要显示更多代码 - 请编辑您的问题以包含更多详细信息。为什么一旦建立就不能保持连接?
  • didDiscoverCharacteristicsForService: 代码如下: if (error) { [self cleanup];return;} for (CBCharacteristic *characteristic in service.characteristics) { [peripheral setNotifyValue:YES forCharacteristic:characteristic]; maincharacteristics=characteristic;if(!payload ==nil){ NSLog(@"%@", payload);NSData *payloadMessage = [payload dataUsingEncoding:NSUTF8StringEncoding];[discoveredPeripheral writeValue:payloadMessage forCharacteristic:maincharacteristics type:CBCharacteristicWriteWithoutResponse]; lbl.text=@"腿部空间已连接"; }else{ lbl.text=@"蓝牙连接"; } }
  • 请编辑您的问题以在其中包含代码
  • @paulw11 上面的代码中缺少什么,请帮助我

标签: ios bluetooth bluetooth-lowenergy


【解决方案1】:

如果您已经连接到设备(验证外围设备的isConnected 值),那么您不必再次运行服务和特征的发现。如果是新连接,则必须进行发现,iOS 上没有其他方法。根据我的经验,发现速度非常快,我认为它不会减慢您的应用程序的速度。为了获得更好的体验,请在发现和写入运行时显示活动视图。

【讨论】:

  • 谢谢,但是每当我写这个 [discoveredPeripheral writeValue:payloadMessage forCharacteristic:maincharacteristics type:CBCharacteristicWriteWithoutResponse];在 IBAction 数据没有发送。我想我是否对 maincharacteristics 进行任何更改?我的代码如下: --
  • 您能否使用CBCharacteristicWriteWithResponse 发出写入,以便您可以监控操作?您是否实施了peripheral:didWriteValueForCharacteristic:error: 来检查错误?您的代码未包含在内,您可以为此使用 pastebin 服务并发布链接。
  • 是的,我包括了外围设备:didWriteValueForCharacteristic:error:,它调用但没有错误,只有数据不会传递到外围设备..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-11
相关资源
最近更新 更多