
评测三 蓝牙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状态 5 J5 v) ^1 n+ T7 F2 s1 _ _ 二、 入网 手机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,控制的效果没有及时截图。 |
意法半导体推出首款与高通合作的STM32配套无线物联网模块
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