iOS蓝牙连接流程介绍-1
蓝牙连接流程介绍
1.1-程序员找女朋友流程介绍
- 
0.程序员找女朋友参与者 - 1.你
- 2.受害者(女性同胞) 
 - (1)她的性格1 
 - 性格的特点
 
- (2)她的性格2 
 - 分析性格的特点
 
 
- (1)她的性格1 
 
- 
1.寻找女性 - 寻尽身边一切女性,哪怕是坐在对面的UI妹子和身旁细皮嫩肉的安卓
- 撒大网捕鱼,万一有哪个瞎眼的上沟了呢?
 
- 
2.锁定目标 - 有了目标才好进行下一步
 
- 
3.与目标建立联系(搭讪) - 每一对情侣都是从朋友开始的。不!是从借你的那支笔或者请你吃的那顿饭开始的。
- iOS程序员挣得多,死得早
- 要才华有才华,要智商有智商,要幽默有幽默
 
- 
4.成为普通朋友,开始交往 - 交往的目的是为了了解对方的性格、特长 
 - 比如ABCD,咳……咳……
- 比如三从四德,咳……咳……
 
 
- 交往的目的是为了了解对方的性格、特长 
- 
5.通过交往,获取对方的性格,开始分析 
- 
6.分析性格的特点 - 1.为人处世的性格 
 - 贤良淑德有木有
 
- 2.生活上的性格 
 - 洗衣做饭拖地带娃行不行
 
- 3.其他方面的性格 
 - 你懂得
 
 
- 1.为人处世的性格 
- 
7.锁定性格的某一特点,开始深入的交流,互相发送数据(xxoo) 
1.2-蓝牙连接流程介绍
- 
0.蓝牙连接的参数者 - 1.蓝牙中心CBCentralManager:一般指得是iPhone手机
- 2.设备(外设)CBPeripheral:装有蓝牙芯片的智能硬件
 - 外设的服务peripheral.services数组,CBService对象:硬件可以提供很多服务,实际上就是把硬件的功能分模块,比如手环的震动和亮起来的颜色是两个不同服务
 - 服务下的特征CBCharacteristic:负责为服务提供读写数据,一个服务下可以有很多个特征,比如灯亮的颜色有RGB的值,有时间长度等都是一个单独的服务
 
- 服务下的特征
 
- 外设的服务
 
- 1.蓝牙中心
- 
1.蓝牙中心开始扫描外设 - 一个蓝牙中心可以扫描到周围蓝牙距离有效范围(20m左右跟障碍物有关)的所有外设
- 一个外设也可以被多个蓝牙中心扫描 
 - 在没有成为男女朋友之前,男人可以同时追求多个女性,女性也可以同时被多个男性追求
 
 
- 
2.扫描到外设,开始识别 - 我们会扫描到周围所有的外设,但是一般我们只会连接我们自己公司的智能硬件,所以这里需要识别 
 - CBPeripheral有一个- identifier属性,是设备的唯一标识符
 - 有些APP通过扫一扫硬件的二维码建立连接,其实内部已经扫描到了外设,只是UI不显示,二维码中放的就是外设的identifer
 
- 有些APP通过扫一扫硬件的二维码建立连接,其实内部已经扫描到了外设,只是UI不显示,二维码中放的就是外设的
 
 
- 我们会扫描到周围所有的外设,但是一般我们只会连接我们自己公司的智能硬件,所以这里需要识别 
- 
3.开始连接外设 
- 
4.连接外设成功,开始发现服务 - 一旦外设被蓝牙中心连接之后,既不能被其他中心扫描更不能被其他中心连接
- iPhone的蓝牙可以最大同时连接8个外设左右:外设越多蓝牙越不稳定,容易断开连接 
 - 一个女人找到老公,只会一心一意对她好,但是男人有钱就变坏,往往会有一房二房三房四房(外设),房越多越不稳定,容易离婚(断开连接)
 
 
- 
5.发现到服务,开始搜索特征 - 一个外设会有很多服务,服务只是外设告诉你我有哪些功能,并不能直接发送数据 
 - 一般开发中,负责蓝牙芯片开发的硬件工程师会给你一份蓝牙协议文档,里面会告诉你什么服务提供哪些功能 
 - 服务CBService通过UUID属性来区分
 
- 服务
 
- 一般开发中,负责蓝牙芯片开发的硬件工程师会给你一份蓝牙协议文档,里面会告诉你什么服务提供哪些功能 
 
- 一个外设会有很多服务,服务只是外设告诉你我有哪些功能,并不能直接发送数据 
- 
6。搜索到服务的特征 - 一个服务会有很多个特征 
 - 每一个特征负责一个很小的功能点的读或者写 
 - 蓝牙芯片很小,内存也很少,所以单位都是二进制字节byte,甚至是字节中的位bit
 
- 蓝牙芯片很小,内存也很少,所以单位都是二进制字节
 
- 每一个特征负责一个很小的功能点的读或者写 
 
- 一个服务会有很多个特征 
- 
7.给特征发送数据 - 读取数据也是从特征中读取
- 一般开发中,蓝牙协议文档会告诉你什么特征负责发送什么数据,并且数据格式也会告诉你 
 - 常见的蓝牙协议数据格式有byte/bit/ASCII码,最终都会转换二进制发送
 
- 常见的蓝牙协议数据格式有
 
1.3-蓝牙连接核心技术点介绍
- 
1.蓝牙发送数据最终是通过特征 CBCharacteristic来发送的,我们扫描硬件(外设),发现外设的服务,最终的目的都是为了找到对应的特征
- 
2.蓝牙最核心的内容并不是代码,代码是固定的。最核心的是协议,一般蓝牙的数据协议都会加密,如果不加密的话任何人都可以连接你的硬件给你的硬件发送数据 - 遗憾的是,小米手环第一代居然没有加密,所以我们就写的demo就可以给小米手环发送数据
 
- 
3.在蓝牙开发的时候,一定要注意蓝牙芯片的接收速率 - 比如说质量差的芯片,需要5ms才能读取一次数据,而我们APP2ms一次频繁发送数据,就会导致有些数据无法被硬件识别 
 - 这就叫数据的丢包
 
 
- 比如说质量差的芯片,需要5ms才能读取一次数据,而我们APP2ms一次频繁发送数据,就会导致有些数据无法被硬件识别 

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号