iOS蓝牙总结

ios中蓝牙的几种实现

ios中提供了4个框架用于实现蓝牙连接
GameKit.framework
只能用于ios设备间的连接,多用于游戏(ios7之后已被淘汰)

MultipeerConnectivity.framework
只能用于ios设备之间的连接,从iOS7开始引入,用于代替GameKit

ExternalAccessory.framework
可用于第三方蓝牙设备交互,但是蓝牙设备必须经过苹果MFI认证

CoreBluetooth.framework(时下热门)
可用于第三方蓝牙设备交互,必须要支持4.0
硬件至少是4s,系统至少是iOS6
蓝牙4.0以低功耗著称,一般也叫BLE(Bluetooth Energy)
现在最高是5.0(理论距离300m),24Mbps。蓝牙4.2支持IPV6协议

GameKit简介

使用GameKit框架,可以在游戏中增加对等连接,又称对端连接或点对点连接PeerToPeer。
使用GameKit框架中的对等网络连接API,可以在游戏玩家之间建立一个对等网络,并在游戏/应用实例之间交换数据。
GameKit框架可以使用蓝牙在玩家之间创建网络,玩家甚至不需要连接到互联网,就可以彼此对战。

通过蓝牙实现对等网络连接

为玩家双方呈现一个GKPeerPickerController,提供一个标准的用户界面连接两台设备
ViewController遵循GKPeerPickerControllerDelegate协议,处理来自GKPeerPickerController(对端选择器)的信息。建立连接后,使用GKSession类可以向对端设备发送数据在receiveData:fromPeer:inSession:context代理方法中编写代码来处理接收到的数据。

GameKit的蓝牙开发注意

只能用于iO设备之间的连接
只能用于同一个应用程序之间的连接
最好别用蓝牙发送比较大的数据

CoreBluetooth

Core Bluetooth测试比较麻烦,正常情况下,得至少有2台真实的蓝牙4.0设备

如何测试蓝牙4.0程序
买一个评估板和一个发送蓝牙信号的芯片,拿个焊洛铁把他们用焊锡接起来就可以做测试。

Core Bluetooth的使用场景
运动手环、智能家居、嵌入式设备(金融刷卡器、心电测量器)

Core Bluetooth的基本常识

每个蓝牙4.0设备都是通过服务(service)和特征(characteristic)来展示自己的一个设备必然包含一个或多个服务,每个服务下面又包含若干个特征

特征是与外界交互的最小单位。比如说,一台蓝牙设备,用特征A来描述自己的出厂信息,用特征B来收发数据。

服务和特征都是用UUID来唯一标识的,通过UUID就能区别不同的服务和特征

设备里面各个服务(service)和特征(characteristic),均由蓝牙设备硬件厂商提供,比如那些事用来交互(读写),那些可获取模块信息(只读)等。

Core Bluetooth的开发步骤

建立中心设备
扫描外设
连接外设
扫描外设中的服务和特征(Discover Services And Characteristic)
利用特征和外设做数据交互(Explore And Interact)
断开连接(Discover)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Guide to BluetoothSecurity原文 本出版物可免费从以下网址获得:https://doi.o...
    公子小水阅读 8,323评论 0 6
  • 1、#import<CoreBluetooth/CoreBlutooth.h> 2、@interface View...
    xieyinghao阅读 456评论 0 0
  • 概述 iOS中提供了4个框架用于实现蓝牙连接 1.GameKit.framework(用法简单)只能用于iOS设备...
    captain_Lu阅读 1,844评论 0 5
  • 姓名:周黎明 公司:宁波贞观电器有限公司 组别:宁波盛和塾第 224期努力一组 日精打卡时间:精打卡第188天 ...
    A周黎明阅读 222评论 0 0
  • 幸福是很简单的东西,越简单的东西,越不容易得到,以至于幸福有种大道至简的意味。幸福若按层次、指数分,不知有多少种。...
    笑笑的羊羊阅读 233评论 0 0