评测三 蓝牙mesh摸索 我原先是开发蓝牙mesh,工作中用的是CSRmesh、nRF mesh方案,平时也接触过SiliconLabs的mesh组网方案, 图1 别的厂家mesh方案 这次趁着STM32WB55尝试了一波,结果有些失望,在烧录LPN的例程时协议栈会死机还是怎么样,板载ST-Link会无法被STM32CubeProgrammer识别到,且烧录后无法入网,只有dongle才能入网,而且退网也会失败,dongle一旦手机删除入网记录就再也控制不了dongle也无法重新入网,上手也不顺畅,对开发者不友好。ST mesh例子也对比Nordic逊色一些,nordic在入网有许多重要日志包括元素个数、元素下的模型ID、绑定AppKey、分配网络密钥等信息,且nordic有串口入网、cli入网、手机GATT入网、proviosioner入网,model也有light-Switch、HSL等经典案例。 图2 CSR/Nordic入网日志 ST的提示信息不够多,具体操作如下: 一、 LPN和FN节点 入网就是一个由unprovisioned device到subnet node的过程,期间会经历一系列过程包括第一阶段provision的接收入网邀请PDU、得到device UUD、得到capcibility、计算随机数、OOB行为(FIPS、ECDH加密)和第二阶段config的得到composition信息、绑定AppKey、设置发布/订阅地址等,至此完成。Nucleo烧录BLE_MeshLightingLPN_Nucleo,dongle烧录BLE_MeshLightingPRFNode_Dongle, 图2 初始beacon状态 二、 入网 手机ST Mesh只能看到支持PB-GATT的FN dongle,搜不到只支持PB-ADV的LPN Nucleo节点,具体可翻阅《mesh profile v1.0》规范,
其中Nucleo例程配置项在app_config.h和mesh_cfg_usr.h都可修改,不熟的话就保持默认: 图3 修改配置 图4 入网第1阶段:provision 图5 入网第2阶段:config 图6 config阶段绑定AppKey 图7 config阶段设置发布订阅地址 可以看到1个元素下面有7个model分别是: Vendor Server Generic On Off Server Generic Level Server Generic Power On Off Server Generic Power On Off Setup Server Light Lightness ServerLight Lightness Setup Server 最后并未达到我想要的效果,只能手机发送set opcode泛洪给dongle的friend角色,nucleo board的低功耗节点没有收到命令,只能手机的genericOnOff model控制,另lightness model也没实现亮度控制,只是开和关,效果不如nordic,控制的效果没有及时截图。 |
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