博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发之BLE(一)——理论知识
阅读量:6158 次
发布时间:2019-06-21

本文共 943 字,大约阅读时间需要 3 分钟。

在iOS开发中,我们最常用的蓝牙开发框架应该是Core Bluetooth,因为它可以与第三方蓝牙设备交互(必须要支持蓝牙4.0),蓝牙4.0以低功耗著称,所以一般也叫BLE(Bluetooth Low Energy),目前广泛应用于智能手环,智能嵌入式设备,智能家居等领域。笔者最近需要用到这个知识,所以一起来学习一下吧。在Core Bluetooth中提供了与蓝牙设备进行通信所需的类与协议,所以在开发之前一定要将他们的关系弄清楚,那么开发起来才会事半功倍。

Apple 官方文档地址:

重要的类与协议

  • CBCentral:中心设备,发起连接的是CBCentral
  • CBCentralManager:中心设备管理者,类似定位中的CLLocationManager
  • CBPeripheral:外围设备,被连接的设备是CBPeripheral
  • CBService:外围设备的服务,每个外围设备都会提供很多服务
  • CBCharacteristic:外围设备的特征,包含在每个服务里
  • CBDescriptor:用于描述CBCharacteristic的信息或属性
  • CBCentralManagerDelegate:CBCentralManager对象遵守的协议,用于监视外围设备的发现、连接和检索
  • CBPeripheralDelegate:CBPeripheral对象遵守的协议,用于监视外围设备的服务和属性的发现、检索和交互

两种开发模式

  • 中心模式:如下图左边所示,以App为中心,连接其他的外设进行通信;(常见开发模式
  • 外设模式:如下图右边所示,使用手机作为外设,连接其他中心设备进行通信;

中心模式的开发步骤

  1. 创建CBCentralManager实例进行蓝牙管理
  2. 搜索外围设备
  3. 连接外围设备
  4. 获得外围设备的服务
  5. 获得服务的特征
  6. 从外围设备读数据(读取或订阅)
  7. 向外围设备写数据
  8. 断开连接

注意问题

  • 不要对Core Bluetooth中的任何类进行子类化
  • iOS 10以后需要在info.plist文件中加上NSBluetoothPeripheralUsageDescription

转载于:https://juejin.im/post/5cc64dd96fb9a0323a01bf22

你可能感兴趣的文章
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>
[20170628]12C ORA-54032.txt
查看>>
linux运维人员的成功面试总结案例分享
查看>>
Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
查看>>
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
RAC表决磁盘管理和维护
查看>>
Apache通过mod_php5支持PHP
查看>>
发布一个TCP 吞吐性能测试小工具
查看>>
java学习:jdbc连接示例
查看>>
PHP执行批量mysql语句
查看>>
Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块
查看>>
Silverlight 如何手动打包xap
查看>>
建筑电气暖通给排水协作流程
查看>>
JavaScript面向对象编程深入分析(2)
查看>>
linux 编码转换
查看>>
POJ-2287 Tian Ji -- The Horse Racing 贪心规则在动态规划中的应用 Or 纯贪心
查看>>
Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月7日-1月14日)
查看>>
关于C#导出 文本文件
查看>>
使用native 查询时,对特殊字符的处理。
查看>>