概述
本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对获取密钥值,然后通过键盘输入密钥进行配对。
硬件准备
首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板:
源码下载
https://download.csdn.net/download/qq_24312945/85066704
设置配对方法
参考文档: https://www.st.com/resource/en/programming_manual/pm0271-stm32wb-ble-stack-programming-guidelines-stmicroelectronics.pdf 由下表可知,当设置为Keyboard only时候,用户需要传递六个数字的密钥。这个六位数的值是设备身份验证的基础 。
故在上节的配置中进行修改,修改如下所示。
配置完毕重新生成代码。
代码配置
在app_ble.c中先声明变量。在app_ble.c中,ACI_GAP_PASS_KEY_REQ_VSEVT_CODE下添加每次配对是生成密钥的请求事件。
我们需要定义一个由6个整数组成的数组,6个无符号整数,通过串口进行接收。 然后将接收的数据进行处理,处理为6位的密钥密钥。
配置完成后下载即可。
结果演示
下载完程序后,可以看到串口打印固件版本等信息。
打开ST BLE ToolBox软件(APP在群内有615061293),可以看到该蓝牙已经可以搜索到。点击connect进行连接。 连接之后可以看到串口打印了连接事件。
同时手机也显示该蓝牙模块连接成功。
让后我们试着读取他。
会让我们输入配对码。
在调试助手中输入配对码,点击发送即可,即可进行配对。
配对完成在进行读取,即可成功读取出来。