大家对蓝牙应该不会感到陌生,利用经典蓝牙技术的蓝牙耳机/音箱,借助BLE(低功耗蓝牙)技术的运动手环/手表在我们的生活中随处可见。而ZigBee在工业物联网上则是应用广泛。THREAD作为谷歌亲兄弟(Nest Labs)推出的物联网通讯协议,日子自然也不会难过。 在下图中(左下角格子)可以看到,BLE(低功耗蓝牙),THREAD及ZigBee这三项无线传输协议同属于短中距离(10m-100m)和低中传输数据量(bps to Kbps)的定位。这三项协议可比三国的“魏蜀吴”,家家互不相让,都想称霸中原(智能家居、智慧楼宇)。
常见无线传输技术 $ p' `5 E* z; T; b( Q限于篇幅,我们先来聊聊“三国”中的“魏”—— 蓝牙。 为什么把蓝牙称为“魏”? 一来蓝牙技术联盟(SIG) 旗下成员众多(截止2017年底,33000家会员,好比魏国数不胜数的文将武将),二来蓝牙“挟天子以令诸侯”。这个“天子”就是跟我们形影不离的手机。有了出厂就配备蓝牙的手机这个“天子”,什么智能冰箱、智能手环,不都得向它汇报数据。自然蓝牙也成为了我们生活中最常用的协议。 “三国”最终谁能称霸还是各自偏安一隅,我们尚不得知。但是 “三国”之间相互借鉴的趋势变得越发明显。比如蓝牙Mesh就是蓝牙技术联盟(SIG)在2017年新加入的拓展BLE(低功耗蓝牙)应用场景的一项网络技术,而Mesh的应用场景又恰好是Zigbee的传统擅长领域。 Mesh简单的说就是让我们建立无线节点之间 “多对多”连接的一项技术,目的是为了让信息传递跨越非常大的物理距离。
制造工厂、办公楼、商业园区等的节点 (摘自蓝牙技术联盟公众号) 下表是“三国”Mesh的异同。
不难发现,“三国”的Mesh同属一个RF频段(2.4G),从物理层(PHY)开始有了差异。 BLE Mesh作为一项应用协议,使用并且依赖于BLE(低功耗蓝牙)作为底层协议栈(下图红框内)。 在最开始设计Mesh技术的时候,蓝牙的标准还是4.0,所以考虑到向下兼容性,到目前为止Mesh还是采用BLE 4.0来实现上层的协议栈。只要MCU基于BLE 4.0及以上,满足一定的运算能力来完成加密机制,并且有足够的RAM或Flash来运行协议,就有可能加入Mesh功能。 当然如果像STM32WB这样支持BLE 5.0,会给未来Mesh协议的扩展升级提供更多的可能性。 像其他很多协议一样,Mesh协议栈各层级各司其职。而对于初学者来说,我们只需要关注最高层的model layer(下图黑框内)。在之后文章的代码例程讲解中,我们会重点介绍这一层。
蓝牙Mesh网络协议栈(摘自蓝牙技术联盟公众号) 那在BLE Mesh网络里的“Node”(节点)会有哪些“Feature”(特性)呢? 还记得我们的“天子”——手机吗?
但与现实不同的是,BLE Mesh中不受功耗限制的节点能够扮演一个或者多个“角色”——既能当官,又能兼职做“太监”和“驿卒”。而“老百姓”因为功耗受限,一般只能做“老百姓”。
蓝牙Mesh网络示例(http://www.fanstel.com/bt832-1-1) % t m; F6 a' M% {& O1 d另外一个重要的概念叫做“Provision”(启动配置),简单的说就是通过在手机或者电脑上的应用程序,把原本不属于Mesh网络的“Device”(设备)配置成为网络中的一个“Node”。 同时不同的“Node”还可以被分配到不同的“Group”(组群)“Node ”只能与同一个“Group”中的其他“Node”通信,而忽略其他“Group”的信息。 为了完成下面的演示,需要先从“豌豆荚”(安卓)或者“Apple Store”(苹果)搜索安装“ST BLE Mesh”App来完成“Provision”的操作。
之前关注STM32WB的朋友肯定熟悉下面这张图,STM32WB同时支持蓝牙5.0、ZigBee、THREAD及其他私有的2.4GHz协议栈。
那支持蓝牙Mesh自然不在话下。可能有些细心的老铁已经在我们的st.com官网找到了一些端倪。在st.com上搜索STM32CubeWB。
下载解压后,我们打开IAR的工程。 STM32Cube_FW_WB_V1.0.0\Projects\NUCLEO-WB55.Nucleo\Applications\BLE\BLE_MeshLightingDemo\EWARM 同时还是在st.com搜索AN5292找到该例程的应用手册AN5292: How to build a Bluetooth® Low Energy mesh application for STM32WBx5 microcontrollers 硬件上,我们还需要拿到P-NUCLEO-WB55套装(有2块板子)中的白色主板(下图左侧)。 STM32官方旗舰店已经有售,淘宝搜索关键字:ST WB开发板。
P-NUCLEO-WB55 套装 等下面的材料都齐全了,我们就可以开始Mesh的演示了
下篇,我们将重点介绍如何配置Mesh的演示和Mesh代码的讲解。大家敬请期待! 另外想现场参观我们的Mesh演示,4月26号和27号,深圳蛇口南海希尔顿,我们不见不散! , N, c% k# y+ f; X7 G* P+ i |
我要芯片或模组,开发板太贵,玩不起 |
4月25日培训|基于ST 双核多协议STM32WB55的Matter方案开发
实战经验 | 关于STM32WB OTA 速率提升引发的讨论
基于STM32WB55的配置串口打印Debug经验分享
基于创建STM32WBA BLE_Custom工程经验分享
来看直播了,就在明天 | STM32 Matter 解决方案,轻松实现智能家居无缝连接
基于STM32WB55开发之套件概述(1)
基于STM32WB55开发之监测STM32WB连接状态(1)
基于STM32WB55开发之修改蓝牙地址(2)
STM32WB基于Custom Template实现客户定制BLE私有协议
如何基于STM32WB一次性烧写FUS+STACK+APP