蓝牙mesh实战
  • 推荐0
  • 收藏0
  • 浏览122

蓝牙mesh实战

茹忆 , 胡俊锋 (作者)  孙学瑛 (责任编辑)

  • 丛  书:阿里技术丛书系列
  • 书  号:978-7-121-37431-9
  • 出版日期:2020-03-23
  • 页  数:184
  • 开  本:16(170*240)
  • 出版状态:上市销售
  • 维护人:孙学瑛
纸质版 ¥59.00
在人工智能物联网(AIoT)时代背景下,蓝牙连接技术在近场通信领域中举足轻重。蓝牙mesh技术是蓝牙SIG组织于2017年7月首发的,技术新颖,优势明显。阿里巴巴是最早研究蓝牙mesh技术并产品化的公司,通过项目实战积累技术经验和解决方案,本书全面地介绍蓝牙mesh技术,包括广播、配网、安全、协议等关键内容,以及阿里巴巴的具体实践方案——IoTConnect Kit解决方案。该方案包含了语音配网&控制、互联互通标准、智能家电规范、SDK、模组、产品、认证体系等一系列提高行业智能化改造效率的工具包。
本书适合物联网开发者、智能硬件开发者、天猫精灵生态开发者、微电子学、电子工程、计算机等相关专业的学生、人工智能物联网兴趣爱好者或发烧友阅读。
万物智联的基础技术——蓝牙mesh,一本书搞定!阿里巴巴集团副总裁 库伟,以及金海鹏博士联袂作序推荐!
推荐序一
阿里巴巴进入物联网领域是一次战略布局,并定义为第五赛道,希望通过在物联网领域做云网边端一体化的平台,成为数字时代的关键基础设施。在这个基础设施中,连接万物是第一步。
自蓝牙mesh作为新一代的连接技术推出以来,我们一直在密切跟进和引领这项协议的完善,阿里巴巴作为SIG国际蓝牙组织智能家居专项组主席,不断推进蓝牙mesh在智能照明电工、大小家电等各个领域的协议落地,在这个过程中,我们向SIG国际蓝牙组织提交了多个标准提案来完善和规范蓝牙mesh协议。我们看到,蓝牙mesh既有Zigbee协议的优点,可以通过多点对多点的连接方式,让网络中的任何设备都能够与同一网络中的任何其他设备进行通信,获得非常广阔的物理覆盖区域和去除中心节点的依赖,特别适合楼宇照明、开关控制等智能办公和智能生活场景等对数据量要求较小的应用,同时蓝牙mesh技术还继承了蓝牙协议本身的优点,我们利用蓝牙beacon技术还能够更加有效地做资产定位、管理等场景。
经过不断的实践与努力,我们的技术团队推出了开源的自研蓝牙mesh协议栈,支持蓝牙mesh配网(mesh Provisioning)、数据转发(Relay)、朋友关系(Friend)、低功耗、GATT(Generic Attribute Profile)代理,及常用的models(如灯)等协议标准规定的功能。在此基础上,还设计和开发了多个具有特色的技术能力。比如,通过蓝牙交互广播方式实现快速配网;未来也将具备通过mesh网络的转发能力,突破mesh Provisioner通信距离限制,实现远程配网功能等。
与此同时,我们还建立起越来越强大的蓝牙mesh生态,已经支持了包括泰凌微、上海博通、平头哥,MTK、Realtek、奉加、Nordic等多个蓝牙芯片厂商。除了生态不断铺开,阿里巴巴物联网操作系统AliOS Things所具备的蓝牙能力,还正在服务于零零智能、胜白等蓝牙网关厂商。
我们深知,AIoT时代刚刚开始,还有99%的设备还没有被连接起来。但我们也相信,通过对蓝牙mesh等连接技术更好的理解与使用,我们终将实现万物连接,从而走向万物智联。

库伟
阿里巴巴集团 副总裁


