iOS 蓝牙 Corebluetooth
来源:互联网 发布:手机上c语言编程软件 编辑:程序博客网 时间:2024/06/05 05:28
蓝牙的现状:
*绝大多数智能手机支持蓝牙4.0(BLE)
*蓝牙芯片发展迅速,在性能和效率方面都有很大提高,且不断变得更小更便宜
*iBeacon +蓝牙,前景一片光明
-应用之一:室内导航
-Estimote公司为iBeacon提供基站
-3个iBeacon基站的预购价格为99美元(约合人民币610元)
-Estimote公司推出的iBeacon基站的最远传输距离为50m,但是他们推荐在10m范围内的使用效果最好
*一块纽扣电池就能为一个iBeacon基站提供长达 2 年的使用寿命,而且是在设备不断对外发射信号的情况下
iOS中提供了4个框架用于实现蓝牙连接
GameKit.framework(用法简单)
只能用于iOS设备之间的连接,多用于游戏(比如五子棋对战),从iOS7开始过期
MultipeerConnectivity.framework
只能用于iOS设备之间的连接,从iOS7开始引入,用于替代GameKit
ExternalAccessory.framework
可用于第三方蓝牙设备交互,但是蓝牙设备必须经过苹果MFi认证(国内较少)
CoreBluetooth.framework(时下热门)
可用于第三方蓝牙设备交互,必须要支持蓝牙4.0
硬件至少是4s,系统至少是iOS6
蓝牙4.0以低功耗著称,一般也叫BLE(Bluetooth Low Energy)
目前应用比较多的案例:运动手坏、嵌入式设备、智能家居
CoreBluetooth:
CoreBluetooth测试比较麻烦,正常情况下,得至少有2台真实的蓝牙4.0设备
如何让iOS模拟器也能测试蓝牙4.0程序?
买一个CSR蓝牙4.0USB适配器,插在Mac上
在终端输入sudo nvram bluetoothHostControllerSwitchBehavior="never"
重启Mac
用Xcode 4.6调试代码,将程序跑在iOS 6.1的模拟器上
(苹果把iOS 7.0模拟器对BLE的支持移除掉了)
•CoreBluetooth的使用场景
运动手环、智能家居、嵌入式设备等等(金融刷卡器、心电测量器)
CoreBluetooth的核心结构图
CoreBluetooth的基本常识
每个蓝牙4.0设备都是通过服务(Service)和特征(Characteristic)来展示自己的
一个设备必然包含一个或多个服务,每个服务下面又包含若干个特征
•特征是与外界交互的最小单位
比如说,一台蓝牙4.0设备,用特征A来描述自己的出厂信息,用特征B来收发数据
•服务和特征都是用UUID来唯一标识的,通过UUID就能区别不同的服务和特征
•设备里面各个服务(service)和特征(characteristic)的功能,均由蓝牙设备硬件厂商提供,比如哪些是用来交互(读写),哪些可获取模块信息(只读)等
CoreBluetooth的开发步骤:
-建立中心设备管理器对象
-扫描外设(Discover Peripheral)
-连接外设(Connect Peripheral)
-扫描外设中的服务和特征(Discover Services And Characteristics)
-利用特征与外设做数据交互(ExploreAnd Interact)
-断开连接(Disconnect)
1 0
- iOS蓝牙CoreBluetooth介绍
- ios蓝牙开发(CoreBluetooth)
- iOS蓝牙开发--CoreBluetooth
- iOS 蓝牙 Corebluetooth
- iOS 蓝牙入门CoreBluetooth
- iOS 蓝牙(CoreBluetooth)
- ios corebluetooth蓝牙4.0事例
- iOS蓝牙框架CoreBluetooth Framework
- iOS--蓝牙 ble4.0 CoreBluetooth
- ios 蓝牙4.0开发(CoreBlueTooth)
- iOS蓝牙框架CoreBluetooth应用
- ios蓝牙框架CoreBluetooth使用
- iOS开发 CoreBluetooth 蓝牙4.0
- iOS 学习小菜鸟之蓝牙corebluetooth
- IOS开发-使用蓝牙(CoreBluetooth.f…
- iOS- 蓝牙集成GameKit,MultipeerConnectivity,CoreBluetooth
- iOS - 蓝牙库CoreBluetooth核心内容之central
- iOS蓝牙4.0 CoreBluetooth框架开发
- Vue.js中v-bind v-model的使用和区别
- Lucene.Net
- 【长篇高能】ReactiveCocoa 和 MVVM 入门
- 正则表达式1
- poj #3734 Blocks(矩阵快速幂)
- iOS 蓝牙 Corebluetooth
- 关于js注册事件的疑问
- DialogFragment的使用
- git 拉取所有分支
- Ubuntu 右键在当前位置打开终端
- LeetCode-93. Restore IP Addresses (JAVA)(重新组合IP)
- 在一台服务器上配置多个Tomcat的方法
- syslog4j发送消息和接收消息demo新
- HDU 1009 FatMouse' Trade(贪心)