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{
//获取状态
}
“`
简单吧,新人初创,高人勿喷。。。。
- iOS蓝牙学习(一)
- ios蓝牙开发学习笔记(一)蓝牙概述
- iOS蓝牙开发(一)蓝牙相关基础知识
- iOS蓝牙开发(一)蓝牙相关基础知识
- ios蓝牙开发(一)蓝牙相关基础知识
- ios蓝牙开发(一)蓝牙相关基础知识
- iOS蓝牙开发(一)蓝牙相关基础知识
- iOS蓝牙开发(一)蓝牙相关基础知识
- iOS蓝牙开发(一)蓝牙相关基础知识
- ##**iOS蓝牙开发(一)蓝牙相关基础知识**
- iOS蓝牙开发(一)蓝牙相关基础知识
- iOS蓝牙开发(一)蓝牙相关基础知识
- iOS蓝牙开发(一)蓝牙相关基础知识
- iOS蓝牙开发(一)蓝牙相关基础知识
- iOS蓝牙开发(一):蓝牙相关基础知识
- iOS蓝牙开发(一)蓝牙相关基础知识
- (一)CoreBluetooth iOS 蓝牙 “中心模式”
- iOS-蓝牙学习1
- Matplotlib Tutorial(译)
- 怎样使用指定的字符集创造String对象
- 配置 maven 编译的 JDK 版本
- 杭电OJ题目分类
- C# 笔记(怕电脑抽疯,存起来)
- iOS蓝牙学习(一)
- 我只用过它的洗面奶来特别喜欢说保湿果你要求很简单只是想找一个护肤
- 【servlrt0.0】servlet简介
- Tempter of the Bone
- 关于产品工作的三个问题分析
- 一个关于CodeIgniter框架的麻烦以及解决
- 方法重载规则
- 排序算法扩展之对象排序
- tomcat相关知识