推荐序二
2019年9月,我在云栖大会上得知忘之(茹忆)和崮德(胡俊锋)两位在筹备出版这本蓝牙mesh的书。这对我来说是个惊喜:惊在于他们在工作和产品任务异常繁重的情况下能够抽出时间完成这本书,应该需要超出常规的投入;喜则在于蓝牙mesh技术发展迅猛,但是相关的专业书籍还没有,现在终于有人来满足这方面的需求,对于广大蓝牙mesh的开发者来说,可以说是福音了。
蓝牙mesh技术的研究早在蓝牙4.0芯片出现的时候就开始了,作为在整个进程中一直置身其中的参与者,我见证了这项技术的起起伏伏——从最初的私有蓝牙mesh设计,大家抱着质疑的态度,到照明领域的多家国内外头部企业勇于探索,率先推出基于私有蓝牙mesh的产品;再到整个业界对于蓝牙mesh技术的逐步认可,几度延迟终于形成了国际标准,并在各种品类的产品上推广开来;最终到蓝牙mesh已经成为毫无争议的无线物联网主流技术之一,也算是历经坎坷。
蓝牙mesh的国际标准推出实际上并不算早,2017年年中才发布了1.0版本。在我接触的所有国内外平台类型的企业和团队中,阿里巴巴天猫精灵团队应该是对蓝牙mesh技术决策最迅速并且推动最坚决的团队,从他们最初基于私有蓝牙mesh的产品,到现在基于标准蓝牙mesh的生态布局,定位准、力度强,在短短两三年的时间内就将蓝牙mesh这项大家还带着半信半疑的眼光打量的技术在千家万户拓展开来。
没有任何的犹豫和观望,天猫精灵团队一旦经过对比和分析选定蓝牙mesh这项技术,更多的是用自己的行动力来主导整个技术和产品的发展进程,他们在标准还不是100%成熟的初期就想出完善的方案来覆盖实际产品所要解决的问题。他们积极主动地和芯片原厂沟通,从芯片设计及协议栈开发上推动蓝牙mesh的进展,他们也积极投入标准的制订和讨论工作中,大力推动标准的完善和更新。从最初的单品蓝牙照明灯到现在上百款形形色色的蓝牙mesh周边产品,这些蓝牙mesh的坚定支持者围绕天猫精灵形成了多品类集结的格局,也为智能家居从发烧友概念落地到真正适用于普通非技术用户的全屋互动打下了坚实的基础。
我应阿里各位同学的盛情邀请为这本书作序,深感荣幸,收到书稿当夜就一口气从头读到尾。本书用大量的篇幅对蓝牙mesh的整个设计理念及协议层级进行了讲解,对于想要快速了解蓝牙mesh的开发者来说应该是首选的读物。更可贵的是,书中还结合天猫精灵产品给出了有针对性的实例,真正让开发者看到蓝牙mesh是如何从标准落地到产品的。
希望本书能帮助更多的蓝牙开发者了解蓝牙mesh技术,并投入蓝牙mesh产品开发中来。

