*阅读说明:以下仅做简要总结展示,排名不分先后。详细测评过程描述、源码、资料等请戳原链接查看。
任务就是搭建开发环境。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像素点。
此次评测完全使用ST提供的工具链进行,也是第一次用。
最近几天把STM32WB09KE开发套件提供的Demo程序都下载、编译和调试了一下,感觉提供的例程只要开启了低功耗模式,通常就会出现识别不了ST-link的SWD口,需要全部清除再下载,比较麻烦,可以参考我上个帖子的Tips部分内容。
OTA功能是我们项目一个必须的配置,所以BLE的OTA功能研究了好久,开发板提供的资料有限,通过平台招了ST的官方提供了一些资料,终于实验成功了。
今天开始实验蓝牙钥匙功能的实现,验证蓝牙钥匙的基本功能,大致的思路是用手机作为蓝牙钥匙端,WB09KE作为钥匙控制器,控制车身解锁,领用RSSI信号强度判断钥匙在车内还是车外。第一步先利用demo的service服务验证手机通过BLE下发解锁和闭锁命令,WB09KE开发板作为控制器通过串口监控接受指令,下一步通过串口转CAN口进行钥匙系统模拟。
在实现了利用钥匙端(手机)发送解锁和闭锁指令成功之后,经过摸索和百度,终于实现了读取BLE的RSSI值。
主要记录开发环境搭建以及验证。
本次体验自带的温度传感器与一路外部模拟输入模式。其中外部输入采集到是DFROBOT的模拟声音传感器。
本次体验使用Tim2生成周期为1Hz的时钟,在中断ISR内部,翻转LED1蓝色小灯的状态。
STM32WB09KE芯片自带了一个测量芯片结温的温度传感器,计划将该传感器数据通过蓝牙BLE发送出去。当中心设备开启Notify功能后,该传感器数据每隔1s发送一次,避免手动刷新。
今天我就测试了OLED驱动和RTC时钟调用与显示。
STM32WB09KE芯片是自带芯片温度测量的,本交测试体验就来获取一下芯片温度,但不知道什么原因,计算出来的数据与实际误差很大,但我用热风枪吹芯片,采集到的adc值是有变化的,具体什么原因,暂时还不得清楚,下面先记录一下获取温度值的过程。
本文用一个简单的示例来体验蓝牙的广播功能,用STM32WB09KE使用内置的RTC时钟,通过蓝牙广播当前时间,并用手机连接后,显示当前时间。
准备采用server模式,利用手机蓝牙连接开发板,连接之后发送指定指令控制板载的三个LED; 用官方给的例程模版比较方便,这里直接选用“BLE_SerialPort_Server”例程,基本的配置信息都可以用CUBEMx设置。
收到板子后,发现识别不到目标芯片。跟网友交流后,怀疑是小板问题,通过万用表检测,发现是CN1的1和2引脚短路所致。对插座进行维修,大头针撬开,发现了短路,分离后,重新插入,已经可以检测到目标芯片了。
该开发板进入蓝牙低功耗模式后会影响烧录,需要先试用RF-Flasher Utility对芯片进行清空操作。
开发环境已安装完毕,需要验证安装是否正确,本文是点灯 和 串口初始化,并发送数据。
WB0是蓝牙芯片,现在开始初始化蓝牙的部分了。
AHT30这个传感器不错,但是规格书很多小坑或模糊的点需要花时间去排错。
STM32WB0 系列芯片适用场景广泛,WB09 适用于工业和科研场景,能够在极端环境条件下满足开发需求。
本文介绍了如何使用 Nucleo-WB09KE 开发板实现蓝牙数据传输,通过手机端 APP 和 MQTT 通信协议将数据转发至 EMQX 云平台并显示在 HomeAssistant 界面。
STM32WB09KE是ST推出的有关无线的系列的芯片。所以凭借ST成熟的开发生态,STM32WB09KE支持多种开发环境。本文使用常用的开发软件进行验证—MDK。
在例程文件中有看门狗例程源码,所以分享一下该例程代码框架。
因为板子中已经下载有程序 - STM32WB05 P2P server(P2PSRV),于是,先通过移动电话的配对来测试一下有效的通信距离。
如果是使用 ST 自己提供的STM32Cube 套件,开发环境的搭建就很直接。
STM32WB09KE通过对GPIO(通用输入输出)端口的配置,控制LED灯的亮灭。
STM32WB09KE有几路串口,下面我进行串口配置、通信参数以及实际应用等方面进行描述出来。
之前也调试过蓝牙模块,不过因为距离问题项目上最后没用上,但是蓝牙在生活中各种设备都有它的身影,手环,电子锁,等等…… 所以蓝牙还是很有必要学习一下的,随着物联网的发展,ST好像从去年就开始推这种无线+MCU的方案,有MCU+蓝牙,MCU+LORA,在项目里已经试过LORA方案(STM32WLE),使无线传感器体积可以做的很小,这个还是很有优势的,功耗做的也非常好,基于ST的生态,上手还是很快。
STM32WB09xE,一款超低功耗的Bluetooth®低功耗无线SoC解决方案。NUCLEO-WB09KE 是一款低功耗蓝牙无线SoC的开发板,内嵌了符合蓝牙低功耗 SIG 规范 v5.4 的强大且超低功耗的无线电模块。它有先进的2.4GHz射频外设,电池寿命长,支持多种连接与应用。内有Arm® Cortex®-M0+微处理器及协处理器,安全硬件支持强,可配置多种应用,存储与数据传输出色,功能丰富(如ADC、RTC等),通信接口多样,工作环境适应性好,还集成多种电路,封装类型合适。选择它,开启智能无线设备创新之旅。
|