概述
本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过手机APP与其配对。
硬件准备
首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板:
源码下载
https://download.csdn.net/download/qq_24312945/85049930
设置配对方法
参考文档: https://www.st.com/resource/en/programming_manual/pm0271-stm32wb-ble-stack-programming-guidelines-stmicroelectronics.pdf 由下表可知,当设置为Passkey entry 时候,用户需要传递六个数字的密钥。这个六位数的值是设备身份验证的基础 。
同时由下表可以得知需要开启Display only模式,同时输入密钥需要开启MITM模式。
故在上节的配置中进行修改,修改如下所示,上节课程可以查阅往期进行查看。
选择do not use a fixed pin,这样在每个配对上都会生成一个事件。
开启身份验证,这样安全性会增加。
之后重新生成代码即可。
代码配置
在app_ble.c中,修改CFG_FIXED_PIN即可修改配对密码,这里设置为112233。
配置完成后下载即可。
结果演示
下载完程序后,可以看到串口打印固件版本等信息。
打开ST BLE ToolBox软件(APP在群内有615061293),可以看到该蓝牙已经可以搜索到。
点击connect进行连接。 连接之后可以看到串口打印了连接事件。
同时手机也显示该蓝牙模块连接成功。
让后我们试着读取他。
然后点击配对,输入刚刚升值的密钥112233。
配对完成后,串口会打印配对事件。
同时点击读取也能也显示成功读取。
如果CFG_USED_FIXED_PIN设置为Use a fixed pin(0x00)配置如下所示。
通过手机连接,输入密钥112233进行配置,显示无法配对,串口返回配对错误事件。
输入密钥111111才能正确进去,可见CFG_USED_FIXED_PIN设置为Use a fixed pin(0x00)配置下无法自定义密钥。