[iOS蓝牙]蓝牙连接并通过特征CBCharacteristic读写数据
来源:互联网 发布:js 逗号运算符 编辑:程序博客网 时间:2024/05/18 00:44
本文主要涉及的是手机作为中心设备,搜索周边的外围设备,这在大部分的实践中比较常见。
下一篇将写手机作为周边,建立一个蓝牙热点(个人认为),让中心设备搜索。
开发流程
在实践中,主要的开发流程有以下:
1. 新建Central Manager实例并进行监听蓝牙设备状态
2. 开始搜索外围设备,通过delegate获得数据
3. 连接外围设备,delegate通知连接结果
4. 获得外围设备的服务,delegate获得结果
5. 获得服务的特征,delegate获得结果
6. 根据服务和特征给外围设备发送数据
7. 根据delegate回调,从外围设备读数据
蓝牙相关解释
本文要介绍的CoreBluetooth,专门用于与BLE设备通讯。并且现在很多蓝牙设备都支持4.0,4.0以其低功耗著称,所以一般也叫BLE(Bluetoothlow energy),所以也是在iOS比较推荐的一种开发方法。
Central(中心设备);
Peripheral(外围设备);
advertising(广告);
Services(服务);
Characteristic(特征)
CoreBluetooth介绍
在CoreBluetooth中有两个主要的部分,Central和Peripheral,CBPeripheralManager 作为周边设备。CBCentralManager作为中心设备。所有可用的iOS设备可以作为周边(Peripheral)也可以作为中央(Central),但不可以同时既是周边也是中央。
周边设备(Peripheral)设备是广播设备的数据,中央设备(Central)是管理并且使用这些数据的设备。
也就是说周边(Peripheral)向周围发送广播,告诉周围的中央设备(Central)它(周边(Peripheral)这里有数据,并且说明了能提供的服务和特征值(连接之后才能获取),
其实蓝牙传值相当于网络接口,硬件的service的UUID加上characteristic的UUID,
打一个比喻:service的UUID相当于主地址,characteristic的UUID相当于短链接,短链接必须是主地址的分支,拼在一起的是接口,你和硬件设定的蓝牙传输格式类似于json,双方可识别的数据,因为蓝牙只能支持16进制,而且每次传输只能20个字节,所以要把信息流转成双方可识别的16进制
先上代码:代码地址,博客以后在码。
- [iOS蓝牙]蓝牙连接并通过特征CBCharacteristic读写数据
- iOS蓝牙开发:蓝牙连接和数据读写
- iOS蓝牙开发:蓝牙连接和数据读写
- iOS蓝牙开发:蓝牙连接和数据读写
- ActiveSync通过蓝牙连接
- IOS蓝牙连接和发送数据
- IOS-蓝牙后台连接
- iOS蓝牙连接外设
- iOS 蓝牙连接
- iOS开发 蓝牙连接
- 设备通过蓝牙连接并相互通信问题
- iOS蓝牙库 连接 蓝牙数据处理
- App 和设备通过蓝牙连接收发数据
- iOS开发中通过蓝牙连接蓝牙打印机设备进行小票打印
- 安卓蓝牙4.0以上连接多台设备并接收蓝牙设备数据
- iOS的蓝牙连接、数据接收及发送
- iOS的蓝牙连接 数据接收及发送
- iOS 蓝牙连接的流程
- 数据库事务的理解
- 浅谈java内存堆栈
- 如何在tableau里自定义形状
- LintCode : 合并两个排序链表
- linux 命令 小计
- [iOS蓝牙]蓝牙连接并通过特征CBCharacteristic读写数据
- Qt之界面切换(360、新浪、人人界面,多语化切换随心所欲)
- 01 简介语法点
- ubnutu小知识
- 在Ubuntu下生成动态库与静态库
- (转)onNewIntent调用时机
- POJ 3904 (容斥定理)
- 【软件工具】(一)markdown如何打开和使用
- PAT_乙级_1003_筱筱