Tag: bluetooth lowenergy

BLE以编程方式发送密码

当我将设备连接到外设时,他问我一个密码(设备上显示popup窗口)。 我想在连接期间以编程方式发送此密码。 我正在使用CBCentralManager,但是我找不到发送它的方法。 有什么build议么?

如何识别通过蓝牙使用BLE for iOSfind的设备

我正在写一个应用程序,通过蓝牙在教室里检查考勤。 目前为止,我已经用我的Macbook,iPad,Apple TV进行了testing。 我得到他们的名字,比如:“Eduardo的iPad,Apple TV,Eduardo的Macbook”。 问题是昨天我在一个商场里testing过,而我所得到的只是一堆“未命名”的设备。 这在课堂上也是一个问题。 我也得到一个ID,但我不知道如何识别iOS或Android设备上的ID,这是我扫描时得到的对象types: { id: "2BD5D5A7-EF50-B4F4-D4FD-9A8413006D4B", rssi: -24, advertising: { kCBAdvDataIsConnectable: true }, name: "Eduardo's iPad" } 请注意,我得到的身份证是2BD5D5A7-EF50-B4F4-D4FD-9A8413006D4B ,但如果我去我的iPad设置/常规/关于/蓝牙显示的ID是F0:D1:A9:E3:F9:E9 。 那么,我能以某种方式从长ID中获得短ID吗? 或者,有没有办法在iOS或Android上使用graphics界面来获取长ID? 提前致谢。

iOS – iBeacon – 在iOS 7.1更新后,在后台广告(广播)作为信标

我试图做一个应用程序使用iBeacon其中一个设备将作为信号灯广播和另一个作为Receiver.I 运行iPhone中作为iBeacon在背景中类似的东西,但目前的解决scheme,不存在的API iBeacon,所以我再次问这个问题。 即使应用程序处于“后台”或“退出”模式,我也能成功通知“检测器设备”(接收器)。 但每当广播器设备的应用程序进入后台它停止广播数据包,并成为不再作为信标。 当它在前台出现时,它再次正常工作。 所以问题是广播公司必须始终处于前台担任广告商或广播公司。 即使应用程序处于后台模式,是否还有广告/广播iBeacon的数据包? 我从xCode启用了“位置更新”和“充当蓝牙LE配件”function。

找不到IBeacon

有困难连接到IBeacon,我已经下载了定位应用程序,但它无法find我的IBeacon。 我也手动configurationibeacon但没有成功。 另一种方法是我已经下载了eBeacon应用程序,而我的IBeacon只能在中央外设中看到,而不在信标列表中。 我认为问题出在设备上。 这里是我的灯塔 。 任何想法将不胜感激。 谢谢! PS我在这里问了关于IBeacon连接问题的问题。

有界和无界设备有什么区别?

我对iOS和BLE都很陌生,如果这个问题非常基本,请耐心等待。 有界和无界设备有什么区别? 我正在与CBCentralManager BLE在iOS,我想弄清楚如何配对他们通过CBCentralManager 。

我可以向组内的单个iBeacon设备发送消息吗?

我只是读了一下iBeacon,我可能想用它来做一个我目前正在参与的项目。我现在所理解的是: 简而言之,一个iBeacon设备向任何范围内的人广播一条消息。 该消息包括发送者的MAC地址,并且从其信号强度中,接收者可以计算距离。 iBeacon设备既可以是发件人,也可以是接收者,或者兼而有之。 1)首先; 它是否正确? 其次,在维基百科页面上,我读到it could enable payments at the point of sale (POS) 。 因为我明白,这基本上是一个非常本地的广播服务,我只是想了解如何这样的工作。 2)如果付款,商店或客户开始付款? 3)你将如何防止其他附近的设备拿起支付信息? 4)最后; 是否有可能发送一个iBeacon消息到只有一个iBeacon设备标识其MAC地址? 任何提示和见解都非常受欢迎!

连接到配对的蓝牙设备iOS8.1

