Tag: 蓝牙

哪一点开始在iOS上的BLE技术

我需要用BLE技术来开发。 我find了一些介绍和源代码: http://processors.wiki.ti.com/index.php/Category:IPhone4SBLEDemo 但我没有find任何教程,从这个技术(CoreBluetooth框架)从头开始从select传感器进行testing,也WWDC 2011 有没有任何教程开始在iOS上的BLE技术? 非常感谢!

iOS从蓝牙接收数据,然后通过Wi-Fi将信息发送到另一台服务器上的数据库

我应该研究哪些库来完成以下任务? 我想通过蓝牙从其他设备接收string(这将需要查看附近设备的列表,并select正确的。 然后我想通过Wi-Fi将string发送到数据库 这是我真正想做的一个简单的版本,但我需要知道如何做这些事情。 此外,任何devise技巧将不胜感激(如有多个屏幕,写什么类等)。

什么是AWDL(Apple Wireless Direct Link)?它是如何工作的?

我试图找出AWDL是什么。 在iOS上,如果你使用苹果的蓝牙对等networking,似乎苹果公司创build了一个新的networking接口“awdl0”来实现(我猜)IP-over-BT。 但我找不到这个技术上的任何文档,或者这个界面,它如何performance,我们必须/不能用它做什么,等等。 特别是,我认为这意味着“build立了一个BT连接,而且我正在运行一个IP网桥,并且可以使用它来进行点对点通信”。 苹果公司自己的系统库存在一些错误,这个桥没有足够快的build立起来,而且如果你发送的数据太快,它似乎被操作系统丢弃。 所以…如果我可以查询这个awdl0,我希望检查“你准备好了吗?” 并延迟P2P消息,直到操作系统开心。 UPDATE 更多信息:我可以得到iOS设备对创buildawdl0连接到对方 – 但他们永远不会创build到OS X机器,无论是否BT和Bonjour是否在设备是否配对。 一些背景: 在iOS5中,苹果永久禁用了Bonjour /对等networking的蓝牙部分,并发布了一个技术说明,指示每个人使用DNS-SD,如果他们想继续使用蓝牙作为iOS设备之间的传输。 这很好,但这意味着如果您需要高性能的BT,并且希望它可靠,则必须使用DNS-SD。 (GameKit 有时可以正常工作,但是我们经常在真实世界的场景中看到可怕的performance,例如拥挤的公共场所 – 如果您使用DNS-SD,则会消失) DNS-SD协议不包含告诉你硬件正在使用的信息。 但它告诉你networking接口(这是我知道我们在awdl0上运行) DNS-SD非常棒,而且我们在iOS设备之间有高速,低延迟的点对点连接 – 这是GameKit承诺的所有东西,但是当范围内有超过几个WiFi / BT设备时,往往无法提供。

通过蓝牙将iPhone连接到Arduino

我希望能够让我的iPhone应用程序通过蓝牙与我的Arduino进行通信。 我发现一些支持以下协议的蓝牙屏蔽:BCSP,DUN,LAN,GAP SDP,RFCOMM和L2CAP。 从googlesearchgooglesearch的时候,iPhone正在隐藏它的蓝牙栈吗?! 它是否正确? 是否真的没有机会让我的iPhone与其他蓝牙设备进行通信,而不越狱(据我所知,如果我使用btstack,请访问http://code.google.com/p/btstack/ ) ? 如果蓝牙是不可能的,你会build议什么其他方式(期待WLAN)来实现通信? 我想要实现的是这样的东西: http : //theiopage.blogspot.com/2011/08/yanis-android-wireless-eos-controller.html 感谢您的任何提示!

低功耗蓝牙 – 重复更新特征值

电气工程Stackexchange后续问题 我想在很短的时间内重复写入一个蓝牙低功耗特性的值(作为一个可能的用例,想象一下鼠标)。 具有128位UUID的特性是20字节长。 因此,它可以写在一个单一的低能量交易。 写速度为50Hz,相当于每20ms写一次 。 因此写入20 * 50 * 8 = 8 kbit / s 。 我正在使用命令 / 写入无响应模式写入特性。 因此,在属性层上不会发生确认。 没有连接其他蓝牙或蓝牙低功耗设备。 没有什么是通过WLAN执行的。 在testing过程中没有其他特征被读取或写入。 我通过发送包含iPhone 4S序列号的数据包来testing程序。 序列号在每个发送的数据包之后递增1。 在接收端,使用一个集成了CSR1000 BLE芯片的可编程开发板,用于接收数据包并将接收到的序列号打印到串行连接。 我的问题如下: 一段时间后,数据包开始下降。 前100个数据包在50赫兹时工作正常。 从那时起,数据包开始下降。 0x00 – 0x46 received 0x47, 0x48 missing 0x49, 0x4a, 0x4b, 0x4c received 0x4d missing 0x4e, 0x4f, 0x50, 0x51 received 0x52 missing 0x53, […]

在iOS 10+中,有没有办法可靠地唤醒应用程序

我已经在这3个多月了,把头发拉出来了。 所以请不要回答初学者的答案。 我想知道是否在2017年与iOS 10+,有任何方式可以唤醒终止状态的应用程序…最好通过蓝牙外设…但我会把我能得到的! 我认为终止是当用户在任务pipe理器中刷新应用程序或当外设打开/closures,应用程序已经死亡 我需要在应用程序中维护的重要的与健康有关的BT外围数据(由BT设备logging),所以我需要一致的连接或唤醒应用程序并处理数据的能力。 我知道这是很多的问题,所以我想find最新的理解或解决这个问题。 我已阅读sooo许多文章和SOpost,所以我知道核心蓝牙是不可靠的充其量。 我知道总的概念是片面的,人们自2010年以来一直说不可能。 然而,在iOS中很多地方都在变化,所以我希望事情会发生改变。 要清楚: BT醒来会很好,但它真的不是可靠的,所以…我会采取任何一种可靠的唤醒(位置,audio,BT等…不是iBeacon,但因为我连接/配对BT设备) 。 如果我必须“破解”在位置或audio上发生的唤醒事件,然后以某种方式快速从外设获取数据,我会接受! 我努力了: (跳过这个,如果你不关心或不适用) 在info.plist中打开背景中央模式 使用完整状态恢复,也就是说,这个代码… self.centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil options:@{CBCentralManagerOptionShowPowerAlertKey: @(YES), CBCentralManagerOptionRestoreIdentifierKey:@"MyDevice"}]; 要注册标识符键和此代码… – (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSLog(@"launch options found: %@", launchOptions); NSArray *centralManagerIdentifiers = launchOptions[UIApplicationLaunchOptionsBluetoothCentralsKey]; NSLog(@"central managers found in launch options: %@", centralManagerIdentifiers); [self triggerLocalNotification:[NSString stringWithFormat:@"central managers […]

iOS中的健康设备configuration文件(HDP)支持

iOS是否支持HDP(健康设备configuration文件)? 有没有可用的例子?

我需要知道什么规格来开发蓝牙(AVRCP 1.4)iPhone应用程序

我是新的iPhone dev't,我要去一个项目,我必须开发一个蓝牙function的iPhone应用程序来控制车辆音响和DVD播放器。 车辆具有物理远程控制(IR),并且该项目的目标是用具有蓝牙function的iPhone应用来replaceIR以控制IR所执行的function。 播放,停止,下一个,以前等… 硬件可以与AVRCP 1.4通信。 我不知道每一个细节,但这是我所知道的。 我需要什么知识来实现​​应用程序? 谢谢。

showBluetoothAccessoryPickerWithNameFilter中的NSPredicate

我使用的方法叫做showBluetoothAccessoryPickerWithNameFilter:completion:这是外部附件框架的一部分。 它只是返回iPhonefind的蓝牙设备,你可以select一个连接到它。 如果我使用这个参数: showBluetoothAccessoryPickerWithNameFilter:nil completion:nil ,它返回所有的设备,但是你可以指定哪些设备应该返回NSPredicate(Filter参数)。 所以我试图创build这样的谓词: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self CONTAINS MyString"]; [[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:predicate completion:nil] 但是当我运行该应用程序时,出现如下错误: 类不是关键字MyString的关键字编码兼容值。 我想这个问题是用谓词中的self词,因为在这种情况下, self意味着当前类的实例。 我对吗? 如果我只想得到名称中包含MyString的设备,我应该如何编写一个谓词? 感谢你们。

如何符合CBCentralManagerDelegate协议?

我正尝试初始化一个中央pipe理器实例来制作一个具有蓝牙连接function的应用程序。 这是我的代码的一部分: class ViewController: UIViewController, CBCentralManagerDelegate { var myCentralManager = CBCentralManager(delegate: self, queue: nil) //error on this line func centralManagerDidUpdateState(central: CBCentralManager!) { } 我收到一个错误: “Type'ViewController – >() – > ViewController!' 不符合协议'CBCentralManagerDelegate' 协议要求的唯一方法是我添加的centralManagerDidUpdateState() ,为什么我会得到一个错误?