一 概述

  • IOS开发中蓝牙的实现方案
  • CoreBluetooth核心结构图和基本常识
  • CoreBluetooth开发步骤

二 IOS开发中蓝牙的实现方案

IOS中提供了4个框架用于实现蓝牙连接

2.1 GameKit.framework(用法简单-已过时)

只能用于iOS设备之间的连接,多用于游戏(比如五子棋对战),从iOS7开始过期

2.2 MultipeerConnectivity.framework

只能用于iOS设备之间的连接,从iOS7开始引入,主要用于文件共享(仅限于沙盒的文件)

2.3 ExternalAccessory.framework

可用于第三方蓝牙设备交互,但是蓝牙设备必须经过苹果MFi认证(国内较少)

2.4 CoreBluetooth.framework(主流)

  • 可用于第三方蓝牙设备交互,必须要支持蓝牙4.0
  • 硬件至少是4s,系统至少是iOS6
  • 蓝牙4.0以低功耗著称,一般也叫BLE(Bluetooth Low Energy)
  • 目前应用比较多的案例:运动手坏、嵌入式设备、智能家居

三 CoreBluetooth核心结构图和基本常识

3.1 CoreBluetooth核心结构图

3.2 CoreBluetooth基础知识

  • 每个蓝牙4.0设备都是通过服务(Service)和特征(Characteristic)来展示自己的
  • 一个设备必然包含一个或多个服务,每个服务下面又包含若干个特征
  • 特征是与外界交互的最小单位。比如说,一台蓝牙4.0设备,用特征A来描述自己的出厂信息,用特征B来收发数据
  • 服务和特征都是用UUID来唯一标识的,通过UUID就能区别不同的服务和特征
  • 设备里面各个服务(service)和特征(characteristic)的功能,均由蓝牙设备硬件厂商提供,比如哪些是用来交互(读写),哪些可获取模块信息(只读)等

四 CoreBluetooth开发步骤

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

IOS开发之——硬件开发-蓝牙介绍(05)相关推荐

  1. CortexA7工业级迅为-iMX6UL开发板硬件和资料介绍

    CortexA7工业级迅为-iMX6UL开发板硬件和资料介绍 商业级核心板 ARM Cortex-A7架构 主频高达528 MHz 核心板512M DDR内存 8G EMMC 存储 运行温度:-20℃ ...

  2. 软件开发、硬件开发、IPD产品开发 及 工程开发各阶段划分

    软件开发.硬件开发.IPD产品开发 及 工程开发各阶段划分 参考链接:https://zhuanlan.zhihu.com/p/427246890 1.软件开发阶段划分: Alpha.Beta.RC. ...

  3. 软件开发和硬件开发编程的比较

    [对本站的Web文本编辑器感到头疼,我在记事本里编的代码整整齐齐,贴到这里就歪歪扭扭.] /// <summary>/// C# .Net满意度的枚举./// </summary&g ...

  4. IOS开发之——硬件开发-蓝牙(06)

    一 概述 本文介绍通过CoreBluetooth进行蓝牙操作的示例,包含 项目界面介绍 蓝牙权限授予 功能开发(蓝牙扫描.停止扫描.清空设备) 二 项目界面介绍 说明: 上面是个UITableView ...

  5. IOS开发之——硬件开发-蓝牙(07)

    一 概述 点击设备列表连接设备 设备连接情况说明 设备连接成功后扫描Service服务 Service服务获取之后获取CBCharacteristic特征值 二 点击设备列表连接设备 2.1 设置UI ...

  6. adrv9003/ADRV9001/ADRV9002 FPGA驱动开发(硬件开发)

    前面有简单介绍下ADRV9002,具体可参见 https://blog.csdn.net/jingjiankai5228/article/details/124436709 9001系列芯片相比之前的 ...

  7. 【连载】【FPGA黑金开发板】NIOS II那些事儿--硬件开发(一)

     声明:本文为原创作品,版权归黑金动力社区(http://www.heijin.org)所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 前言 从今天开始,NIO ...

  8. iOS蓝牙原生封装,助力智能硬件开发

    代码地址如下: http://www.demodashi.com/demo/12010.html 人工智能自1956年提出以来,一直默默无闻,近年来人工智能的发展得到重视逐渐发展起步,智能硬件.智能手 ...

  9. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总...

    iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...

  10. iOS开发长文--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总

    iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...

最新文章

  1. 《高性能Linux服务器构建实战》封面照出炉
  2. eBook 功能模块二之设置模块
  3. RabbitMq--1
  4. 函数、指针、数组的组合 及结构体和共用体
  5. php 插件 代码架构,php反射机制详以及插件架构实例详解
  6. This may cause things to work incorrectly. Make sure to use the same version for both.
  7. beginnersbook C 语言示例·翻译完成 | ApacheCN
  8. Qt4_IconEditor窗口部件
  9. 程序员鼓励师是什么?
  10. 华为OSPF多区域+路由重发布/路由引入
  11. 分享小知识:善用Group By排序
  12. lte matlab code,LTE-MATLAB
  13. 高等数学张宇18讲 第十八讲 第二型曲线曲面积分
  14. 通达OA清空admin管理员账号的密码
  15. java rf14bug_让云平台发生重大宕机事故的15个方法
  16. Python简单版本flappy_bird
  17. Bitmap 图片缩放
  18. Cannot add or update a child row: a foreign key constraint fails都有哪些原因
  19. 入门学习编程培训有哪些科目课程适合?
  20. 建博第一天。。。希望每天都有进步,,加油!!!如你的昵称!!!

热门文章

  1. 三人表决器Verilog
  2. Hadoop概述--四大组件架构及其关系
  3. Python实现统计代码行数功能
  4. 30个值得推荐的数据可视化工具--转
  5. EXCEL 求解线性规划问题
  6. java astar_JAVA-Astar算法实现
  7. 基于springBoot的薪资管理系统
  8. 怎么学习大数据,入门大数据要掌握哪些知识?
  9. 十大品牌去除甲醛净化器 哪个品牌好
  10. java 下载文件的文件名乱码_java下载文件名乱码解决方法介绍