新手在这里所有的事情CoreBlooth。 我已经成功地编写了一个小应用程序来连接到Wahoo Blue HR心率监视器,并检索我的心率bpm。我使用了下面的教程,但重写了代码迅速。 链接到教程 我现在正试图写一个简单的应用程序来检索我的蓝牙LE BP阅读器的血压读数。 有问题的模型是iHealth BP5。 当我使用下面的代码扫描这个设备时,我什么也没有得到。 func centralManagerDidUpdateState(central: CBCentralManager!) { if central.state == CBCentralManagerState.PoweredOff { println("CoreBluetooth BLE hardware is powered off") } else if central.state == CBCentralManagerState.PoweredOn { println("CoreBluetooth BLE hardware is powered on and ready") let IHEALTHBP5_BP_DEVICE_INFO_SERVICE_UUID = CBUUID(string:"1810") let services = [IHEALTHBP5_BP_DEVICE_INFO_SERVICE_UUID] centralManager!.scanForPeripheralsWithServices(services, options: nil) } } 我已经明显地将服务UUID改为BP监视器,并使用运行LightBlue的iPad并启动血压服务进行检查。 它可以很好地模拟一个BP服务,而不是BP5设备本身? […]

如何使用iPhone应用程序发送RGB信号到BLE设备?

我们正在开发iOS应用程序,并且需要将RGB信号传递给BLE设备,并根据RGB代码设备LED发光。 我们在iOS应用程序中使用CBCentralManager为蓝牙框架的CBPeripheral对象进行连接。 我们正在设置特征和描述符UUID,但是我们仍然无法在BLE设备上发送信号。 这里是我们用来传递hex字节格式的RGB数据的代码。 – (void)centralManager:(CBCentralManager )central didConnectPeripheral:(CBPeripheral )peripheral { NSLog(@"connect peripheral"); unsigned char bytes[] = { 0x5, 0x1, 0x70, 0x70, 0x70, 0x70, 0x48, 0x49,0x48, 0x49, 0x48, 0x65, 0x48, 0x49, 0x48, 0x48}; NSData *nsData = [[NSData alloc] initWithBytes:bytes length:sizeof(bytes)]; CBMutableCharacteristic *myCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:@"00002a46-0000-1000-8000-00805f9b34fb"] properties:CBCharacteristicPropertyWriteWithoutResponse value:nil permissions:CBAttributePermissionsReadable]; CBMutableDescriptor *yourDescriptor = [[CBMutableDescriptor alloc]initWithType:userDescriptionUUID value:@"00002902-0000-1000-8000-00805f9b34fb"]; […]

IOS核心蓝牙:获取API滥用警告

我正在用Core Bluetooth API编写iOS 7中的testing应用程序。 当我testing应用程序时,我发现我收到以下警告消息: 2014-04-28 15:52:09.400 TestBluetooth[626:60b] CoreBluetooth[API MISUSE] can only accept commands while in the powered on state 后来我debugging了应用程序,发现警告来自以下代码行: [manager scanForPeripheralsWithServices:array options:scanOptions]; 那么任何人都可以告诉我为什么我在控制台中得到这个消息? 有我身边的蓝牙4.0安卓设备,但这个应用程序不发现他们作为外围设备。 那么为什么它不发现蓝牙4.0 LE Android设备作为外设?

在CBCentralManager委托方法didDiscoverPeripheral:从来没有调用

我在主队列中的viewdidload初始化CBCenteralManager 。 第一次更新状态方法被调用,开始扫描蓝牙设备,但didDiscoverPeripheral:委托方法永远不会被调用。 代码是: – (void)viewDidLoad { [super viewDidLoad]; self.CM = [[CBCentralManager alloc]initWithDelegate:self queue:nil]; } -(void)centralManagerDidUpdateState:(CBCentralManager *)central{ if (central.state == CBCentralManagerStatePoweredOn) { [self.CM scanForPeripheralsWithServices:nil options:nil]; } } – (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral(CBPeripheral*)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI { } -(void)centralManager:(CBCentralManager *)central didRetrievePeripherals:(NSArray *)peripherals{ } -(void)centralManager:(CBCentralManager *)central didRetrieveConnectedPeripherals:(NSArray *)peripherals{ } -(void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error{ } -(void)centralManager:(CBCentralManager […]