iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看158 回复回复2 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 158|回复: 2
收起左侧

iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理

[复制链接]
SwiftRobot 发表于 2016-9-27 02:10:04 | 显示全部楼层 |阅读模式
快来登录
获取最新的苹果动态资讯
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码
本帖最后由 SwiftRobot 于 2016-9-27 02:24 编辑


不妨想一下,我们在与人交流的时候需要做些什么,当然,我们先实现设备作为central时的数据接收和处理。

  • 辨明对方的身份,如果他是你想听他说话的人,那就听他说吧(废话)。
  • 接收别人说的话,大脑对这些信息进行处理。
  • 注意保持听取,不要就听一会儿,态度端正一点。



在程序中我们做的方式可以类比过去(用CBCentralManager实现):

  • 搜索相应Peripheral并连接。
  • 连接后进行数据接收,对里面的characteristic进行读写。
  • 保持数据的更新回调。



贴一下代码来解释一下:

iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理 1

iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理 - 敏捷大拇指 - iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理 1

central

当然现在还没有太多内容,取决于你的需求

[Swift] 纯文本查看 复制代码
COCenManager.scanForPeripheralsWithServices([CBUUID]?, options: [String:AnyObject]?)


这个方法里要传入设备service的UUID数组,设备就会搜索具有这些UUID的service的设备,这个就需要知道UUID的一些东西了,他其实是作为一个标签一样的存在,可以自己查一下相关的知识,这里不再详细讲解。UUID是nil,那就会搜索所有设备。

经过这几步(参数确定,不要像我这样。)我们就建立了设备与peripheral的连接,注意,如果连接失败需要在didFailToConnectPeripheral里做出响应。

iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理 2

iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理 - 敏捷大拇指 - iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理 2

discoverService

discoverService传入一个CBUUID数组,如果填入nil则是默认搜索了所有的service,当然不推荐这么做,这样会耗费没必要的电量和时间。当调用这个函数成功之后,设备会回调

[Swift] 纯文本查看 复制代码
func peripheral(peripheral:CBPeripheral, didDiscoverServices error:NSError?)


在这个函数里面我们可以对所需要的service进行提取处理。首先我们最想做的就是提取出他所提供的的内容——characteristic。

[Swift] 纯文本查看 复制代码
discoverCharacteristics([CBUUID]?, forService:CBService)


就是这个了!用peripheral获得相应service的Characteristics的UUID数组,就可以读取啦。




相关内容

iOS CoreBluetooth的Swift实现(1)蓝牙硬件产品开发的基本姿势

iOS CoreBluetooth的Swift实现(2)设备作为central的数据处理

iOS CoreBluetooth的Swift实现(3)读取characteristic数据




作者:COOPERC

都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元

评分

参与人数 1金钱 +10 贡献 +10 专家分 +10 收起 理由
Anewczs + 10 + 10 + 10 32个赞!专家给力!

查看全部评分

本帖被以下淘专辑推荐:

cocoaswift 发表于 2016-9-27 20:32:02 | 显示全部楼层
通信会话原理差不多啊
智能科技 发表于 2016-9-29 13:27:38 | 显示全部楼层
cocoaswift 发表于 2016-9-27 20:32
通信会话原理差不多啊

原理当然都差不多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表