蓝牙(CoreBluetooth)-概述
蓝牙(CoreBluetooth)-概述
- 通过此框架可以让你的Mac和iOS应用程序与外部蓝牙设备通信
- 外部设备: 就是需要通过iOS App控制器的其他设备: 例如:心率检测仪、数字温控器
- 蓝牙通讯是基于传统的CS结构:客户端(中心设备)—-服务器(外部设备)
- 中心设备: 我们手机的App
- 外部设备: 通过iOS App控制器的其他设备
客户端—-服务器
- 服务端(外部设备)数据构成
服务端(外部设备)数据构成
- 外部设备作为服务端进行交互
外部设备就像一个信号塔,不停向外部广播自己的数据.中心设备就可以通过扫描找到外部设备,然后进行连接和数据交互.外部设备作为服务端进行交互 - 中心设备内部数据的关系树状图
中心设备内部数据的关系树状图
说明: 在中心设备端,可以通过扫描获取一个外部设备对象,该外设对象内部有若干个服务,每一个服务下面有若干个特征.特征是用于数据的交互的单元,也就是我们的App(中心设备) 与 心率测试仪(外部设备) 进行数据交互必须通过特征才可以.
- Mac、iPad、iPhone也可以作为服务端交互
Mac、iPad、iPhone也可以作为服务端交互
- 外部设备内部数据的类树状图
外部设备内部数据的类树状图
说明: 在中心设备中,服务和特征都是不可变的,也就是只能读不能写. 只有外设本身才能对自己的服务和特征进行新增和修改操作.
所有在外设端的服务和特征是可变的.
一个外设中可以添加若干个服务,一个服务中可以添加若干个特征.只有通过特征,中心设备(我们的App)才能与外部设备(通过我们App控制的其他设备)
进行通信.
蓝牙(CoreBluetooth)-概述的更多相关文章
- 蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)
关键词:蓝牙核心技术协议 irDA BNEP AVDTP AVCTP 作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢! )欢迎指正错误,共同学习.共同进步!! 下载链接:Bl ...
- 蓝牙(CoreBluetooth)-外部设备(服务端)
蓝牙(CoreBluetooth)-外部设备(服务端) 主要内容 1. 创建外部管理器对象 2. 设置本地外设的服务和特征 3. 添加服务和特征到到你的设置的数据库中 4. 向外公布你的的服务 5. ...
- 蓝牙(CoreBluetooth)-中心设备(客户端)
蓝牙(CoreBluetooth)-中心设备(客户端) 蓝牙客户端-中心设备 主要内容 1. 创建`中央管理器` 2. 发现并且连接外设 3. 寻找连接上的外设数据 4. 发送读或写`特征值`的请求 ...
- 蓝牙 CoreBluetooth
baseK(相关基础知识)蓝牙常见名称和缩写 BLE:(Bluetooth low energy)蓝牙4.0设备因为低耗电,也叫BLEperipheral,central:外设和中心设备,发起链接的是 ...
- 蓝牙LMP概述
LMP 全称是Link Manager Protocol,我们还是要一张图,说明LMP 在哪里? 他是在HCI 以下,baseband 以上,实现在蓝牙控制器中. 按照协议规范,我们分几个部分来分别介 ...
- 蓝牙baseband概述
从蓝牙specispecification中看,基带协议主要分为8个部分来介绍的,分别是概述.物理信道.物理连接.逻辑传输.逻辑连接.封包.比特流的处理.组网行为.这里面会涉及到很多的概念,主要是在概 ...
- 蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)(转载)
一.主机控制接口协议 HCI 蓝牙主机-主机控模型 蓝牙软件协议栈堆的数据传输过程: 1.蓝牙控制器接口数据分组:指令分组.事件分组.数据分组(1).指令分组 如:Accpet Connection ...
- iOS蓝牙--CoreBluetooth基本使用
蓝牙使用步骤: 1. 扫描外设 2. 连接外设 3. 连上外设后,获取指定外设的服务 4. 获取服务后,遍历服务的特征,得到可读,可写等特征,然后与中心管理者进行数据交互 附上代码 一:导入框架 #i ...
- Qt 蓝牙部分翻译
这是我第一次尝试翻译技术文档,自己英语太烂,一直不敢尝试,感谢生活,让我勇敢迈出这第一步. 大部分都是直译,如有不妥,还请制导. Qt Bluetooth The Bluetooth API prov ...
随机推荐
- 安装Python3.6.x
#安装依赖包 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel -y #下载Python3.6.x wget https:/ ...
- gdc skin
https://www.gdcvault.com/play/1024410/Achieving-High-Quality-Low-Cost 这篇是教美术怎么用做地形那种方法 复用贴图 做skin的 做 ...
- Tile based Rendering 二 tbr and tbdr 优化建议tiled based deferred rendering
http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-TileBasedArchitectures.pdf tbr 和tbdr ...
- LeetCode——3Sum & 3Sum Closest
3Sum 题目 Given an array S of n integers, are there elements a,b,c in S such that a + b + c = 0? Find ...
- strcpy,memcpy,memmove和内存重叠分析
一:strcpy函数用法和实现: /* GNU-C中的实现(节选): */ char* strcpy(char *d, const char *s) { char *r=d; while((*d++= ...
- android 步骤控件的使用
有的时候我们做Android开发会用到表示步骤的需求.这时候github给我们提供了一个非常好地表示步骤的组件,使用她仅仅须要4步就能够完毕了. 项目地址https://github.com/anto ...
- dubbo forbid 注意的几种方式
1.检查所调用的项目模块是否起来了 2.如果起来后,检查该模块配置是否正确 3.服务端起来后与管理端的项目内容不一致(比如服务端增加了东西,管理端没有更新)
- POJ 2976 Dropping tests (最大化平均值)
题目链接:click here~~ [题目大意]给你n个分数的值,要求最小不选k个,使得最后分数相加结果平均值最大 [解题思路]:最大化平均值:參见:click here~~ 代码: #include ...
- C#开发Unity游戏教程循环遍历做出推断及Unity游戏演示样例
C#开发Unity游戏教程循环遍历做出推断及Unity游戏演示样例 Unity中循环遍历每一个数据,并做出推断 非常多时候.游戏在玩家做出推断以后.游戏程序会遍历玩家身上大量的所需数据,然后做出推断. ...
- CopyOnWriteArrayList操作java.lang.UnsupportedOperationException
问题一:CopyOnWriteArrayList不能强制转换成ArrayList 解决的方法:将CopyOnWriteArrayList传入ArrayList中 ArrayList<T> ...