太阳集团5493conlogo

  • 微博
  • 微信
  • QQ好友
  • QQ空间
  • 百度
详细内容

小程序•小故事(11)——低功耗蓝牙能力-杭州微信小程序公众号直播商城开发为你转播

在无线通信领域,蓝牙是最基础又常用的能力。蓝牙组网十分简单,两设备间做个配对就可以建立起连接,其通信距离理论值为10米至100米以内,是近距离通信应用场景的首选。今天我们想跟大家分享小程序连接蓝牙的能力。



目前蓝牙最为普遍的两种规格为蓝牙基础率/增强数据率 (BR/EDR) 和低功耗 (LE) 蓝牙。


蓝牙基础率/增强数据率 (BR/EDR) 是经典的蓝牙协议,常用在对数据传输带宽有一定要求的场景上,比如需要传输音频数据的蓝牙音箱等;


低功耗 (LE) 蓝牙是从蓝牙4.0起支持的协议,特点就是耗电极低、传输速度更快,常用在对续航要求较高且只需小数据量传输的各种智能电子产品中,包括心率监测仪器、体温计、血糖仪、智能穿戴设备、胎压监测和电子烟等等,应用场景广泛,所以小程序在很早的版本(基础库 1.1.0)就优先支持了低功耗蓝牙能力。


我们在开发基于低功耗蓝牙接口的小程序时,需要先理解一下蓝牙在连接和通信过程中的一些概念。


工作模式


低功耗蓝牙协议给设备定义了若干角色,其中最主要的角色是:外围设备(Peripheral)中心设备(Central)


1

外围设备是用来提供数据,通过不停地向外广播数据,让中心设备发现自己。


2

中心设备会扫描外围设备,发现有外围设备存在后,可以与之建立连接,之后就可以使用外围设备提供的服务(Service)。一般而言,手机会担任中心设备的角色,利用外围设备提供的数据进行处理或展示等等。因此,小程序提供低功耗蓝牙接口是默认设定手机为中心设备的。


通信协议


在两个蓝牙设备建立连接之后,双方的数据交互是基于一个叫做 GATT (Generic Attribute Profile) 的规范,根据该规范可以定义出一个个配置文件(Profile),描述该蓝牙设备提供的服务(Service)。


在整个通信过程中,有三个最主要的概念:配置文件(Profile)、服务(Service)、特性(Characteristic)。


1

Profile 并不真实存在于蓝牙设备中,它只是被蓝牙标准预先定义的一些 Service 的集合,如果蓝牙设备之间要相互兼容,它们只要支持相同的 Profile 即可。一个蓝牙设备可以支持多个 Profile。


2

Service 可以理解为蓝牙设备提供的服务,一个设备可以提供多个服务,比如电量信息服务、系统信息服务等。每个 Service 又包含多个 Characteristic 特性值,比如电量信息服务就会有个 Characteristic 表示电量数据,同时还会有一个 16bit 或 128bit 的 UUID 唯一标识该服务,像微信硬件平台的蓝牙智能灯的主服务 UUID 为 0xFEE7。16 bit 的 UUID 实际上是 128 bit 的缩短版,接收方收到后会补上蓝牙的 UUID 基数,目的是为了提高传输效率。


3

Characteristic 是在 GATT 规范中最小的逻辑数据单元,由一个 value 和多个描述特性的 Desciptor 组成。实际上,在与蓝牙设备打交道,主要就是通过读写 Characteristic 的 value 完成。同样的,Characteristic 也是通过一个 16bit 或 128bit 的 UUID 唯一标识。


总结一下,如下图所示,我们可以简单地理解为:每个蓝牙设备可能提供多个 Service,每个 Service 可能有多个 Characteristic,我们根据蓝牙设备的协议用对应的 Characteristic 进行读写即可达到与其通信的目的。


1.jpg


在理解了上面的模式和概念后,接下来我们看看如何可以使用小程序提供的蓝牙接口。


Step 1 :扫描并发现蓝牙外围设备

扫描并发现蓝牙外设。如果蓝牙功能未开启,可监听蓝牙状态变化以便自动进入下一步,提升用户体验。


Step 2 :连接蓝牙外围设备

若之前连接过某个设备,可跳过扫描步骤,直接传入 deviceId 连接。


Step 3 :查找蓝牙外围设备的服务


Step 4 : 读写指定服务的特性值


基本上,小程序暴露出来的蓝牙接口都是系统级 API ,但在使用流程上对安卓和 iOS 两个平台做了统一,因此在使用这一套接口时也会出现一些因系统限制而导致的问题,在这里我们整理了一些常见的问题供开发者参考:


1

在安卓上,部分机型无定位权限或者是定位开关未打开时会搜不到设备。原因是蓝牙功能是可以获取到定位的,系统基于安全考量,使用蓝牙接口时必须要有定位权限,否则搜索不到;


2

在安卓上,部分机型获取设备服务时会多出 00001800 和 00001801 UUID 的服务,这是系统行为,注意不要使用这两个服务;


3

建立连接和关闭连接必须要成对调用。如果未能及时关闭连接释放资源,容易导致 state 133 GATT ERROR的异常;


