iOS蓝牙4.0开发(一)与外设通讯

iOS备忘录]BLE测试传输速度[objectiv-c] 做了个简单的测试BLE传输速度的app,central使用Mac,peripheral使用iphone6 并非通过传统的传输文件进行测试,所以对于传输文件的问题并不适用。 peripheral接收到central的读取数据请求时,每次传送100Byte的数据。 (为什么是100Byte呢?因为楼主测试时,每次最大能传输的数据量是102Byte。。。) 在central可以设置 阅读详情

蓝牙协议本身经历了从1.04.0的升级演变,最新的4.0以其低功耗著称,所以一般也叫BLE(Bluetoothlow energy)


iOS有两个框架支持蓝牙与外设连接。一个是 ExternalAccessory。从ios3.0就开始支持,也是在iphone4s出来之前用的比较多的一种模式,但是它有个不好的地方,External Accessory需要拿到苹果公司的MFI认证。


另一个框架则是本文要介绍的CoreBluetooth,iphone4s开始支持,专门用于与BLE设备通讯(因为它的API都是基于BLE的)。这个不需要MFI,并且现在很多蓝牙设备都支持4.0,所以也是在IOS比较推荐的一种开发方法。


CoreBluetooth框架的核心其实是两个东西,peripheralcentral,可以理解成外设和中心。对应他们分别有一组相关的API和类。


周边(Peripheral)是生成或者保存了数据的设备,中央(Central)是使用这些数据的设备。所有可用的iOS设备可以作为周边(Peripheral)也可以作为中央(Central),但不可以同时既是周边也是中央。


周边和中央这两个角色在CoreBluetooth框架中是用两个类来表示的,CBPeripheralManager这个类代表周边,CBCentralManager这个类代表中央。

在中央这边,一个CBPeripheral对象代表着相应的和中央连接着的周边;同样的,在周边这边,一个CBCentral 对象代表着相应的和周边连接着的中央。

你可以认为周边是一个广播数据的设备,他广播到外部世界说他这儿有数据,并且也说明了能提供的服务。另一边,中央开始扫描附近有没有服务,如果中央发现了想要的服务,然后中央就会请求连接周边,一旦连接建立成功,两个设备之间就开始交换传输数据了。


在中央这边,CBService类代表服务,CBCharacteristic 类代表特征。

在周边这边,CBMutableService类代表服务,CBMutableCharacteristic 类代表特征。


每个蓝牙4.0的设备都是通过服务和特征来展示自己的,一个设备必然包含一个或多个服务,每个服务下面又包含若干个特征。特征是与外界交互的最小单位。比如说,一台蓝牙4.0设备,用特征A来描述自己的出厂信息,用特征B来与收发数据等。

每一个服务和特征都需要用一个UUIDunique identifier)去标识,UUID是一个16bit或者

iOS开发 之 可穿戴设备 蓝牙4.0 BLE 开发 1 前言当前有越来越多的可穿戴设备使用了蓝牙4.0 BLE(Bluetooth Low Energy)。对于iOS开发而言,Apple之前专门推出CoreBluetooth的Framework来支持BLE开发。对于硬件开发有了解的朋友应该知道,在之前使用低版本的蓝牙的设备,要连接到iOS设备上,需要注册MFI,拥有MFI协议才能进行相应的开发。如果大家关注我之前对LEGO EV3的研究,就可以发现 阅读详情

相关推荐

iOS开发蓝牙4.0 -- BLE开发

前言—— 常用概念用语: MFI ( make for ipad ,iphone, itouch)  -------- 专们为苹果设备制作的设备 BLE (buletouch low energy)                  --------  蓝牙4.0设备因为低耗电,所以也叫做BLE peripheral                             

xinzhaoyu的博客 3080

iOS 蓝牙开发中的 BT BLE

