[Blinker+ArduinoUNO+BLE]蓝牙测数据求助
设备信息[*]硬件:
[*]接入方式: HM-10模块
[*]package版本: 最新
[*]blinker库版本: 最新
[*]开发环境:
[*]操作系统:
IDE 中的设置
[*]开发板类型和COM口选取正常
[*]其他都是默认设置
手机信息及APP信息
[*]红米K30
[*]android 10
[*]2.5.2
问题描述用的是PulseSensor传感器和Arduino 通过BLE连接并上传数据给Blinker,每次心跳都会手机振动并上传数据。
可以流畅运行
串口监视器看起来正常
手机振动的频率也很正常
文档里的蓝牙实例看过了,这个也没有报错,没有错误码
但是!APP界面的数据不会更新,只会显示同一个数据或显示0。
代码#define BLINKER_BLE
#include <Blinker.h>
#define USE_ARDUINO_INTERRUPTS true // 使用Arduino中断。
#include <PulseSensorPlayground.h> // 引入PulseSensor库文件。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); //定义开发板之间串口通信的引脚RX=2,TX=3
//定义APP按钮和数据键名
BlinkerNumber APPBPM("bpm_read");
//PulseSensor相关的东西
const int PulseWire = 0; // PulseSensor PURPLE WIRE connected to ANALOG PIN 0
const int LED13 = 13; // The on-board Arduino LED, close to PIN 13.
int Threshold = 550;
int bpm_read = 60;
PulseSensorPlayground pulseSensor;
void heartbeat()
{
APPBPM.print(bpm_read);//向移动端回传BPM数据
}
void setup() {
Serial.begin(9600);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
// 初始化位置引脚作为输入。
pinMode(PulseWire, INPUT);
Blinker.begin();
Blinker.attachHeartbeat(heartbeat);//APP端获取传输的数据
// 定义PulseSensor的心跳显示灯.
pulseSensor.analogInput(PulseWire);
pulseSensor.blinkOnPulse(LED13); //脉搏灯输出引脚.
pulseSensor.setThreshold(Threshold);
// 当心率脉搏传感器开始运作,则引入头文件.
if (pulseSensor.begin()) {
Serial.println("心率测量已就绪。");//This prints one time at Arduino power-up,or on Arduino reset.
}
}
void loop() {
bpm_read = pulseSensor.getBeatsPerMinute();// 获取心跳数据.
if (pulseSensor.sawStartOfBeat()) { //当心跳发生时获取和处理心率数据
Serial.println("检测到一次心跳!");
Serial.print("BPM: ");
Serial.println(bpm_read); //串口监视器显示bpm数据
Blinker.vibrate(660);
}
Blinker.delay(20); // considered best practice in a simple sketch.
}
LOG信息23:36:59.504 -> autoFormatData data: "vibrate":660
23:36:59.551 -> strlen(_sendBuf): 0
23:36:59.551 -> data.length(): 13
23:36:59.643 -> print: {"vibrate":660}
23:36:59.690 -> Proto print...
23:36:59.690 -> Freeheap: 990
23:36:59.736 -> Response: {"vibrate":660}
23:36:59.736 -> Success...
23:36:59.781 -> Freeheap: 1160
23:37:00.013 -> 检测到一次心跳!
23:37:00.013 -> BPM: 69
23:37:00.013 -> autoFormatData data: "vibrate":660
……(和上面一样)
23:37:00.290 -> Freeheap: 1160
23:37:00.337 -> 检测到一次心跳!
23:37:00.382 -> BPM: 73
23:37:00.382 -> autoFormatData data: "vibrate":660
……(和上面一样)
23:37:00.661 -> Freeheap: 1160
23:37:03.585 -> 检测到一次心跳!
23:37:03.631 -> BPM: 206
每次心跳都会有一组信息
编译信息编译没有报错
测试例程
页:
[1]