4

与蓝牙设备通信的 MTU(最大传输单元)系统限定为 20 字节,如果超过则会出错,这里应该根据蓝牙设备协议进行分片传输。


更多有关小程序连接蓝牙功能的信息,可查阅[接口文档]


2.jpg


这是作者的赞赏码,如果你觉得这个故事,让你们有所收获,欢迎赞赏给作者。


第十期回顾:小程序•小故事(10)——群聊功能

第九期回顾:小程序•小故事(9)——音视频组件

第八期回顾:小程序•小故事(8)——自定义组件

第七期回顾:小程序•小故事(7)——小程序音频能力介绍

第六期回顾:小程序•小故事(6)——微信登录能力优化

第五期回顾:小程序•小故事(5)——小程序插件

第四期回顾:小程序•小故事(4)——获取用户信息

三期回顾:小程序•小故事(3)——更新机制

第二期回顾:小程序•小故事(2)——代码片段

第一期回顾:小程序•小故事(1)——分包加载


如果大家有想了解的小程序相关能力的故事,欢迎在评论区留言,我们后续会考虑将这些能力背后的故事分期分享给大家。


关于小程序快速上手的教程《小程序开发指南》已经上线,欢迎大家查阅~

太阳集团2138手机版
更多
  • 2022 Q4 用户最喜爱的朋友圈广告-

    2022 Q4 用户最喜爱的朋友圈广告-

    基于用户的互动行为及广告效果数据指标,我们找出了2022年第四季度用户最喜爱的朋友圈广告TOP 10(排名不分先后),期待更多好创意与你相见。TOP朋友圈广告用

  • 生活特辑 Vol.14 ᅵ

    生活特辑 Vol.14 ᅵ

    Good Life生活广告榜吃喝玩乐品生活,发现身边新乐趣。快来看看本季最受欢迎的身边广告。今天“吃”什么?吃喝福利,任你选新的一年不如用味觉拉开序幕不知道吃什

  • 速速集合,新年红包封面领取攻略来了-杭州

    速速集合,新年红包封面领取攻略来了-杭州

    新年怎样发红包姿势最帅?当然是用上最炫的红包封面!今年,红包封面又又又升级啦,全新动态红包封面上线,祝福更“动”人心。微信广告将携手众多品牌派发多款精美别致的红

  • 视频号互选好内容|11月-杭州网络公司为

    视频号互选好内容|11月-杭州网络公司为

    精选11月优秀视频号互选案例,为创作者指引好内容的风向,洞悉好商单的秘诀。理想汽车× 所长林超通俗科普,干货满满科技自主的路上,理想汽车的答案是什么。所长观察敏

  • 微信创作者营销价值与营销策略白皮书发布-

    微信创作者营销价值与营销策略白皮书发布-

    腾讯广告互选平台始于内容致远商业一图读懂微信创作者营销方法论微信创作者四大特点长久创作,深耕原创内容长久创作87.2%公众号运营超过2年垂类丰富体育 媒体 财经

  • 精华笔记|2022 腾讯广告创作者营销峰

    精华笔记|2022 腾讯广告创作者营销峰

    12月22日,腾讯广告以直播形式举办首届创作者营销峰会(以下简称“峰会”)。无论对广告主 / 代理商,还是创作者 / MCN机构,今年的峰会可谓是“一场及时雨”

  • 烟花贺岁:朋友圈点赞互动广告上线-杭州微

    烟花贺岁:朋友圈点赞互动广告上线-杭州微

    新年有新喜,微信广告全新推出朋友圈点赞互动广告,让品牌和用户一起放烟花,迎新年。品牌领赞,首枚烟花惊喜绽放;用户跟赞,个性化品牌烟花跃然出框;双向互动中激发更强

  • 即刻预约|2022 腾讯广告创作者营销峰

    即刻预约|2022 腾讯广告创作者营销峰

    连接放大价值腾讯广告创作者营销峰会2022/12/22邀请函尊敬的嘉宾:在内容创作者的黄金时代,无数品牌借力优质内容开辟出了商业增长新路径。作为微信商业内容官方

  • 搞笑与搞钱,这些创作者都很认真-杭州网络

    搞笑与搞钱,这些创作者都很认真-杭州网络

    在微信视频号上有着许多视频创作者,他们因为热爱,而创作出非常多有趣的视频。然而每一个视频背后,创作者都要付出无数的心血和努力。当粉丝达到一定数量,也具备相对成熟

  • 朋友圈橱窗广告上线-杭州APP开发为你呈

    朋友圈橱窗广告上线-杭州APP开发为你呈

    微信广告上线朋友圈橱窗广告,满足广告主更丰富的素材展示诉求。广告支持配置一个主素材和三个副素材,组合形式突破原生形态,更易吸引用户停留点击。朋友圈橱窗广告示意橱

太阳集团5493con是一家专门致力于为企业提供全方位网站建设服务。年轻的我们带着梦想和对网络的热情走在互联网道路的前沿,一路走来,我们的努力和真诚得到了更多客户的认可。在未来的发在未来的发...

浙公网安备:33010602011153

seo seo