你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

都挺好:STM32WB+蓝牙Mesh(上)

[复制链接]
eefishing 发布时间:2019-6-21 12:00
大家对蓝牙应该不会感到陌生,利用经典蓝牙技术的蓝牙耳机/音箱,借助BLE(低功耗蓝牙)技术的运动手环/手表在我们的生活中随处可见。而ZigBee在工业物联网上则是应用广泛。THREAD作为谷歌亲兄弟(Nest Labs)推出的物联网通讯协议,日子自然也不会难过。
在下图中(左下角格子)可以看到,BLE(低功耗蓝牙),THREAD及ZigBee这三项无线传输协议同属于短中距离(10m-100m)和低中传输数据量(bps to Kbps)的定位。这三项协议可比三国的“魏蜀吴”,家家互不相让,都想称霸中原(智能家居、智慧楼宇)。
1.jpg
常见无线传输技术
) U  J/ Q0 Z' g2 }9 E9 T7 w9 ]
限于篇幅,我们先来聊聊“三国”中的“魏”—— 蓝牙。

* v( w! M1 B% T) ?) \& ~
9 s; r0 y0 T$ V  q. W# R
为什么把蓝牙称为“魏”? 一来蓝牙技术联盟(SIG) 旗下成员众多(截止2017年底,33000家会员,好比魏国数不胜数的文将武将),二来蓝牙“挟天子以令诸侯”。这个“天子”就是跟我们形影不离的手机。有了出厂就配备蓝牙的手机这个“天子”,什么智能冰箱、智能手环,不都得向它汇报数据。自然蓝牙也成为了我们生活中最常用的协议。
& D( C  {! u7 I
“三国”最终谁能称霸还是各自偏安一隅,我们尚不得知。但是 “三国”之间相互借鉴的趋势变得越发明显。比如蓝牙Mesh就是蓝牙技术联盟(SIG)在2017年新加入的拓展BLE(低功耗蓝牙)应用场景的一项网络技术,而Mesh的应用场景又恰好是Zigbee的传统擅长领域。
Mesh简单的说就是让我们建立无线节点之间 “多对多”连接的一项技术,目的是为了让信息传递跨越非常大的物理距离。
2.jpg
制造工厂、办公楼、商业园区等的节点
(摘自蓝牙技术联盟公众号)

  k" D5 i6 `' V, t% {! I
下表是“三国”Mesh的异同。
3.jpg
不难发现,“三国”的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(下图黑框内)。在之后文章的代码例程讲解中,我们会重点介绍这一层。
4.jpg
蓝牙Mesh网络协议栈(摘自蓝牙技术联盟公众号)
+ M; a# B8 K  \5 s
那在BLE Mesh网络里的“Node”(节点)会有哪些“Feature”(特性)呢?

! y, a4 m# @) h" k
还记得我们的“天子”——手机吗?
  • 要跟“天子”递奏折传递信息自然需要“太监”作为媒介,只有“太监”才能读懂“天子”的心情。我们把能够实现GATT和蓝牙mesh节点之间消息发送与接收的节点特性称为 “Proxy” (代理)。
  • 那如果“天子”要下发政令到各个州府呢?古代的“驿卒”就担负了在各个政府机关传递情报的工作。我们把这种能够接收和转发消息,通过消息在节点之间中继实现更大规模网络的节点特性称为“Relay”(中继)。
  • 州府最终要把政令实施下去吧?但又要休养生息,不能每天都把百姓叫过来训话吧。只能选个好日子,趁百姓都在场才能宣布政令。州府在这里起到的角色就是暂存信息的功能。我们把能够存储发往低功耗节点的消息和安全更新的节点特性称为“Friend”(好友)。
  • 那些经不起折腾,只能定期出门去接收消息的老百姓就是供电受限的“Low-Power”(低功耗特性)。

    4 t1 B6 v' N+ m& O+ n7 P
& c3 a; J/ X6 `9 J$ J2 I
但与现实不同的是,BLE Mesh中不受功耗限制的节点能够扮演一个或者多个“角色”——既能当官,又能兼职做“太监”和“驿卒”。而“老百姓”因为功耗受限,一般只能做“老百姓”。
5.jpg
蓝牙Mesh网络示例(http://www.fanstel.com/bt832-1-1

' p9 K, @6 s7 f' ?
另外一个重要的概念叫做“Provision”(启动配置),简单的说就是通过在手机或者电脑上的应用程序,把原本不属于Mesh网络的“Device”(设备)配置成为网络中的一个“Node”。
同时不同的“Node”还可以被分配到不同的“Group”(组群)“Node ”只能与同一个“Group”中的其他“Node”通信,而忽略其他“Group”的信息。
为了完成下面的演示,需要先从“豌豆荚”(安卓)或者“Apple Store”(苹果)搜索安装“ST BLE Mesh”App来完成“Provision”的操作。
6.jpg
之前关注STM32WB的朋友肯定熟悉下面这张图,STM32WB同时支持蓝牙5.0、ZigBee、THREAD及其他私有的2.4GHz协议栈。
7.jpg
那支持蓝牙Mesh自然不在话下。可能有些细心的老铁已经在我们的st.com官网找到了一些端倪。在st.com上搜索STM32CubeWB。
8.jpg
下载解压后,我们打开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开发板
9.jpg
P-NUCLEO-WB55 套装
( E5 ~5 H, C3 n+ m4 Q! g
等下面的材料都齐全了,我们就可以开始Mesh的演示了
  • 手机端:“ST BLE Mesh”App。
  • 硬件:P-NUCLEO-WB55中的白色主板
  • 固件:“STM32CubeWB”
  • 应用手册:AN5292
    + {& \7 f# A7 w" ?
下篇,我们将重点介绍如何配置Mesh的演示和Mesh代码的讲解。大家敬请期待!
9 g& Y: ?  B) O' i" l3 Q8 x
另外想现场参观我们的Mesh演示,4月26号和27号,深圳蛇口南海希尔顿,我们不见不散!

7 U7 e. T5 @7 ~. q% @( ~& ]
收藏 评论2 发布时间:2019-6-21 12:00

举报

2个回答
wujique 回答时间:2019-6-21 12:40:21
我要芯片或模组,开发板太贵,玩不起
andey 回答时间:2019-6-21 13:27:24
提示: 作者被禁止或删除 内容自动屏蔽

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版