iOS 开发中,BT(Bluetooth Classic) 和 BLE(Bluetooth Low Energy) 是两种不同的蓝牙技术,尽管它们源自同蓝牙规范,但应用场景、协议栈和 API 支持存在显著差异。BT 主要用于高带宽、持续连接的应用,如音频传输和车载电话,iOS 仅对少数系统级 Profile 开放,开发者通常需要通过 ExternalAccessory 或 MFi 方案进行通信。而 BLE 则专为低功耗、间歇数据传输设计,如传感器和智能穿戴设备,iOSiOS 5 起通过 Core

侯仕奇的博客 2449

iOS蓝牙4.0开发(二)iOS设备之间的通讯

节通过外设之间文件传输讲解了中心角色(central),这节通过iOS设备间的数据传输来详细讲解外设角色(peripheral) 实现细节 首先在我自己类的头文件中要包含CoreBluetooth的头文件,并继承协议CBPeripheralManagerDelegate 1.创建我们的外设角色 _peripheralManager = [[CBPeripheralManager

小T是我 1721

iOS开发蓝牙4.0 BLE开发

物联网时代的到来,智能硬件层出不穷。蓝牙低功耗技术(BLE,Bluetooth Low Energy)使得蓝牙4.0的应用越来越广泛,比如小米手环就是使用蓝牙4.0来传输数据。在蓝牙4.0之前,iOS蓝牙功能作为私有,开发者只能使用蓝牙开发联机游戏而不能和第三方蓝牙设备通信

張行之的专栏 3691

iOS 通信协议—— 蓝牙通信

这几天小伙伴又给我提了个新需求,要求给他们的项目提供iOS端的蓝牙通信App,虽然iOS也做过些,Objective C和Swift多少也知道些,不过并没有深入的研究过iOS开发,为了节省工期囫囵吞枣的看了些资料,像之前那篇文章样,我这里就不舞大刀,我把我参考的资料就放在下面这里,你如果需要可以去看看。 《[iOS/swift]蓝牙连接》 Github代码仓库:MichaelLynx/BleDemo 《Swift CoreBluetooth 蓝牙库》 我参考这些资料和代码的基础上,重写了.

老程的技术笔记 2972

ios蓝牙开发

ios蓝牙开发

逝水无情的博客 6422

iOS--MultipeerConnectivity蓝牙通讯

iOS开发–通过MultipeerConnectivity完成蓝牙通讯

Abe的学习之路 3036

微信蓝牙外设开发记录 - 3 (Android微信蓝牙BEL设备通讯)

1. 前言 上篇文章了关于微信蓝牙外设的调试过程中,微信蓝牙外设微信小程序之间进行通讯。这篇文章将记录的是Android微信蓝牙外设,通过微信蓝牙外设协议中的数据透传通道,如何单片机端自定义通讯。 2. 微信蓝牙外设 关于微信蓝牙外设下相关的,可以请移步到我前两篇文章。 由于protobuf 是谷歌开发的开源项目,而Android 也是Google 亲儿子。因此,...

gd6321374的专栏 1370

IOS蓝牙4.0读卡器通讯

IOS学习也段时间了,该上点干货了。前段时间研究了IOS蓝牙通讯相关的东西,把研究的个成果给大家分享下。 项目背景 简单介绍下做的东西,设备是个金融刷卡器,通过蓝牙iphone手机通讯。手机端的app通过发送不同的指令(通过蓝牙)控制刷卡器执行些动作,比如读磁条卡,读金融ic卡等。上几张图容易理解些: 看了上面几张图,...

lucasma的博客 12万+

iOS 蓝牙4.0开发使用(内附Demo)

: 介绍 近几年,智能设备越来越火,这些智能设备中,有很大部分是通过手机来控制硬件设备,来达到预期的效果,这中间少不了要使用到蓝牙功能,通过蓝牙来通信来控制设备。 蓝牙分为蓝牙2.0蓝牙4.0蓝牙2.0为传统蓝牙,传统蓝牙也称为经典蓝牙蓝牙4.0因为低耗电,所以也叫做低功耗蓝(BLE),它将三种规格集体,包括传统蓝牙技术、高速技术和低耗能技术。 这篇文章用来介绍BLE 4.0的使用...

记录从移动端、鸿蒙到物联网与AI的完整实战与思考。专注于分享可复用的工程方案与产品思维,尤其深入鸿蒙生态与全栈开发。以十年工程与管理沉淀,为你提供清晰的技术纵深路径。坚信技术的价值在于“贯通”与“落地”。 2461

iOS蓝牙通讯开发快速上手

目录 思维导图 苹果对蓝牙设备的要求 操作蓝牙设备使用的库 如何扫描 如何连接 如何发送数据和接收数据 如何解析数据 扩展 1. 思维导图 蓝牙知识的结构图 蓝牙数据通讯流程图 2. 苹果对蓝牙设备的要求 BLE:bluetouch low energy,蓝牙4.0设备因为低功耗,所有也叫作 BLE。苹果在 iPhone 4s 及之后的手机型号开始支持蓝牙 4.0,这也是最常见的蓝牙设备。低于蓝牙 4.0 协议的设备需要进行 MFI 认证。 在进行操作蓝牙设备前,我们先下载蓝牙工具 LightBlu

GSNICE 1954

移动端开发进阶之蓝牙通讯

移动端进阶之蓝牙通讯需要综合考虑蓝牙版本选择、协议栈使用、服务匹配、设备连接、安全性和硬件支持等方面。

Kevin写代码 1675

ios MultipeerConnectivity蓝牙通讯

iOS蓝牙通讯的三种方式: GameKit.framework:iOS7之前的蓝牙通讯框架,从iOS7开始过期,但是目前已经被淘汰。(不做介绍) MultipeerConnectivity.framework:iOS7开始引入的新的蓝牙通讯开发框架,用于取代GameKit。(详细介绍) CoreBluetooth.framework:功能强大的蓝牙开发框架,要求设备必须支持蓝牙4.0。 MultipeerConnectivity实现蓝牙通讯 前面已经说了GameKit相关的蓝

sjqsjq23的专栏 478

关于: 安卓能否iphone通过蓝牙4.0(BLE)通讯?

截止到目前(2014年11月24), 安卓shou

喜欢编程, 就是朋友 7959

iOS关于蓝牙连接的简单介绍使用

下面是两台iPhone6连接同蓝牙设备的结果: **成功连接**** peripheral: with UUID: 50084F69-BA5A-3

hbblzjy的博客 1万+

iOS-蓝牙4.0开发(踩过的坑)

前言 来公司整整年了,做得项目全部涉及蓝牙。坑应该给我踩得差不多了吧,但是直没有做记录,今天就好好地回顾下项目,总结下踩过的坑,希望对大家有所帮助。PS:本文重点不在于CoreBluetooth框架的使用,而是实现业务需求时需要注意的事项。 另:推荐LightBlue App,基于CoreBluetooth。是BLE开发的调试利器,该App上能获取的数据,你就能用代码实现。蓝牙设备通讯协议上写明有的数据,但是获取不了,那就是硬件那边的问题了。 LightBlue 坑0蓝牙版本 蓝牙4.0

feelinghappy的专栏 2140

IOS学习之蓝牙4.0 BLE

转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/26740237 作者:小马 IOS学习也段时间了,该上点干货了。前段时间研究了IOS蓝牙通讯相关的东西,把研究的个成果给大家分享下。   项目背景 简单介绍下做的东西,设备是个金融刷卡器,通过蓝牙iphone手机通讯

3万+

iOS蓝牙4.0 CoreBluetooth框架开发

CoreBluetooth框架的核心其实是两个东西,peripheral和central,可以理解成外设和中心。对应他们分别有组相关的API和类。周边(Peripheral)是生成或者保存了数据的设备,中央(Central)是使用这些数据的设备。所有可用的iOS设备可以作为周边(Peripheral)也可以作为中央(Central),但不可以同时即是周边也是中央。周边和中央这两个角色在CoreBl

lizhijun_____ 1319
上一篇: 享元模式
下一篇: iOS蓝牙4.0开发(二)iOS设备之间的通讯
小T是我
博客等级 码龄17年 169粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值