草庐IT

ble-state-preservation

全部标签

ios - 无法维持 BLE 连接 - BlueZ Linux <-> iOS

设置:我在嵌入式Linux平台上运行BlueZ5.48,将Pythonexample-gatt-server作为外围设备。我使用hciconfighci0leadv0启用广告。我正在尝试通过iPhone(iOSv12.1.4)使用nRFConnect进行连接。这两个设备都在我的table上,测量的RSSI约为-40dBm,因此信号水平应该不错。问题:我知道几个问题,并将按优先级顺序列出它们(最高优先)。a)在iPhone上的nRFConnect中,我可以看到设备并连接,但30-60秒后某些东西导致断开连接。它从不询问我是否允许配对或输入PIN。b)在Linux中,只要连接了iPhone

ios - 无法定期在 IOS 中进行后台 API 调用以推送应用程序从 BLE 设备接收到的数据

我有一个来自Acaia(Peripheral)的体重秤,它以5点/秒的速度发出体重数据。我使用AcaiasiOSSDK制作了一个可以连接到它以接收数据点的应用程序。即使在background状态下我也想保持连接,因此我在CapabilitiesforBluetooth中启用了BackgroundState模式。现在应用程序使用NSNotifications继续接收数据。RequirementandmyworkIhavetopushthisdatatoourserversforthatIamstoringtheDatainanarrayandatevery10seconds,Iammak

ios - 关机再开机如何在后台重新连接BLE设备?

我正在做一个与BLE相关的小项目。我有一个要求,我需要在手动关闭后在后台重新连接设备,然后从iPhone->设置->蓝牙关闭蓝牙。 最佳答案 只需存储外设标识符或(对于iOS7:-(void)centralManagerDidUpdateState:(CBCentralManager*)central{if(central.state==CBCentralManagerStatePoweredOn){NSUUID*uuid=[[NSUUIDalloc]initWithUUIDString:savedUUID];//wheresave

iOS 6 重置所有设置问题与保存的 BLE 外设 UUID

我正在iOS上开发一个BLE应用程序,在与BLE配件建立连接后,我将CBPeripheralUUID保存到NSUSerDefaults。这样,如果稍后重新启动应用程序,并且BLE配件未打开或超出范围,我可以在应用程序的用户界面中将BLE配件显示为“未找到”。如果BLE配件随后打开或用户进入BLE范围内,应用程序将自动连接到BLE配件。我面临的问题是,在iOS6中,如果用户执行设置->常规->重置->重置所有设置,下次启动该应用程序时,BLE配件将具有不同的CBPeripheralUUID。这会导致我的应用程序和UI出现问题,因为随后将显示两个BLE配件:一个用于新UUID,一个用于旧U

ios - 如何使用 iOS CoreBluetooth 同时扫描多个 BLE 服务

我正在尝试为我的iOS应用程序寻找一种好方法来扫描三种不同类型的蓝牙LE外设,每一种都由一个唯一的服务/UUID表示。CBCentralManagerscanForPeripheralsWithServices:options方法采用一组服务UUID,文档指出“中央管理器仅返回宣传您指定的服务的外围设备”。但是我发现这实际上意味着如果您指定3个服务UUID,您将只会获得宣传所有这三个服务的外围设备。即它是AND而不是OR:它不会返回在数组中宣传任何这些服务的所有外围设备。我看到的唯一其他选项是为服务UUID数组传递“nil”,并且根据文档“返回所有发现的外围设备,无论它们支持的服务如何

【flink番外篇】13、Broadcast State 模式示例(完整版)

Flink系列文章一、Flink专栏Flink专栏系统介绍某一知识点,并辅以具体的示例进行说明。1、Flink部署系列本部分介绍Flink的部署、配置相关基础内容。2、Flink基础系列本部分介绍Flink的基础部分,比如术语、架构、编程模型、编程指南、基本的datastreamapi用法、四大基石等内容。3、FlikTableAPI和SQL基础系列本部分介绍FlinkTableApi和SQL的基本用法,比如TableAPI和SQL创建库、表用法、查询、窗口函数、catalog等等内容。4、FlikTableAPI和SQL提高与应用系列本部分是tableapi和sql的应用部分,和实际的生产应

android - iOS 和 Android Max BLE 通告和扫描字节

我一直在通过stackoverflow进行搜索;但是,我似乎发现了与此有关的各种相互矛盾的答案。给定Android5.1.1和iOS8.4.1,可以通过无连接BLE服务相互发送的最大字节数是多少。根据我的基本理解,它应该是BLE规范中的20个字节(实际上是23个字节);但是,我已经看到iOS能够推送512而android能够增加它的MTU的查询。此外,如果有可能在一个连接中发送超过20个字节,当它在没有直接连接的情况下接收数据包时,它们是否会在具有跨平台应用程序的iOS和android上的扫描仪上被正确识别? 最佳答案 根据Appl

ios - 将数据从支持 BLE 的 arduino 发送到 iOS 应用程序

我正在使用AdafruitBluefruitFeather构建一个设备,该设备可以收集数据,然后将数据发送到iPhone,并在iPhone上进行读取和处理。我看过无数试图解释如何对设备进行编程的示例,但我似乎对如何通过蓝牙将设备连接到iPhone存在误解。我们的代码基于其中一个Adafruit示例,我们尝试合并AdafruitBLEGatt库(https://learn.adafruit.com/introducing-adafruit-ble-bluetooth-low-energy-friend/ble-gatt),但它不起作用,这是我们第一次使用蓝牙。我们使用的iOS代码来自ht

ios - iOS 中的 BLE 绑定(bind)回调

我正在尝试连接自动要求绑定(bind)(PIN)的从设备,问题是,我如何判断绑定(bind)是否发生以及是否成功?我在文档中找不到任何与之相关的回调。提前致谢。 最佳答案 今年早些时候,我们遇到了一个类似的问题,涉及将连接到Android和iOS的硬件。不要将此视为问题的答案,而应将其视为经验分享。如果您还想支持Android并与BLE硬件的固件开发人员联系,我会鼓励您不要使用BLE绑定(bind)方法,因为我们在Android上遇到了麻烦。Android设备使用各种不同的蓝牙芯片,并且这些芯片使用不同的绑定(bind)方法。如果您

ios - 找出用户要求绑定(bind) BLe 设备的决定(Objective-C,iOS 10)

是否可以让用户决定iOS的绑定(bind)请求?选择1:放弃选择2:连接/绑定(bind)绑定(bind)请求截图:我尝试使用centralManagerDidUpdateState,但如果我打开蓝牙,它只会通过CBManagerStatePoweredOn调用一次。#pragmamark-CBCentralManagerDelegate-(void)centralManagerDidUpdateState:(CBCentralManager*)central{info(@"centralManagerDidUpdateState");switch(central.state){cas