1、打开微信开发者工具,新建一个项目,按照上一篇【【STM32WBA55CG开发板】DIY蓝牙控制取暖器——2、移植Sht3x驱动,并实现温度上报】https://forum.eepw.com.cn/thread/387592/1的方法创建微信小程。
2、把温度、湿度修改为心跳、血氧,修改代码如下:
<!-- 心跳显示控件 --><view class="display-item"><text>心率:</text><text>{{heartbeat}}次</text></view>
<!-- 血氧显示控件 --><view class="display-item"><text>血氧:</text><text>{{bloodOxygen}}%</text></view></view>3、p2p_server_app.c中增加一个上报血氧、心跳的函数:
//上传心路、血氧
void send_heart_data(uint8_t heart, uint8_t spo2)
{
P2P_SERVER_Data_t p2p_server_notification_data;
p2p_server_notification_data.p_Payload = (uint8_t*)a_P2P_SERVER_UpdateCharData;
p2p_server_notification_data.Length = 0;
a_P2P_SERVER_UpdateCharData[0] = heart; /* Device Led selection */
a_P2P_SERVER_UpdateCharData[1] = spo2;
/* Update notification data length */
p2p_server_notification_data.Length = (p2p_server_notification_data.Length) + 2;
P2P_SERVER_UpdateValue(P2P_SERVER_SWITCH_C, &p2p_server_notification_data);
}4、在blood.c中添加上报函数:
/**
* ************************************************************************
* @brief 心率血氧循环函数
*
*
* ************************************************************************
*/
void blood_Loop(void)
{
//血液信息获取
blood_data_update();
//血液信息转换
if(g_fft_index >= FFT_N)
{
HAL_TIM_Base_Stop_IT(&htim3);
blood_data_translate();
SpO2 = (SpO2 > 99.99) ? 99.99:SpO2;
LOG_INFO_APP("心率%3d/min; 血氧%2d%%\n", heart, (int)SpO2);
g_fft_index = 0;
memset(s1,0,sizeof(s1));
memset(s2,0,sizeof(s2));
//执行上报数据功能
send_heart_data((uint8_t)heart, (uint8_t)SpO2);
HAL_TIM_Base_Start_IT(&htim3);
}
}编译后下载到开发板,打开微信小程,连接开发板,把手指放到MAX30100上,就可以实时查看心跳、血氧指数值了:

这里我添加了一个图表的功能,但是美工不怎么样,大佬们熟悉前端开发的,可以设计一个精美的界面。
【总结】
使用STM32WBA,可以快速的设计出自己的蓝牙产品。
我要赚赏金
