我有一个BLE设备,它在通过相当标准的用户界面(点击UITableView中显示的设备条目)选择后连接到iOS设备。连接非常简单-一些内部处理,然后调用CBCentralManager的connectPeripheral(peripheral:options:)。需要“忘记”设备(这样iPhone就不会再次自动连接)。我调用cancelPeripheralConnection(peripheral:),但设备仍会自动连接回手机。如何阻止BLE设备在调用cancelPeripheralConnection(peripheral:)方法后自动重新连接? 最佳答案
我正在尝试使用写在他的外设名称上的十六进制数来连接BLE设备。但由于某种原因在不同设备上外设名称不同。这可能是什么原因?我也试图在advertisementData中找到它,但没有成功。谢谢 最佳答案 您的设备在广告数据中的名称可能较短,但在扫描响应中的名称较长。如果您在应用程序处于前台时进行扫描,您将获得完整的扫描响应数据,因此这在您的应用程序中可能无关紧要。您可能不得不忽略没有扫描响应数据的第一个回调。 关于ios-不同设备上的BLE外设名称不同,我们在StackOverflow上找
我正在尝试使用VisualStudioforMac将服务添加到IOS的CBPeripheralManager。但是,当我使用另一台设备扫描我的外围设备时,我看不到我添加的服务。广告名称是正确的,但我只看到其他服务(大概是iphone默认的)。作为旁注,我用swift编写了程序并遇到了同样的问题。我的xcode版本是9,我的ios目标版本是11。我的代码如下CBPeripheralManager_peripheral;publicBLEPeripheral(){_peripheral=newCBPeripheralManager();//this,DispatchQueue.Curren
iOS上的每个连接间隔如何向低功耗蓝牙(BLE)设备发送超过1个数据包?我正在从iOS[iPhone6withiOS10.3]连接到MicrochipBM70BLE.我读过类似https://punchthrough.com/blog/posts/maximizing-ble-throughput-on-ios-and-android的文章以及像https://lists.apple.com/archives/bluetooth-dev/2015/Apr/msg00026.html这样的话题并实现了这样的代码:连接到设备获取适当的写入特性。获取外设的WithoutResponse最大写
我在前台和后台状态下成功地从BLE获取数据。并且还调用了核心蓝牙框架各自的委托(delegate)方法。用户强制退出应用程序后,我想要来自BLE设备的数据。是否可以在未运行状态下从BLE获取数据?或者有没有像iBeacon一样在非运行状态下调用的方法? 最佳答案 我认为除非使用iBeaconBLE设备,否则这是不可能的。如UnderstandingWhenYourAppGetsLaunchedintotheBackground中所述部分:Appsthatsupportbackgroundexecutionmayberelaunche
在iOS中无法获取CBPeripheral对象的mac地址。现在我没有了。具有不同UUID但具有相同外设名称的BLE设备。用户必须首先通过注册命令向该BLE设备注册该BLE设备,其MAC地址将在二维码扫描时获得。但是我怎样才能知道用户在哪个设备上进行注册,因为在iOS中我没有在外围设备中获取MAC地址? 最佳答案 正如DorianRoy指出的那样,一个好的基本方法是将MAC编码到广告数据包中的制造商特定数据中。MAC是6个字节,所以如果您还没有在那里存储太多空间,通常应该有空间。如果您的所有设备都具有相同的OUI(制造商前缀),您通
我目前正在构建一个应用程序,该应用程序创建了一个平台,用户可以在其中共享网络上的信息,但我想创建一个离线选项,让用户在距离很近时仍然可以在对等网络上进行通信。是否可以使用智能手机创建BT网状网络?我已经看到蓝牙可以选择使用BLE创建网状网络,但在查看CoreBluetooth后,我无法找到任何支持此类网络的东西。我见过一些使用iOSMultipeer连接的解决方案,但如果可能的话,我更喜欢跨平台解决方案。 最佳答案 是的,这是可能的。Android和iOS本身不支持BLEMeshAPI,但它们可以构建在适用于iOS和Androi的现
我在IOS5.0上使用corebluetooth.framework让低功耗蓝牙心率监测器工作。但有时我会遇到以下问题。1)有时当我开始扫描时(使用scanForPeripheralsWithServices方法),它无法发现任何BLE(低功耗蓝牙)设备,直到我手动关闭并打开Iphone蓝牙。有时,如果蓝牙关闭和打开不起作用,我也不得不重新启动手机。2)有时,当我尝试连接到我之前存储了UUID的设备时,我能够连接到该设备,即调用了didConnectPeripheral委托(delegate)方法,但它从未发现任何服务,即使我调用了[peripheraldiscoverServices
我已经搜索了一段时间,并决定在这里发布一个问题,看看是否有人已经走过这条特定的路。我正在使用BluegigaBLE112芯片开发蓝牙设备。他们宣布该芯片可轻松用于iOS设备(这是我们选择它的主要原因)设备需要与我们需要为iOS、Android、WindowsPhone和黑莓开发的应用程序进行通信。由于这种需要,我决定使用Rhomobile,因为它似乎是唯一一个支持为iOS开发BT应用程序而无需开发更多插件的软件。我只需要向设备的内部存储器发送小消息(例如命令、小字符串),有时还需要发送较大的文件。在Rhomobile的BT文档中,他们声明对于iOS来说,只能在iOS设备之间进行通信(我
我的考试遇到了很大的麻烦。我必须编写一个使用德州仪器制造的外部传感器的iOS应用程序,它称为TISensortag.以我的拙见,TI的文档对于入门级程序员来说确实很差而且很难理解。我试图在E2E论坛上提问,但他们帮不了我,他们的回答是“嗯,好吧,我们不知道,走开去问问别人”,...我将CoreBluetooth框架添加到我的项目中并创建了一个CentralManager。我能够找到我的设备,连接并获取他的名字和(有时)他的RSSI。现在我要做的是询问我的CBPeripheral对象它是否为我提供一些服务或类似的服务。我找到了CompleteAttributeTable但我不知道如何使用