iOS蓝牙操作流程

蓝牙常见缩写简述

  • peripheral,centeral === 外设和中心,发起连接的是centeral,被连接的设备为peripheral
  • service ,characteristic == 服务器和特征,每个设备会提供服务和特征,每个外设会有很多服务,每个服务器中包含很多字段,这些字段的权限一般分为 read,write,notiy这几种,就是连接蓝牙设备后需要具体操作的内容。
  • Description 每个 characteristic 可以对应一个或则多个 Description 用户描述 characteristic的信息或则属性

iOS中蓝牙peripheral和centeral对应类

image.png

外设、服务、特征之间的关系

image

蓝牙工作流程

按照iOS 处理蓝牙方式核心就两个东西,嵌入式方面应该是差不多的,peripheral (外设)和 centeral(中心),这两个模式分别对应不同的业务场景。

centeral 中心模式流程

  1. 建立中心角色
  2. 扫描外设(也就是discover)
  3. 连接外设(connect)
  4. 扫描外设中的服务和特征(discover)
    4.1 获取外设的services
    4.2 获取外设的Characteristics, 获取Characteristics的值,获取Characteristics的Descriptor的值
  5. 与外设做数据交互
  6. 订阅Characteristic的通知
  7. 断开连接

peripheral 外设模式流程

  1. 启动一个Peripheral 管理对象
  2. 本地Peripheral 设置服务, 特征,描述,权限等等
  3. Peripheral 发送广告
  4. 设置处理定于、取消订阅、读characteristic和写characteristic

蓝牙设备状态

  1. 待机状态(standby):设备没有传输和发送数据,并且没有连接到任何设
  2. 广播状态(Advertiser):周期性广播状态
  3. 扫描状态(Scanner):主动寻找正在广播的设备
  4. 发起链接状态(Initiator):主动向扫描设备发起连接。
  5. 主设备(Master):作为主设备连接到其他设备。
  6. 从设备(Slave):作为从设备连接到其他设备。

蓝牙设备的五种工作状态

  • 准备(standby)
  • 广播(advertising)
  • 监听扫描(Scanning)
  • 发起连接(Initiating)
  • 已连接(Connected)

你可能感兴趣的:(iOS蓝牙操作流程)