金海鹏 博士
泰凌微电子??共同创始人/COO
2014 年 11 月,亚马逊发布 Echo 智能音箱,首次将智能语音交互技术植入音箱中,从而赋予了音箱人工智能的属性,从此,消费者可以和音箱对话,比如“点歌”、“乔布斯是谁”、“开灯”、“关灯”等。2017 年 7 月,阿里巴巴发布天猫精灵 X1,也开始了语音交互探索之旅;2017 年 11 月,天猫精灵销量超过 100 万台,快速突破了一个“极点”,步入发展的快车道;2019 年 1 月 11 日,天猫精灵销量突破 1000 万台,覆盖从 3 岁到 80 岁的用户,带领我们进入 AIoT 时代。AIoT 具有双重意义:连接创造价值、重新定义物和人的关系。讲到这个,就不得不回顾下物和人关系的发展:
? 第 1 阶段,解决人与人之间的沟通和社交需求,比如即时通信工具;
? 第 2 阶段,人主动找物,比如 O2O、共享单车、饿了么等应用;
? 第 3、4 阶段,物与物数据化互联互通、物主动服务人的阶段。
要实现物与物数据化互联互通,首先要确立互联互通标准,这就是通过蓝牙 mesh技术来实现的。物主动服务人实际上是人工智能技术的体现,比如你一回到家,灯就自动亮起来,这就是 AI 算法让灯主动服务人的应用案例,涉及传感器、AI 等技术,是未来的发展趋势。
再回顾一下 AIoT 的发展。
第 1 阶段是智能单品阶段,从 2013 年开始出现大量的智能硬件,比如 Wi-Fi 灯泡、Wi-Fi 插座等,这些智能硬件通过家里的路由器接入云端,用户可以通过手机上的 App远程控制,它们都是一个一个的独立孤岛,不能形成联动的应用场景。另外,Wi-Fi 智能设备的配网方式是 SmartConfig,时间特别长(比如 30s 以上)、操作流程复杂(比如需要在每个智能硬件 App 输入路由器的密码),导致 Wi-Fi 智能设备的激活率超级低,用户体验也特别差。
2017 年进入 AIoT 的第 2 阶段——云云互联阶段,就是某些第三方中立云把各家Wi-Fi 智能设备的云互联互通起来,解决了第 1 阶段的孤岛问题。但是,这个阶段同样没有解决第 1 阶段的 Wi-Fi 配网体验差的问题,而且由于是通过第三方云互联互通的,所以还要解决多个云的账号打通问题(通过 OAuth 协议实现),用户体验也无法提升。 综上所述,AIoT 的第 1 和第 2 阶段可以认为还是 AIoT 的初级阶段。2017 年 7 月,天猫精灵带来了语音交互技术,如果把语音交互技术和 IoT 配网、控制结合起来,是否可以解决 AIoT 第 1、第 2 阶段的用户痛点呢?2018 年 6 月 18 日,正式进入 AIoT 第 3 阶段,也就是语音交互+蓝牙 mesh 直连阶段。这个阶段出现了可以语音配网和控制的蓝牙 mesh 灯泡。举个例子,用户买了一个蓝牙 mesh 灯泡,只要对着天猫精灵说“找队友”,天猫精灵就会找到这个灯泡并自动配网,中间不需要用户任何操作,整个过程只需要 8s,极大提升了配网的用户体验,接下来,用户可以对着天猫精灵说“开灯”,灯就亮了。这就是 AIoT 第 3 阶段——人工智能的真正体现。提到 AIoT 第 3 阶段,就不得不提蓝牙 mesh 直连技术,为了说清楚这个技术,我们来回顾下蓝牙 mesh 的发展历史。
1999 年,蓝牙 SIG 组织发布了蓝牙 1.0 技术,该技术的应用场景就是蓝牙耳机、蓝牙音箱,它们是搭配手机来使用的,相信很多读者都用过这些产品。2010 年,蓝牙SIG 组织发布蓝牙 4.0 技术,该技术除了包含经典蓝牙(耳机、音箱等),还提出了蓝牙低功耗(Bluetooth Low Energy,BLE)技术,这个技术的应用场景是搭配手机使用的蓝牙手环、蓝牙体重秤、蓝牙温湿度传感器等,也就是我们常说的智能硬件。当然这些智能硬件如同 AIoT 第 1 阶段的 Wi-Fi 插座,都是一个一个的孤岛。2017 年 7 月,蓝牙 SIG 组织发布蓝牙 mesh 1.0 技术,该技术就是用来解决智能硬件孤岛问题的,比如灯泡、插座、风扇可以通过蓝牙 mesh 技术自组织为一个网,每个智能设备都是一个“岛屿”,这些“岛屿”通过蓝牙 mesh 技术互联互通,最后通过天猫精灵这个蓝牙网关接入云端,既解决了孤岛问题,又可以远程控制,最后还可以通过天猫精灵语音控制设备和传感器形成场景联动,通过云端学习用户习惯来实现真正的 AIoT。 在本书的读者中,有很多人可能使用过 Zigbee 技术,因此肯定会有一个疑问:为 什么天猫精灵不是支持 Zigbee 的而是支持蓝牙 mesh 的?可以从下面几点找到答案。
? 成本。因为蓝牙 mesh 在 2018 年有 37 亿片的芯片采用量,而 Zigbee 只有几亿的芯片采用量,导致 Zigbee 的成本比蓝牙高。 ? 手机支持度。蓝牙 mesh 是手机天生支持的,而 Zigbee 是不支持和手机互联互通的。
? 协议栈的复杂性。Zigbee 使用了路由协议,协议栈更加复杂。
? 是否需要网关支持。天猫精灵天生就是蓝牙 mesh 网关,不需要用户额外购买独立的网关;而 Zigbee 需要用户额外购买一个 Zigbee 的网关。
综上所述,蓝牙 mesh 是更优的选择。
当然,传统企业要把自己的硬件智能化,还有很长的路要走,比如如何使用蓝牙mesh 技术、如何和天猫精灵调试、如何定义设备能力等。阿里巴巴看到了传统企业的这些问题,提出了一套 IoTConnect Kit 解决方案,该方案包含了语音配网&控制、互联互通标准、智能家电规范、SDK、模组、产品、认证体系等一系列提高行业智能化改 造效率的工具包,极大地提高了智能化效率。比如传统灯企使用 IoTConnect Kit 模组库里的蓝牙 mesh 模组,只要 7 天时间就能商业化落地智能灯泡,并且销售给天猫精灵用户,而无须关心诸如语音配网、控制、联动等工作,只要将主要精力放在业务上即可。
IoTConnect Kit 的认证体系是用来保证蓝牙 mesh 模组和产品符合规范,从而提升用户体验的。只要通过阿里巴巴认证的产品,就会被打上天猫精灵 AI 联盟的 Logo。用户看到这个 Logo 就可以放心购买这些产品,并搭配天猫精灵使用.

