我有一个项目需要用蓝牙连接windowsPC和iOS设备。据我了解,在iOS平台中,我可以使用CoreBluetooth和iOS设备充当外围设备。这不会是一个问题。但是,在windows平台上,我想用WPF来实现软件。但我找不到api和其他东西可以使用。那么,有没有可能实现这个?非常感谢。 最佳答案 AccordingtoMicrosoft,Windows8支持BLE。你应该能够毫无问题地做到这一点。我猜您会设计自己的基于GATT的协议(protocol)。Here是来自Microsoft的示例。
我有一个低功耗蓝牙(BTLE)设备,我需要将其连接到我的电脑。为此,我在桌面WPF应用程序中使用了WindowsAPI引用。蓝牙设备相当简单:1个服务,2个特征(一个读取/通知,一个写入)。Tomakebelowcodework,addthefollowingreferencestotheWPF(forwindows10):C:\ProgramFiles(x86)\ReferenceAssemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dllC:\ProgramFiles(x86)\Wind
我想编写一个iOS应用程序来将一些数据传输到嵌入式BLE模块,反之亦然。为了获得我的数据流的最佳结构,我使用相应的UUID创建了我自己的特征和服务。至此,一切正常!但是,如果我想添加第二个BLE模块而不更改我的嵌入式BLE模块中的硬编码UUID,会发生什么情况?我是否必须为要添加的每个BLE模块生成全新的UUID?在这种情况下,我也必须更改我的iOS应用程序,因为我必须针对特定服务和特征更改我预期的UUID,或者?谢谢! 最佳答案 不,您不必为每个BLE模块生成新的UUID。这不是它设计的运行方式。只需确保您不会为同一BLE模块中的
我想编写一个iOS应用程序,列出所有附近的蓝牙设备及其名称、UUID、RSSI和与我当前位置的大概距离。我探索了CoreBlueToothAPI并创建了一个中央管理器,但这没有帮助。以下是我到目前为止所做的。扫描30秒后,我没有在附近找到任何设备,但是当我转到设备设置和蓝牙部分时,它会显示设备列表。知道这里可能出了什么问题吗?-(void)viewDidAppear:(BOOL)animated{self.centralManager=[[CBCentralManageralloc]initWithDelegate:selfqueue:nil];}-(void)centralManag
我知道答案名义上是“否”,但我的意思是真的-如果应用程序进入后台(启用了BTLE后台处理)会怎样?24小时?跨应用更新?在“重新连接到外围设备”标题下,此Appledocumentation描述了重新连接工作流程,该工作流程首先尝试重新连接到通过retrievePeripheralsWithIdentifiers:找到的先前配对的外围设备,然后在连接失败时再次开始扫描。如果没有正式的超时,您如何知道何时放弃connect-ing到以前找到的外围设备?如果您想重新连接到先前找到的BTLE设备,而又无需用户与您的应用进行交互,那么您如何知道何时开始/继续扫描呢?此外,该页面下方的注释还
我有一个用作蓝牙LE外围设备的应用程序。我有一个具有四个特征的服务。4个中的2个是只读和可写的,另外两个配置为通知。如果我订阅了其中一个“通知”特性,那么应用程序将不会断开连接,直到我手动断开连接,运行良好。我的问题是,如果我读取或写入其他特性,然后大约30秒处于非事件状态,则BTLE连接会与外围设备断开连接。这可能是苹果设置的限制,不确定。有人知道即使没有任何订阅者并且在30秒内没有收到读取或写入命令也能保持外围设备事件的解决方案吗? 最佳答案 这是BLE4.0规范的副产品。BluetoothLowEnergy明确设计为不会长时间
机器人documentation状态:Note:YoucanonlyscanforBluetoothLEdevicesorscanforClassicBluetoothdevices,asdescribedinBluetooth.YoucannotscanforbothBluetoothLEandclassicdevicesatthesametime.但是我注意到调用mBtAdapter.startDiscovery();正在返回经典和btle设备。有人知道什么是正确的吗? 最佳答案 根据我的理解,文档的意思是您不能拥有startL
我需要从CBPeripheral和CBCenter的输入连接和传出连接中获取目标mac地址。标识符没有在其中定义。look已从iOS7中删除。还有其他方法吗?https://developer.apple.com/library/prerelease/ios/documentation/CoreBluetooth/Reference/CBPeripheral_Class/index.html 最佳答案 您无法获取CBPeripheral的MAC地址,但您可以获得identifier属性,它是iOS从MAC和其他信息中计算出的UUID
有没有办法唯一标识一个BTLE设备(类似于硬件ID)?我有2个硬件BTLE设备和2个软BTLE设备(使用CBCentralManager)。所有这些设备都发送相同的UUID。当所有设备都在我附近时,我想确定确切的BTLE设备。有什么线索吗? 最佳答案 设备应该有唯一的蓝牙地址。如果他们不这样做,那么如果他们不相互干扰,您将无法正确连接到他们。但是,使用BTLE时,设备可能具有随机地址以保护隐私(但这些地址符合特定模式,因此您可以检测是否获得了那种地址)。地址为6个字节,通常以十六进制显示(例如A1-B2-C3-D4-E5-F6)。前
我有一个使用BTLE连接到设备(arduino)的iOS应用程序。在我的iPadiOS7上一切正常。升级到iOS8后,CBCentralManager找不到任何外围设备。-(void)startScanningForSupportedUUIDs{[self.centralManagerscanForPeripheralsWithServices:niloptions:nil];}我不知道可能是什么问题。 最佳答案 我有解决方案,由于某些原因,在iOS8中实例化CBManager后会有一些延迟。需要在CBCentralManager开