iOS 蓝牙开发那些事
来源:互联网 发布:河北工业大学知乎 编辑:程序博客网 时间:2024/05/07 11:05
由于接到iphone需要和第三方蓝牙设备交互的任务,便开始了蓝牙开发这件事。
在探索了一段时间后,iOS的蓝牙开发相关Apple大致有以下几种方式。
1 GameKit.framework
【只能存在于iOS设备之间,多用于游戏
能搜索到的demo比较多,不确切说名字了,code4app里面就有】
2 CoreBlueTooth.framework
【必须要支持蓝牙4.0,且iPhone4以上,即至少4s手机。可与第三方设备交互数据,
官方demo是Temperature Sensor 】
3 ExternalAccessory.framework
【可于第三方蓝牙设备交互,但是蓝牙设备必须经过MFI认证,需要有苹果的协议,
官方demo是 EADemo和 BTLE】
4 Multipeer Connectivity.framework
【只能用于iOS设备之间,且iOS7才引入。主要是为了共享文件,但是文件是在sandbox内
官方demo是ios7 sample】
由于我是做的接入第三方蓝牙设备的,故只能采取2 还 3 方式。
但又由于3方式需要经过苹果公司的MFI认证,而国内很多蓝牙提供商事没有经过这个认证的所以我们采用了第二种方式。CoreBlueTooth,也就是通过蓝牙4.0的 BLE模式来进行开发。
下面详细介绍一下BLE开发模式在iOS下的应用方式。
首先BLE将蓝牙设备分为了两类:
一 中央设备(Central)
二 外围设备(Peripheral)
这两个设备的交互方式如下:
首先外围设备会广播自身的信息,这时中央设备如果启用检索发现功能,就会发现广播的外围设备并得到这些外围设备的列表。
中央设备选择你需要连接的外围设备连接上。这时中央设备和外围设备交互的第一步就被打通了。
详细分析接下来的步骤如下图:
左侧为中央设备(Central),右侧为外围设备(Peripheral) 。
这里我以Central连接Peripheral,并向Peripheral发送数据为例,结合代码进行分析。
步骤如下:
1 中央设备查找外围设备通过上图中的CBCentralManager,并显示出各外围设备的名称以及UUID,也可通过回调显示每个Peripheral的信号强度。
[调用系统函数为]:
2 连接你所需要连接的Peripheral,这里就是上图中的CBPeripheral对象。
[调用系统函数为]:
3 查找对应的服务,查找对应服务下的CBCharacteristic。
[调用系统函数为]:
4 向对应的CBCharactieristic发送数据。发送数据和接收数据共有4种方式。
[调用系统函数为]:
- iOS 蓝牙开发那些事
- iOS 蓝牙开发那些事
- iOS 蓝牙开发那些事
- iOS 蓝牙开发那些事
- iOS 蓝牙开发那些事
- iOS 蓝牙开发那些事 demo合集网址
- iOS开发那些事
- ios 蓝牙开发,蓝牙应用
- iOS app开发那些事
- iOS开发通知那些事
- iOS开发Runtime那些事
- ios -蓝牙开发
- ios蓝牙开发
- IOS 蓝牙开发
- iOS 蓝牙开发备忘
- iOS蓝牙开发
- ios蓝牙开发(CoreBluetooth)
- iOS蓝牙开发流程
- 实现app上对csdn的文章查看,以及文章中图片的保存 (制作csdn app 完结篇)
- 设置 Unity,为 Blackberry10 设备构建应用程序
- Farey Sequence - POJ 2478 欧拉公式
- MFC写壳
- Java AWT学习
- iOS 蓝牙开发那些事
- poj 2255
- 类似微信陌陌app百万级并发系统源码转让
- 电机上下限位换向电路设计
- Ubuntu下OpenGL开发环境的搭建(转载)
- 14.3.2 提取数据字典
- 2014.04.04 因思考而失眠
- 【LeetCode】 Determine whether an integer is a palindrome. Do this without extra space
- openfire安装及配置