iOS蓝牙学习(一)

来源:互联网 发布:mac os 10.11系统镜像 编辑:程序博客网 时间:2024/06/05 05:39

最近在学蓝牙开发,就去网上收集了一些文章看,自己做了一个总结,下面就分享出来。

前提:
iOS蓝牙开发使用的API是:Core Bluetooth
正常情况下需要两台真实的蓝牙4.0设备(当然也可以使用外联设备)

当然,有的朋友可能就要问了,要是我想在自己的虚拟机上也能使用蓝牙,那该怎么办呢?
方法:
1.买一个CSR蓝牙4.0USB适配器,插在Mac上
2.在终端输入 sudo nvram bluetoothHostControllerSwitchBehavior=”never”
3.重启Mac
4.用Xcode4.6调试代码,将程序跑在iOS6.1的模拟器上(苹果把iOS7模拟器上对于BLE的支持移除了)

蓝牙的应用场景:
运动手环,智能家居,嵌入式设备等(金融刷卡,心电测量器~)

蓝牙结构:
这里写图片描述

蓝牙的基本常识:
1.每个蓝牙4.0设备都是通过服务(service)和特征(characteristic)来展示自己的
2.一个设备必然包含一个或多个服务,而每个服务下又包含若干个特征
3.特征是与外界交互的最小单位(比如说一台蓝牙4.0设备,它使用特征A来描述自己的出厂信息,而使用特征B来收发数据)
4.服务和特征都是使用UUID来唯一标识的,通过UUID就能区别不同的服务和特征
5.设备里面的各个服务和特征的功能,都是由蓝牙硬件厂商提供的,比如哪些是用来交互(读写),哪些是用来获取模块信息(只读)

蓝牙开发的步骤:
1.建立中心设备
2.扫描外设:(Discover Peripheral)
3.链接外设:(connect peripheral)
4.扫描外设中的服务和特征(Discover Services And characteristics)
5.利用特征与外设做数据交互(Explorer And Interact)
6.断开连接(Disconnect)

具体代码实现:
使用Xcode创建一个项目TestCorebluetooth
在ViewController.m文件中导入 CoreBluetooth/CoreBluetooth.h头文件
懒加载中心管理器
这里写图片描述
实现协议,CBCenteralMannageDelegate,CBPeripheralDelegate

“`

pragma mark-CBCentralMangager的代理方法

/**
*状态发生改变时会调用该方法(蓝牙的打开和关闭时调用)
*/
-(void)centralManagerDidUpdateState:(CBCentralManager *)central{
//获取状态
}

“`这里写图片描述

这里写图片描述

简单吧,新人初创,高人勿喷。。。。

0 0