This plugin enables communication between Android phone and ANT+ devices
Originally created for MoBio app:
- Android
In order to use this plugin install the following apps to your phone. The apps enable the communication with ANT+ OTG modul if you are using it.
- [ANT Radio Service] (https://play.google.com/store/apps/details?id=com.dsi.ant.service.socket)
- [ANT+ Plugins Service] (https://play.google.com/store/apps/details?id=com.dsi.ant.plugins.antplus)
- [ANT USB Service] (https://play.google.com/store/apps/details?id=com.dsi.ant.usbservice)
$ cordova plugin add cordova-plugin-antplus
- antplus.searchDevices
- antplus.stopSearchDevices
- antplus.subscribeHR
- antplus.unsubscribeHR
- antplus.subscribeWGT
- antplus.unsubscribeWGT
- antplus.requestBasicWGT
- antplus.requestAdvancedWGT
- antplus.subscribeSDM
- antplus.unsubscribeSDM
- antplus.subscribeBike
- antplus.unsubscribeBike
Search and discover ANT+ devices.
antplus.searchDevices(comma_separated_device_definition, success, failure)
Function searchDevices
scans for the defined ANT+ devices. Success callback is called every time the a device is discovered.
First parameter is string - comma separated values of device types that the function scans for.
Possible values are:
- HEARTRATE
- BIKE_SPD
- BIKE_CADENCE
- BIKE_SPDCAD
- STRIDE_SDM
- WEIGHT_SCALE
- resultID
- describeContents
- antDeviceNumber
- antDeviceType
- deviceDisplayName
- isAlreadyConnected
- isPreferredDevice
- isUserRecognizedDevice
- event
- message
- code
antplus.searchDevices('BIKE_SPD,BIKE_CADENCE,BIKE_SPDCAD', function(device) {
console.log(JSON.stringify(device));
}, failure);
Terminate scanning for ANT devices.
antplus.stopSearchDevices(success, failure)
Function subscribeHR
starts listening for Heart rate monitor events.
The first parameter is antDeviceNumber
returned from antplus.searchDevices. Success callback is called every time the an event is generated.
Each event has different type and data. Events are distinguished by the parameter event
.
antplus.subscribeHR(antDeviceNumber, function(response) {
console.log(JSON.stringify(response));
}, failure);
- antDeviceNumber
- timestamp
- event: 'heartRateData'
- eventFlags
- heartRate
- heartBeatCount
- heartBeatEventTime
- dataState
- event: 'page4AddtData'
- eventFlags
- estTimestamp
- manufacturerSpecificByte
- previousHeartBeatEventTime
- event: 'cumulativeOperatingTime'
- eventFlags
- estTimestamp
- cumulativeOperatingTime
- event: 'manufacturerAndSerial'
- eventFlags
- estTimestamp
- manufacturerID
- serialNumber
- event: 'versionAndModelEvent'
- eventFlags
- estTimestamp
- hardwareVersion
- softwareVersion
- modelNumber
- event: 'calculatedRrIntervalEvent'
- eventFlags
- estTimestamp
- rrInterval
- flag
- event: 'error'
- message
- code
- antDeviceNumber
Terminate listening for Heart rate monitor events.
antplus.unsubscribeHR(success, failure)
Function subscribeWGT
starts listening for Weight scale events.
The first parameter is antDeviceNumber
returned from antplus.searchDevices. Success callback is called every time the an event is generated.
Each event has different type and data. Events are distinguished by the parameter event
.
antplus.subscribeWGT(antDeviceNumber, function(response) {
console.log(JSON.stringify(response));
}, failure);
- antDeviceNumber
- timestamp
- event: 'bodyWeightBroadcastData'
- eventFlags
- estTimestamp
- bodyWeightStatus
- bodyWeight (note: present only if bodyWeightStatus == 'VALID')
- event: 'manufacturerIdentificationData'
- eventFlags
- estTimestamp
- hardwareRevision
- manufacturerID
- modelNumber
- event: 'productInformationData'
- eventFlags
- estTimestamp
- mainSoftwareRevision
- supplementalSoftwareRevision
- serialNumber
- event: 'error'
- message
- code
- antDeviceNumber
Terminate listening for Weight Scale events.
antplus.unsubscribeWGT(success, failure)
The methdod requests for the basic weight scale measurement - body weight.
antplus.requestBasicWGT(function(response) {
console.log(JSON.stringify(response));
}, failure);
- antDeviceNumber
- timestamp
- event: 'basicMeasurementData'
- eventFlags
- estTimestamp
- status
- bodyWeight (kg)
The methdod requests for the advanced weight scale data. The user profile is required input.
var userProfile = {
age: 27, // (int)
height: 85, // (int)
gender: 'MALE', // or 'FEMALE' (string)
lifetimeAthlete: false, (bool)
activityLevel: 3 // possible values are 1-6 (int)
};
antplus.requestAdvancedWGT(userProfile, function(response) {
console.log(JSON.stringify(response));
}, failure);
- antDeviceNumber
- timestamp
- event: 'advancedMeasurementData'
- eventFlags
- estTimestamp
- status
- bodyWeight (kg)
- hydrationPercentage (%)
- bodyFatPercentage (%)
- muscleMass (kg)
- boneMass (kg)
- activeMetabolicRate (kcal)
- basalMetabolicRate (kcal)
Function subscribeSDM
starts listening for Stride and Distance Monitor events.
The first parameter is antDeviceNumber
returned from antplus.searchDevices. Success callback is called every time the an event is generated.
Each event has different type and data. Events are distinguished by the parameter event
.
antplus.subscribeSDM(antDeviceNumber, function(response) {
console.log(JSON.stringify(response));
}, failure);
- antDeviceNumber
- timestamp
- event: 'instantaneousSpeedData'
- eventFlags
- estTimestamp
- instantaneousSpeed
- event: 'instantaneousCadenceData'
- eventFlags
- estTimestamp
- instantaneousCadence
- event: 'cumulativeDistanceData'
- eventFlags
- estTimestamp
- cumulativeDistance
- event: 'strideCountData'
- eventFlags
- estTimestamp
- cumulativeStrides
- event: 'computationTimestampData'
- eventFlags
- estTimestamp
- timestampOfLastComputation
- event: 'latencyData'
- eventFlags
- estTimestamp
- updateLatency
- event: 'sensorStatusData'
- eventFlags
- estTimestamp
- sensorLocation
- batteryStatus
- sensorHealth
- useState
- event: 'calorieData'
- eventFlags
- estTimestamp
- cumulativeCalories
- event: 'manufacturerIdentificationData'
- eventFlags
- estTimestamp
- hardwareRevision
- manufacturerID
- modelNumber
- event: 'productInformationData'
- eventFlags
- estTimestamp
- mainSoftwareRevision
- supplementalSoftwareRevision
- serialNumber
- event: 'manufacturerSpecificData'
- eventFlags
- estTimestamp
- hexString
- event: 'error'
- message
- code
- antDeviceNumber
Terminate listening for Stride and Distance Monitor events.
antplus.unsubscribeSDM(success, failure)
Function subscribeBike
starts listening for Speed and Cadence Monitor events.
The first parameter is antDeviceNumber
returned from antplus.searchDevices. Second parsmeter is circumference
(millimeters). Third parameter is deviceType
which defines the required bike sensor. Use one of the following values: 'BIKE_SPD' for the speed sensor only, 'BIKE_CADENCE' for the cadence sensor only, 'BIKE_SPDCAD' for the combined speed and cadence sensor. Success callback is called every time the an event is generated.
Each event has different type and data. Events are distinguished by the parameter event
.
antplus.subscribeBike(antDeviceNumber, function(response) {
console.log(JSON.stringify(response));
}, failure);
- antDeviceNumber
- timestamp
- event: 'calculatedSpeedData'
- eventFlags
- estTimestamp
- calculatedSpeed
- event: 'calculatedAccumulatedDistanceData'
- eventFlags
- estTimestamp
- calculatedAccumulatedDistance
- event: 'cumulativeRevolutionsData'
- eventFlags
- estTimestamp
- timestampOfLastEvent
- cumulativeRevolutions
- event: 'cumulativeOperatingTimeData'
- eventFlags
- estTimestamp
- cumulativeOperatingTime
- event: 'manufacturerAndSerialData'
- eventFlags
- estTimestamp
- manufacturerID
- serialNumber
- event: 'versionAndModelData'
- eventFlags
- estTimestamp
- hardwareVersion
- softwareVersion
- modelNumber
- event: 'batteryStatusData'
- eventFlags
- estTimestamp
- batteryVoltage
- batteryStatus
- event: 'motionAndSpeedData'
- eventFlags
- estTimestamp
- isStopped
- event: 'deviceStateChange'
- name
- state
- antDeviceNumber
- timestamp
- event: 'calculatedCadenceData'
- eventFlags
- estTimestamp
- isCombinedSensor: true
- calculatedCadence
Terminate listening for Speed and Cadence Monitor events.
antplus.unsubscribeBike(success, failure)