打印
[STM32WB]

MCU优选 第5期: 创“芯”设计:STM32WB09KE开发板测评合集

[复制链接]
55|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

*阅读说明:以下仅做简要总结展示,排名不分先后。详细测评过程描述、源码、资料等请戳原链接查看。


  • 测评1:

任务就是搭建开发环境。NUCLEO-WB09KE 开发板支持以MDK、IAR及STM32CubeIDE进行开发,本人选取的是MDK,所用的版本是V5.28。

STM32WB09KE开发板除了配接的无线扩展板外,它近于一款最小系统型的开发板,因此在实际应用中要借助扩展接口来自行丰富外设资源。当然这其中最主要的就是为它添加显示功能,以便进行人机间的交互。
这里为它添加了一款LCD屏,该显示屏采用SPI接口的工作发送,其显示分辨率为160*80像素点。

由资料可知STM32WB09KE配有USART和LPUART两种串口,借助UART不但可以实现串行通讯,还可以控制有相应功能的串口设备,如串口屏、双PWM调节模块、超声波测距仪、数据记录模块等。
为便于使用,这里用UART1来控制一款具有串口控制功能的MP3播放模块。
在具体实现MP3播放模块控制前,先要解决UART1的数据发送功能。

在STM32WB09KE内部配有8个A/D数据通道及一个VBAT检测通道和一个内部温度检测通道。
借助例程可实现内部温度检测和通道4的检测。其中通道4所使用的引脚为PB3,可从接口CN6的pin 6来连接,也可口CN4的pin11来连接。

RTC是一个独立的定时器,拥有一个连续计数的计数器,可以在相应的软件配置下提供时钟日历的功能。通过修改计数器的值,可以重新设置系统当前的时间和日期。

在厂家提供的例程中,有进行蓝牙通讯的程序框架,其工程名称为“BLE_SerialPort_Server”。
该程序的用途是在蓝牙接收到指定长度的字节数据后,通过串口来输出接收的数据。

在通常的情况下,我们所用的显示器件多是数码管、液晶屏等。但在公共场合则需要使用较大尺寸规格的显示器件。
常规的广告牌就是由一种称为半板的器件拼接而成,这里是选用一款P4.75的红色半板作为显示器件,其显示分辨率为16*64像素点。



  • 测评2:
此次评测完全使用ST提供的工具链进行,也是第一次用。

最近几天把STM32WB09KE开发套件提供的Demo程序都下载、编译和调试了一下,感觉提供的例程只要开启了低功耗模式,通常就会出现识别不了ST-link的SWD口,需要全部清除再下载,比较麻烦,可以参考我上个帖子的Tips部分内容。

OTA功能是我们项目一个必须的配置,所以BLE的OTA功能研究了好久,开发板提供的资料有限,通过平台招了ST的官方提供了一些资料,终于实验成功了。

今天开始实验蓝牙钥匙功能的实现,验证蓝牙钥匙的基本功能,大致的思路是用手机作为蓝牙钥匙端,WB09KE作为钥匙控制器,控制车身解锁,领用RSSI信号强度判断钥匙在车内还是车外。第一步先利用demo的service服务验证手机通过BLE下发解锁和闭锁命令,WB09KE开发板作为控制器通过串口监控接受指令,下一步通过串口转CAN口进行钥匙系统模拟。

在实现了利用钥匙端(手机)发送解锁和闭锁指令成功之后,经过摸索和百度,终于实现了读取BLE的RSSI值。



  • 测评3:
主要记录开发环境搭建以及验证。



本次体验自带的温度传感器与一路外部模拟输入模式。其中外部输入采集到是DFROBOT的模拟声音传感器。

本次体验使用Tim2生成周期为1Hz的时钟,在中断ISR内部,翻转LED1蓝色小灯的状态。

STM32WB09KE芯片自带了一个测量芯片结温的温度传感器,计划将该传感器数据通过蓝牙BLE发送出去。当中心设备开启Notify功能后,该传感器数据每隔1s发送一次,避免手动刷新。



  • 测评4:

今天我就测试了OLED驱动和RTC时钟调用与显示。

