Heart Rate
Sets heart rate listener
All heart rate related data will pass the _blePlugin.heartRateEveStm.listen callback.
_blePlugin.heartRateEveStm.listen(
(HeartRateBean event) {
/// Do something with new state,for example:
setState(() {
switch (event.type) {
case HeartRateType.measuring:
_measuring = event.measuring!;
break;
case HeartRateType.onceMeasureComplete:
_onceMeasureComplete = event.onceMeasureComplete!;
break;
case HeartRateType.bloodOxygen:
_historyHrList = event.historyHrList!;
break;
case HeartRateType.measureComplete:
_measureComplete = event.measureComplete!;
break;
case HeartRateType.hourMeasureResult:
_hour24MeasureResult = event.hour24MeasureResult!;
break;
case HeartRateType.measureResult:
_trainingList = event.trainingList!;
break;
default:
break;
}
});
});
Callback Description:
HeartRateBean:
callback value | callback value type | callback value description |
---|---|---|
type | int | Get the corresponding return value according to type, where type is the value corresponding to HeartRateType |
measuring | int | The last dynamic heart rate measurement result |
onceMeasureComplete | int | Take a heart rate measurement |
historyHrList | List< HistoryHeartRateBean > | Historical heart rate data |
measureComplete | MeasureCompleteBean | Heart rate data |
hour24MeasureResult | HeartRateInfo | Heart rate measurement data for today or the previous day |
trainingList | List< TrainingHeartRateBean > | Dynamic heart rate data |
HistoryHeartRateBean:
callback value | callback value type | callback value description |
---|---|---|
date | String | date |
hr | int | heart rate |
MeasureCompleteBean:
callback value | callback value type | callback value description |
---|---|---|
historyDynamicRateType | String | Heart rate type, exercise heart rate |
heartRate | HeartRateInfo | heart rate |
HeartRateInfo:
callback value | callback value type | callback value description |
---|---|---|
startTime | int | start measure heart rate time |
heartRateList | List< int > | heart rate list |
timeInterval | int | Heart rate measurement interval |
heartRateType | String | Heart rate measurement type |
TrainingHeartRateBean:
type | startTime | endTime | validTime | steps | distance | calories |
---|---|---|---|---|---|---|
SportModeType | Start time (unit: milliseconds) | End time (unit: milliseconds) | Effective duration of exercise(unit: second) | Number of steps (partial motion mode is | Active distance (partial motion mode is not supported) | Calories |
SportModeType:
callback value | callback value type | callback value description |
---|---|---|
walkType | int | Walking |
runType | int | Run |
outdoorCyclingType | int | outdoor cycling |
ropeType | int | rope |
badmintonType | int | badminton |
basketballType | int | basketball |
footballType | int | football |
swimType | int | swim |
mountaineeringType | int | mountaineering |
tennisType | int | tennis |
rugbyType | int | rugby |
golfType | int | golf |
yogaType | int | yoga |
workoutType | int | workout |
danceType | int | dance |
baseballType | int | baseball |
ellipticalType | int | elliptical |
indoorCyclingType | int | indoor cycling |
freeTrainingType | int | free training |
boatingType | int | boating |
trailRunningType | int | trail running |
skiType | int | ski |
bowlingType | int | bowling |
dumbbellsType | int | dumbbells |
sitUpsType | int | sit ups |
onFootType | int | on foot |
indoorWalkType | int | indoor walk |
indoorRunType | int | indoor run |
cricketType | int | cricket |
kabAddiType | int | kabAddi |
HeartRateType:
type | value | value description |
---|---|---|
measuring | 1 | Gets the heart rate measurement |
onceMeasureComplete | 2 | Measuring once heart rate |
heartRate | 3 | Gets history once heart rate |
measureComplete | 4 | Data when heart rate measurement is completed |
hourMeasureResult | 5 | Gets heart rate measurement data |
measureResult | 6 | Gets Action data,Query the saved heart rate measurements in three sports modes |
Gets last action heart rate measurement
The dynamic heart rate is measured in an unconnected state and the watch can save the last measurement.
Query the last measured heart rate record saved by the watch. The query result will be obtained through the heartRateEveStm listening stream and saved in the HeartRateBean.measuring field,type is measuring.
_blePlugin.queryLastDynamicRate(HistoryDynamicRateType);
Parameter Description :
HistoryDynamicRateType:
value | value type | value description |
---|---|---|
firstHeartRate | String | first |
secondHeartRate | String | second |
thirdHeartRate | String | third |
Enable timing to measure heart rate
The watch supports 24-hour timed measurement of heart rate, starting from 00:00, you can set the measurement interval, the time interval is a multiple of 5 minutes.
_blePlugin.enableTimingMeasureHeartRate(int interval);
Disable timing to measure heart rate
Turn off the timing to measure the heart rate.
_blePlugin.disableTimingMeasureHeartRate;
Gets timing to measure heart rate status
The query timing measures the heart rate on state.
int timeHR = await _blePlugin.queryTimingMeasureHeartRate;
Gets today's heart rate measurement data
Today's heart rate measurement is divided into two types, which are obtained according to the measurement method supported by the corresponding watch.
Query today's measured heart rate value. The query result will be obtained through the heartRateEveStm listening stream and saved in the HeartRateBean.hour24MeasureResult field,type is hourMeasureResult.
_blePlugin.queryTodayHeartRate(TodayHeartRateType);
TodayHeartRateType:
type | value | value description |
---|---|---|
timingMeasureHeartRate | 1 | Timed heart rate measurement |
allDayHeartRate | 2 | 24-hour continuous measurement |
Gets historical heart rate data
Query the heart rate data of the previous day. The query result will be obtained through the heartRateEveStm listening stream and saved in the HeartRateBean.hour24MeasureResult field,type is hourMeasureResult.
_blePlugin.queryPastHeartRate;
Gets action data
Some watchs support heart rate measurement in a variety of motion modes. The measurements include other motion-related data such as heart rate and calories. This interface is used to obtain data such as calories. The watch can save the last three sports data. Supporting 24-hour continuous measurement of the watch, the exercise heart rate can be obtained from the 24-hour heart rate data according to the movement up time; other watch exercise heart rate and dynamic heart rate acquisition methods are consistent.
The query result will be obtained through the heartRateEveStm listening stream and saved in the HeartRateBean.trainingList field,type is measureResult.
_blePlugin.queryTrainingHeartRate;
Measuring once heart rate
Start measuring a single heart rate, the query result will be obtained through the heartRateEveStm listening stream and saved in the HeartRateBean.measureComplete field,type is onceMeasureComplete.
_blePlugin.startMeasureOnceHeartRate;
Stop once heart rate
End a once measurement. A measurement time that is too short will result in no measurement data.
_blePlugin.stopMeasureOnceHeartRate;
Gets history once heart rate
To query the historical heart rate, the query result will be obtained through the heartRateEveStm monitoring stream and saved in the HeartRateBean.historyHrList field,type is heartRate.
_blePlugin.queryHistoryHeartRate;