ios蓝牙

ios设备app作为蓝牙外设端

匿名 (未验证) 提交于 2019-12-02 23:49:02
苹果手机可以作为蓝牙外设端,被蓝牙中央端来扫描连接交互数据,实现模拟蓝牙外设硬件。通过阅读CoreBluetooth库,可以找到一个CBPeripheralManager的类,该类主要的作用就是允许你来管理发布services,把这些services广告给其他的设备。如果想详细了解该类的属性和方法,建议去看看CoreBluetooth/CBPeripheralManager.h。 下面来模拟一个简单的蓝牙外设端。 准备工作 CBUUID *serviceUUID; CBUUID *characteristicUUID; NSData *characteristicValue; NSString *localName; NSArray *serviceUUIDs; 上面中,serviceUUID为给外设配置的服务的UUID,可以有多个,characteristicUUID为给service添加的特征的UUID,也可以有多个,可自定义可读可写等等属性.characteristicValue为characteristic的值,localName和serviceUUIDs分别为键CBAdvertisementDataLocalNameKey和CBAdvertisementDataServiceUUIDsKey对应的value。由于作为外设端时发送广播包,广播包中提供包含着两个键值对

iOS 蓝牙报错"The request is not supported."

五迷三道 提交于 2019-12-02 06:15:57
今天蓝牙通信的时候,发现突然返回一个error: The request is not supported.究竟是什么原因呢?下面我们来揭开这个错误的神秘面纱吧。 1.报错原因 蓝牙设备端开发,说是需要缓存一个什么,他自己也说不清,问了几遍,我就不问了。。 2.处理方法 ① 蓝牙设备修改了一些方法之后,就可以收到返回数据了,但是还有一些问题; 3.事后语 鹅鹅鹅,今天又出现这个问题了。。疯ing [2019年20月23日] 这个问题是,设备是Android版本的,Android的APP端可以正常使用,所以他也不那么着急解决,先留着吧。。 来源: https://blog.csdn.net/JWheat/article/details/102729096

iOS开发之蓝牙4.0开发使用

戏子无情 提交于 2019-11-30 10:12:44
转载自https://www.jianshu.com/p/f0e4b0e98336 2015年的时候自己写过一个蓝牙4.0项目,当忘了写博客,最近看到这篇博客写的挺详细,所以转载一下 一: 介绍 蓝牙分为蓝牙2.0和蓝牙4.0。 蓝牙2.0为传统蓝牙,传统蓝牙也称为经典蓝牙。 蓝牙4.0因为低耗电,所以也叫做低功耗蓝(BLE),它将三种规格集一体,包括传统蓝牙技术、高速技术和低耗能技术。 这篇文章用来介绍BLE 4.0的使用以及相关问题的解决。 二:BLE的两种模式 BLE的两种模式分为CBCentralMannager 中心模式 和CBPeripheralManager 外设模式,在这里主要和大家分享CBCentralMannager 中心模式的开发和使用。 CBCentralMannager 中心模式 以手机(app)作为中心,连接其他外设的场景。详细流程如下: 建立中心角色 扫描外设 发现外设 连接外设 4.1 连接失败 4.2 连接断开 4.3 连接成功 扫描外设中的服务 5.1 发现并获取外设中的服务 扫描外设对应服务的特征 6.1 发现并获取外设对应服务的特征 6.2 给对应特征写数据 订阅特征的通知 7.1 根据特征读取数据 CBPeripheralManager 外设模式 使用手机作为外设连接其他中心设备操作的场景。 PS:因为苹果设备的安全性和封闭性

iOS 作为蓝牙外设广播信息

北慕城南 提交于 2019-11-29 04:16:29
苹果蓝牙后台的限制,原本广播会有两个段分别是localName和serviceUUID这两块,但现在后台广播时,是不发送在这两段的 手机app可以作为一个蓝牙外设端来模拟外设硬件,但广播包里的数据只能包含localName和serviceUUID,相对于外设硬件来说还是有一些不足之处。 一个128位的蓝牙UUID来标示 32个 x 是 0-9 或 a-f 范围内的一个十六进制的数字(0x00),X是字符串格式 把数据按uuid的格式加进去 self.peripheralManager startAdvertising:@{CBAdvertisementDataServiceUUIDsKey:serviceUUIDs,CBAdvertisementDataNameKey:localName}]; 对应的值是数组 key: kCBAdvDataIsConnectable, value: 1 key: kCBAdvDataLocalName, value: SimpleBLEPeripheral key: kCBAdvDataServiceUUIDs // 数据就在这里 uuid(0): FF F0 key: kCBAdvDataTxPowerLevel, value: 0 Manufacturer Specific Data NSArray *keys =

ZBModule 蓝牙4.0开发套件---释放应用软件工程师创造力

青春壹個敷衍的年華 提交于 2019-11-26 10:39:09
蓝牙4.0 技术交流讨论群 : 228014986 软件+硬件+服务的新型移动互联网创业模式正在悄然兴起! 但对于绝大多数应用工程师来说,硬件开发是他们不可逾越的一个鸿沟,很多非常棒的产品想法无法实现。 ZBmodule 蓝牙4.0开发套件的推出,极大程度的简化了应用软件工程师开发软硬结合产品的难度。 ZBModule 通过蓝牙4.0低功耗技术可以轻松的与iPhone,iPad,iPod,Android Samsung S4,S3,等设备连接,进行数据的传输。让你可以轻松的构建自己的智能产品,把更多的精力用在产品创意和应用软件上! 开发套件能干什么? 这个问题很重要,那就先给大家看看开发套件做的东西吧: 猛击 : 套件Diy展示区 展示区展示的东西,都是网友们应用开发套件,做出来的小应用,有的出于兴趣爱好做来玩,有的正在产品化。 iOS 以及蓝牙4.0 技术讲解代码分享等参见: 开发套件的组成: 开源硬件Arduino+ZBModule 蓝牙4.0开发背板+开发源代码+你的创意,组成了一个软硬结合的梦。 Arduino: http://www.arduino.cc/ 享誉世界的开源软硬件开发平台! ZBModule 蓝牙4.0开发背板: 完美配合arduino硬件平台,底层硬件控制代码全部打通,提供大量硬件操作实例 开发源代码: 包括iOS软件源代码,Arduino控制硬件源代码