STM32WB09KE芯片是自带芯片温度测量的,本交测试体验就来获取一下芯片温度,但不知道什么原因,计算出来的数据与实际误差很大,但我用热风枪吹芯片,采集到的adc值是有变化的,具体什么原因,暂时还不得清楚,下面先记录一下获取温度值的过程。

本文用一个简单的示例来体验蓝牙的广播功能,用STM32WB09KE使用内置的RTC时钟,通过蓝牙广播当前时间,并用手机连接后,显示当前时间。



  • 测评5:


准备采用server模式,利用手机蓝牙连接开发板,连接之后发送指定指令控制板载的三个LED;
用官方给的例程模版比较方便,这里直接选用“BLE_SerialPort_Server”例程,基本的配置信息都可以用CUBEMx设置。




  • 测评6:
收到板子后,发现识别不到目标芯片。跟网友交流后,怀疑是小板问题,通过万用表检测,发现是CN1的1和2引脚短路所致。对插座进行维修,大头针撬开,发现了短路,分离后,重新插入,已经可以检测到目标芯片了。

该开发板进入蓝牙低功耗模式后会影响烧录,需要先试用RF-Flasher Utility对芯片进行清空操作。



  • 测评7:

开发环境已安装完毕,需要验证安装是否正确,本文是点灯 和 串口初始化,并发送数据。

WB0是蓝牙芯片,现在开始初始化蓝牙的部分了。

AHT30这个传感器不错,但是规格书很多小坑或模糊的点需要花时间去排错。



  • 测评8:

STM32WB0 系列芯片适用场景广泛,WB09 适用于工业和科研场景,能够在极端环境条件下满足开发需求。

本文介绍了如何使用 Nucleo-WB09KE 开发板实现蓝牙数据传输,通过手机端 APP 和 MQTT 通信协议将数据转发至 EMQX 云平台并显示在 HomeAssistant 界面。



  • 测评9:
STM32WB09KE是ST推出的有关无线的系列的芯片。所以凭借ST成熟的开发生态,STM32WB09KE支持多种开发环境。本文使用常用的开发软件进行验证—MDK。

在例程文件中有看门狗例程源码,所以分享一下该例程代码框架。



  • 测评10:


因为板子中已经下载有程序 - STM32WB05 P2P server(P2PSRV),于是,先通过移动电话的配对来测试一下有效的通信距离。

如果是使用 ST 自己提供的STM32Cube 套件,开发环境的搭建就很直接。



  • 测评11:
STM32WB09KE通过对GPIO(通用输入输出)端口的配置,控制LED灯的亮灭。

STM32WB09KE有几路串口,下面我进行串口配置、通信参数以及实际应用等方面进行描述出来。



  • 测评12:
之前也调试过蓝牙模块,不过因为距离问题项目上最后没用上,但是蓝牙在生活中各种设备都有它的身影,手环,电子锁,等等……
所以蓝牙还是很有必要学习一下的,随着物联网的发展,ST好像从去年就开始推这种无线+MCU的方案,有MCU+蓝牙,MCU+LORA,在项目里已经试过LORA方案(STM32WLE),使无线传感器体积可以做的很小,这个还是很有优势的,功耗做的也非常好,基于ST的生态,上手还是很快。



  • 关于STM32WB09KE:
STM32WB09xE,一款超低功耗的Bluetooth®低功耗无线SoC解决方案。NUCLEO-WB09KE 是一款低功耗蓝牙无线SoC的开发板,内嵌了符合蓝牙低功耗 SIG 规范 v5.4 的强大且超低功耗的无线电模块。它有先进的2.4GHz射频外设,电池寿命长,支持多种连接与应用。内有Arm® Cortex®-M0+微处理器及协处理器,安全硬件支持强,可配置多种应用,存储与数据传输出色,功能丰富(如ADC、RTC等),通信接口多样,工作环境适应性好,还集成多种电路,封装类型合适。选择它,开启智能无线设备创新之旅。

》》访问ST MCU论坛,可查看更多开源作品。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

160

主题

698

帖子

30

粉丝