目录

第 1 章 蓝牙 mesh 介绍 / 1
1.1 蓝牙技术简介 / 1
1.2 蓝牙 mesh 的基本概念 / 3
第 2 章 蓝牙 mesh 协议 / 11
2.1 承载层 / 12
2.1.1 广播承载器 / 12
2.1.2 GATT 承载器 / 12
2.2 网络层 / 13
2.2.1 地址 / 13
2.2.2 网络层 PDU / 15
2.2.3 网络层接口 / 17
2.2.4 网络层行为 / 18
2.3 底层传输层 / 18
2.3.1 底层传输层 PDU / 19
2.3.2 分包和组包 / 22
2.4 上层传输层 / 26
2.4.1 上层传输层访问 PDU / 26
2.4.2 上层传输层控制 PDU / 27
2.4.3 上层传输层行为 / 27
2.4.4 朋友关系 / 28
2.4.5 心跳消息 / 28
2.5 访问层 / 30
2.5.1 访问层数据包 / 30
2.5.2 访问层的行为 / 31
2.5.3 两种类型的消息 / 32
2.5.4 订阅和发布 / 32
2.5.5 消息序列 / 34
2.6 基础模型层 / 35
第 3 章 蓝牙 mesh 广播 / 41
3.1 管理型网络洪泛 / 41
3.1.1 信息缓存队列 / 42
3.1.2 TTL 字段 / 42
3.2 蓝牙 mesh 广播的数据格式 / 43
3.2.1 Mesh Beacon / 43
3.2.2 PB-ADV / 46
3.2.3 Mesh Message / 47
第 4 章 蓝牙 mesh 配网 / 48
4.1 蓝牙 mesh 配网概述 / 48
4.1.1 配网角色 / 48
4.1.2 配网流程 / 49
4.2 蓝牙 mesh 配网协议 / 49
4.2.1 配网的协议栈 / 49
4.2.2 承载层 / 50
4.2.3 传输层 / 51
4.2.4 配网协议 / 51
4.3 蓝牙 mesh 配网流程 / 52
4.3.1 信标阶段 / 52
4.3.2 邀请阶段 / 54
4.3.3 交换公钥阶段 / 55
4.3.4 身份认证阶段 / 58
4.3.5 分发配网数据 / 62
4.4 低功耗蓝牙设备配网 / 63
4.4.1 基本原理 / 63
4.4.2 代理节点 / 64
4.4.3 蓝牙 mesh 代理服务 / 64
4.4.4 代理协议 / 65
4.4.5 代理过滤器 / 65
4.4.6 智能手机或平板电脑的角色 / 66
第 5 章 蓝牙 mesh 安全 / 67
5.1 IoT 设备的安全威胁 / 67
5.2 蓝牙 mesh 的安全策略 / 68
5.2.1 现有安全策略 / 68
5.2.2 三元组 / 69
5.3 蓝牙 mesh 安全规范 / 70
5.3.1 消息加密 / 70
5.3.2 报文序列号 / 71
5.3.3 IV 索引 / 71
5.3.4 Nonce / 72
5.3.5 密钥 / 74
5.3.6 消息安全性 / 77
第 6 章 蓝牙 mesh 模型 / 81
6.1 基础模型 / 81
6.1.1 配置模型 / 81
6.1.2 多个 Key 索引的组合 / 82
6.1.3 AppKey / 83
6.1.4 模型与 AppKey / 85
6.1.5 心跳广播 / 86
6.1.6 模型订阅 / 88
6.2 通用模型 / 89
6.2.1 通用服务模型字段说明 / 90
6.2.2 通用开关服务模型 / 91
6.3 Lighting Server 模型 / 93
6.3.1 Lightness 状态 / 95
6.3.2 Light Lightness 状态 / 97
6.3.3 Light CTL 状态 / 104
6.3.4 Lighting 模型总结 / 111
6.4 厂商自定义模型 / 112
第7 章 蓝牙mesh 低 功耗 / 113
7.1 标准蓝牙 mesh 低功耗 / 113
7.1.1 蓝牙 mesh 低功耗简介 / 113
7.1.2 Friend 节点与低功耗节点 / 113
7.1.3 蓝牙 mesh 低功耗的控制消息 / 114
7.2 精灵低功耗 / 118
7.2.1 精灵低功耗的实现方案 / 118
7.2.2 精灵低功耗在红外遥控器中的应用 / 118
第 8 章 蓝牙 mesh 落地方案浅析 / 121
8.1 蓝牙 mesh 在智能音箱上的
应用 / 121
8.1.1 搜索 / 121
8.1.2 连接 / 122
8.1.3 配置、控制 / 122
8.2 蓝牙 mesh 软件框架简介 / 124
8.3 一种 ADVBearer 在 Android 上的实现 / 126
第 9 章 天猫精灵 IoT 开放
平台 / 129
9.1 天猫精灵 IoT 开放平台介绍 / 129
9.1.1 接入方式 / 129
9.1.2 平台亮点 / 130
9.2 如何创建一个产品 / 130
9.2.1 接入流程 / 131
9.2.2 产品定义 / 131
9.2.3 人机交互 / 135
9.2.4 设备调试 / 138
9.2.5 软件发布 / 138
9.3 调试中心 / 139
9.3.1 调试准备 / 140
9.3.2 语音调试 / 142
9.3.3 触屏图形界面调试 / 142
9.3.4 指令下发调试 / 143
9.4 产品量产 / 144
9.4.1 三元组介绍 / 144
9.4.2 产品量产流程 / 144
9.5 蓝牙 mesh 协议定制 / 146
9.5.1 广播 / 146
9.5.2 mesh 数据的接收和发送 / 147
9.5.3 消息回复规则 / 149
9.5.4 配网鉴权 / 149
9.5.5 配网过程定制 / 150
9.5.6 模型订阅列表 / 150
9.5.7 设备上电规范 / 150
9.5.8 设备同步规范 / 151
9.5.9 设备复位规范 / 151
9.6 蓝牙 mesh 扩展协议 / 151
9.6.1 模型 / 152
9.6.2 扩展消息 / 152
9.6.3 智能家居设备 / 157
9.6.4 样本数据 / 157
9.7 蓝牙 mesh 灯泡开发实例 / 159
9.7.1 模型分析 / 159
9.7.2 代码实操 / 161
参考文献 / 167

读者评论

同系列书

  • 定义弹性计算(全彩)

    《弹性计算》以阿里云弹性计算团队的起源、发展、成就作为切入点,描述了弹性计算涉及的计算、存储、网络、安全、稳定性等产品技术架构,权威定义了云计算产业的弹性计算。...

    ¥129.00
  • 蓝牙mesh实战

    茹忆 胡俊锋 (作者)

    在人工智能物联网(AIoT)时代背景下,蓝牙连接技术在近场通信领域中举足轻重。蓝牙mesh技术是蓝牙SIG组织于2017年7月首发的,技术新颖,优势明显。阿里巴...

    ¥59.00