iOS设备和蓝牙模块连接基础知识
一:iOS连接外设的几种方式
如图下面几种方式:
CoreBluetooth和ExternalAccessory,两个框架,基本上是蓝牙设备与iOS设备连接的方式
有图可知,EAP要MFi认证,要求设备的设计理念符合苹果的要求,不仅可以进行无线蓝牙通信,还可以进行有线通信(USB通信)。
BLE通信方式(名称和流程简单介绍)
GATT Profile (Generic Attribute Profile): GATT配置文件是一个通用规范.用于在 BLE链路上发送和接收被称为“属性”(Attribute)的数据块。目前所有的BLE应用都基于GATT。定义两个BLE设备通过叫做Service和Characteristic的东西进行通信。中心设备和外设需要双向通信的话,唯一的方式就是建立GATT连接。.GATT连接是独占的。基于GATT连接的方式的,只能是一个外设连接一个中心设备。配置文件是设备如何在特定的应用程序中工作的规格说明,一个设备可以实现多个配置文件。GAP (Generic Access Profle):用来控制设备连接和广播,GAP使你的设备被其他设备可见,并决定了你的设备是否可以或者怎样与合同设备进行交互。
流程
1.GATT连接,必需先经过GAP协议。
2. GAP给设备定义了若干角色,主要两个:外围设备(Peripheral)和中心设备(Central)。
3.在GAP中外围设备通过两种方式向外广播数据: Advertising Data Payload(广播数据)和Scan Response Data Payload(扫描)
每个Service有一个UUID唯一标识。UUID有16 bit的,或者128 bit的。16 bit的 UUID是官方通过认证的,需要花钱购买,128 bit是自定义的,可以自己设置。每个外设会有很多服务,每个服务中包含很多字段,这些字段的权限一般分为读read,写write,通知 notiy几种,就是连接设备后具体需要操作的内容。
二:iOS设备和蓝牙模块连接注意点
1:EAP协议一般蓝牙模块飞易通协议栈内置是支持的,但协议和MFI资料需要找iOS官网去注册和获取;
2:BLE通信方式中注意安卓设备去获取到iOS设备的地址码的操作和代码(可以通过advertisementData广告包中获取地址码属性值);
总结:蓝牙方式和iOS设备连接是需要技术支持的,如有兴趣了解更多,可以下面留言,一起探讨!