gpt4 book ai didi

ios - 在 iOS Swift 中写入 BLE 接收器

转载 作者:搜寻专家 更新时间:2023-10-31 21:48:44 25 4
gpt4 key购买 nike

我是 iOS 和 BLE 的新手。我一直在按照教程连接并将数据发送到 Arduino 上的 BLE 接收器板。本教程是为不同的板设计的,我正在使用(如果可能有帮助,BLE 板是 Adafruit nrf8001)。

以下代码设置 UUID...

让 BLEServiceUUID = CBUUID(string: "6E400001-B5A3-F393-E0A9-E50E24DCCA9E")
让 PositionCharUUID = CBUUID(字符串:“6E400002-B5A3-F393-E0A9-E50E24DCCA9E”)
让 BLEServiceChangedStatusNotification = "kBLEServiceChangedStatusNotification"

此代码将我的 iOS 设备连接到 BLE 板。

central.connectPeripheral(外设,选项:无)

然后我在我的 ViewController 中设置了一个 slider ,我想将该 slider 的值发送到 BLE 板。这是我的 writePosition 函数:

func writePosition(position: UInt8)->NSData {
让 currentValue = NSUserDefaults.standardUserDefaults().floatForKey("sliderValue")
var currentValueString=NSString(格式: "%.5f", currentValue)
var writeType:CBCharacteristicWriteType
让 newString:NSString = currentValueString
让数据 = NSData(字节:newString.UTF8String,长度:newString.length)
外设?.writeValue(数据,forCharacteristic:self.positionCharacteristic,类型:writeType)
返回数据
}

请注意,我的 arduino 和我的应用程序都确认它们确实已连接。但是,如果我在应用程序中更改 slider 值,它不会将其值发送到 BLE 板。我做错了什么??

提前致谢!

最佳答案

请注意,无法将数据写入 BLE(通常),速度超过 35 到 50 毫秒。最好使用计时器(在 iOS 中,它的最小滴答声在 50 到 100 毫秒之间)写入特性,而不是直接从 slider 写入。所以计时器轮询 slider 的值并写入它。更高级的应用程序应该使用 tx 队列。

此外,您可能想看看这个答案:SWIFT - BLE communications

关于ios - 在 iOS Swift 中写入 BLE 接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29292737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com