代码库> 网络> BabyBluetooth 一个简单易用的蓝牙库,基于CoreBluetooth的封装
BabyBluetooth 一个简单易用的蓝牙库,基于CoreBluetooth的封装
关注
上传者:刘彦玮 分类:网络(Networking)
查看次数:5769 下载次数:436
上传时间:2015-10-06 大小:136 B
The easiest way to use Bluetooth (BLE )in ios,even bady can use. 简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx.

为什么使用它:

1:基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你更简单地使用CoreBluetooth API。
2:CoreBluetooth所有方法都是通过委托完成,代码冗余且顺序凌乱。BabyBluetooth使用block方法,可以重新按照功能和顺序组织代码,并提供许多方法减少蓝牙开发过程中的代码量。
3:链式方法体,代码更简洁、优雅。
4:通过channel切换区分委托调用,并方便切换
5:便利的工具方法
6:完善的文档,且项目处于活跃状态,不断的更新中
7:github上star最多的纯Bluetooch类库(非PhoneGap和SensorTag项目)
8:  包含多种类型的demo和ios蓝牙开发教程

当前版本 v0.3.0

详细文档请参考wiki The full documentation of the project is available on its wiki

QuickExample

//导入.h文件和系统蓝牙库的头文件
#import "BabyBluetooth.h"

-(void)viewDidLoad {
    [super viewDidLoad];

    //初始化BabyBluetooth 蓝牙库
    baby = [BabyBluetooth shareBabyBluetooth];
    //设置蓝牙委托
    [self babyDelegate];
    //设置委托后直接可以使用,无需等待CBCentralManagerStatePoweredOn状态
    baby.scanForPeripherals().begin();
}

//设置蓝牙委托
-(void)babyDelegate{
    //设置扫描到设备的委托
    [baby setBlockOnDiscoverToPeripherals:^(CBCentralManager *central, CBPeripheral *peripheral, NSDictionary *advertisementData, NSNumber *RSSI) {
        NSLog(@"搜索到了设备:%@",peripheral.name);
    }];

    //过滤器
    //设置查找设备的过滤器
    [baby setDiscoverPeripheralsFilter:^BOOL(NSString *peripheralsFilter) {
        //设置查找规则是名称大于1 , the search rule is peripheral.name length > 1
        if (peripheralsFilter.length >1) {
            return YES;
        }
        return NO;
    }];
}


项目包含的示例代码介绍:

BabyBluetoothExamples/BabyBluetoothAppDemo :一个类似lightblue的程序,蓝牙操作全部使用BabyBluetooch完成。 功能:
1:扫描周围设备
2:连接设备,扫描设备的全部services和characteristic
3:显示characteristic,读取characteristic的value,和descriptors以及Descriptors对应的value
4:写0x01到characteristic
5:订阅/取消订阅 characteristic的notify

BabyBluetoothExamples/BabyBluetoothOSDemo :一个mac os程序,因为os和ios的蓝牙底层方法都一样,所以BabyBluetooth可以ios/os通用。但是os程序有个好处就是直接可以在mac上跑蓝牙设备,不像ios,必须要真机才能跑蓝牙设备。所以不能真机调试时可以使用os尝试蓝牙库的使用。
功能:
1:扫描周围设备、连接设备、显示characteristic,读取characteristic的value,和descriptors以及Descriptors对应的value的委托设置,并使用nslog打印信息。

BabyBluetoothExamples/BluetoothStubOnOSX :一个mac os程序,该程序可以作为蓝牙外设使用,解决学习蓝牙时没有外设可用的囧境,并且可以作为peripheral model模式的学习示例。改程序用swift编码。
功能:
1:作为蓝牙外设使用,可以被发现,连接,读写,订阅
2:提供1个service,包含了3个characteristic,分别具有读、读写、订阅功能

蓝牙学习资源

ios蓝牙开发(一)蓝牙相关基础知识
ios蓝牙开发(二)蓝牙中心模式的ios代码实现
ios蓝牙开发(三)app作为外设被连接的实现
ios蓝牙开发(四)BabyBluetooth蓝牙库介绍
暂未完成-ios蓝牙开发(五)BabyBluetooth实现原理



github:https://github.com/coolnameismy/BabyBluetooth
收藏
我来说两句
发表评论
您还没有登录!请登录注册
所有评论(0
提示
sina weixin mail 回到顶部