
大家对蓝牙应该不会感到陌生,利用经典蓝牙技术的蓝牙耳机/音箱,借助BLE(低功耗蓝牙)技术的运动手环/手表在我们的生活中随处可见。而ZigBee在工业物联网上则是应用广泛。THREAD作为谷歌亲兄弟(Nest Labs)推出的物联网通讯协议,日子自然也不会难过。 在下图中(左下角格子)可以看到,BLE(低功耗蓝牙),THREAD及ZigBee这三项无线传输协议同属于短中距离(10m-100m)和低中传输数据量(bps to Kbps)的定位。这三项协议可比三国的“魏蜀吴”,家家互不相让,都想称霸中原(智能家居、智慧楼宇)。
![]() 常见无线传输技术 ) U J/ Q0 Z' g2 }9 E9 T7 w9 ]限于篇幅,我们先来聊聊“三国”中的“魏”—— 蓝牙。 为什么把蓝牙称为“魏”? 一来蓝牙技术联盟(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网络协议栈(摘自蓝牙技术联盟公众号) + M; a# B8 K \5 s那在BLE Mesh网络里的“Node”(节点)会有哪些“Feature”(特性)呢? 还记得我们的“天子”——手机吗?
& c3 a; J/ X6 `9 J$ J2 I 但与现实不同的是,BLE Mesh中不受功耗限制的节点能够扮演一个或者多个“角色”——既能当官,又能兼职做“太监”和“驿卒”。而“老百姓”因为功耗受限,一般只能做“老百姓”。
![]() 蓝牙Mesh网络示例(http://www.fanstel.com/bt832-1-1) 另外一个重要的概念叫做“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代码的讲解。大家敬请期待! 9 g& Y: ? B) O' i" l3 Q8 x 另外想现场参观我们的Mesh演示,4月26号和27号,深圳蛇口南海希尔顿,我们不见不散! |
我要芯片或模组,开发板太贵,玩不起![]() |
Nucleo-STM32WB09KE测评-蓝牙调试并使用OLED显示数据
【NUCLEO-WB09KE评测】创建BLE工程和开启调试信息
【NUCLEO-WB09KE评测】+2.串口打印
【NUCLEO-WB09KE评测】+5.实现标准电量服务
【NUCLEO-WB09KE评测】BLE例程HeartRate及工具探索
【NUCLEO-WB09KE评测】+3.蓝牙广播
STM32WB系列MCU低功耗测试
Nucleo-STM32WB09KE测评--IIC传感器读取
【NUCLEO-WB09KE评测】+4.蓝牙控制LED
【NUCLEO-WB09KE评测】+1.点灯