你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STEVAL-STWINKT1B评测】 +手机端实时查看振动、温度、电池电压曲线

[复制链接]
背影101 发布时间:2026-3-24 09:28

一、本次使用到的例程

例程:C:\Users\JHC\Desktop\stsw-stwinkt\stsw-stwinkt01\STSW-STWINKT01_V2.2.0\Projects\BLE_SampleApp

BLE_SampleApp例程为通过BLE传输温湿度等信息到手机端,符合本次实验的基本要求

①例程架构

主要功能:

初始化STM32L4系列MCU

初始化BlueNRG BLE模块

周期性地采集传感器数据(温度、湿度、气压)

通过BLE服务将数据发送到连接的客户端

核心组件:

传感器:LPS22HH(气压/温度)、HTS221(湿度)、STTS751(温度)

BLE模块:BlueNRG系列

定时器:TIM1用于触发数据发送

二、需添加的组件

在上述组件的基础上还需要添加用于测试振动信息的代码

使用BSP中官网代码即可

路径:C:\Users\JHC\Desktop\stsw-stwinkt\stsw-stwinkt01\STSW-STWINKT01_V2.2.0\Drivers\BSP\Components\iis3dwb

image.png

三、代码调试

①使用IDE软件打开官方例程BLE_SampleApp

image.png

②添加需要的BSP程序

这里直接拖动就可以(左键点文件,拖到此目录下)

image.png

③代码修改

添加头文件

include "iis3dwb.h" // IIS3DWB加速度计驱动

include "STWIN_conf.h" // STWIN板级配置

include "STWIN_motion_sensors.h" // 运动传感器接口

增加全局变量

float ax, ay, az; // 加速度值(单位:g) uint8_t device_id; // 传感器ID float odr; // 输出数据率 int32_t fullscale; // 满量程范围 BSP_MOTION_SENSOR_Axes_t g_accelerometer; // 加速度数据结构

main函数中初始化加速计

// 1. 初始化IIS3DWB加速度计 if (BSP_MOTION_SENSOR_Init(IIS3DWB_0, MOTION_ACCELERO) != BSP_ERROR_NONE) { while(1); // 初始化失败则死循环 }

// 2. 读取设备ID(验证通信) if (BSP_MOTION_SENSOR_ReadID(IIS3DWB_0, &device_id) == BSP_ERROR_NONE) { printf("IIS3DWB Device ID: 0x%02X\n", device_id); }

// 3. 设置输出数据率(100Hz) BSP_MOTION_SENSOR_SetOutputDataRate(IIS3DWB_0, MOTION_ACCELERO, 100.0f);

// 4. 设置满量程(±16g) BSP_MOTION_SENSOR_SetFullScale(IIS3DWB_0, MOTION_ACCELERO, 16);

// 5. 获取当前配置(验证配置是否成功) BSP_MOTION_SENSOR_GetOutputDataRate(IIS3DWB_0, MOTION_ACCELERO, &odr); BSP_MOTION_SENSOR_GetFullScale(IIS3DWB_0, MOTION_ACCELERO, &fullscale);

// 6. 启用传感器 BSP_MOTION_SENSOR_Enable(IIS3DWB_0, MOTION_ACCELERO);

主循环中读取加速计

// 读取加速度数据 if (BSP_MOTION_SENSOR_GetAxes(IIS3DWB_0, MOTION_ACCELERO, &g_accelerometer) == BSP_ERROR_NONE) { // 数据单位转换:原始数据为mg,转换为g ax = (float)g_accelerometer.x / 1000.0f; ay = (float)g_accelerometer.y / 1000.0f; az = (float)g_accelerometer.z / 1000.0f; }

修改传感器发送函数里面的参数为所需参数

原函数:

Environmental_Update(PressToSend, HumToSend, Temp2ToSend, Temp1ToSend);

改为:

// 添加了电池电压读取 uint16_t bat_vol; BSP_BC_GetVoltage(&bat_vol);

// 修改了Environmental_Update的参数 Environmental_Update(ax, az, Temp2ToSend, (float)bat_vol/1000.0f);

再次此基础上可以编译以及烧录,但是振动数据就是没有

通过查询资料才知道,需要在STWIN_conf.h文件中将IIS3WB使能(将0改为1)

如下图

image.png

四、手机端查看数据

手机APP: ST BLE Sensor

手机端原显示数据与现数据对比

image.png

视频:(摇动demo时候,ax、az变化,手指放在温度传感器后温度变化等)

[STEVAL-STWINKT1B手机端实时查看振动温度电压变化曲线_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1T6XwBEE1W/?vd_source=ba772c0e85968405f3278035d0e204a0)

后续有时间将进行其他实验

只有实践了才知道自己的不足,加油吧

收藏 评论0 发布时间:2026-3-24 09:28

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版