mirror of https://github.com/espruino/BangleApps
Delete apps/Banglebridge directory
parent
2984fd5fc8
commit
b49335181d
|
@ -1,10 +0,0 @@
|
||||||
Widget that allows Bangle Js to record pair and end data using Bluetooth Low Energy in combination with the BangleBridge Android App
|
|
||||||
Part of smartPPE project https://jorgepramos.github.io/Smart_PPE/index.html
|
|
||||||
|
|
||||||
# BangleBridge
|
|
||||||
|
|
||||||
Widget that allows Bangle Js to record pair and end data using Bluetooth Low Energy in combination with the BangleBridge Android App.
|
|
||||||
|
|
||||||
## Full Project
|
|
||||||
|
|
||||||
Part of smartPPE project [SmartPEE](https://jorgepramos.github.io/Smart_PPE/index.html).
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.4 KiB |
|
@ -1 +0,0 @@
|
||||||
00堽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0C><><EFBFBD><EFBFBD><EFBFBD><0C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0C><><EFBFBD><0C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0C><><0C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0C>??<0C><><EFBFBD><EFBFBD><EFBFBD><0C><><0C><><EFBFBD><EFBFBD><0C><><0C><><EFBFBD><EFBFBD><0C><><0C><><EFBFBD><0C><><0C><><EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<0C><><EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<0C><><EFBFBD><0C><>''''<27><><EFBFBD><0C><>''''<27><><EFBFBD><0C><>'''''<27><><EFBFBD><EFBFBD>'<27><>''''''<27><><EFBFBD><EFBFBD>'??'''''''<27><><EFBFBD><EFBFBD><EFBFBD>''''''''<27><><EFBFBD><EFBFBD><EFBFBD>''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'''''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'''''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''''''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
Binary file not shown.
|
@ -1 +0,0 @@
|
||||||
hola
|
|
|
@ -1,293 +0,0 @@
|
||||||
(() => {
|
|
||||||
/**
|
|
||||||
* Widget measurements
|
|
||||||
* Description:
|
|
||||||
* name: connection.wid.js
|
|
||||||
*icon: conectionIcon.icon
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
//Font
|
|
||||||
g.setFont("Vector", 100);
|
|
||||||
//variabangle.Sensorss
|
|
||||||
let acclS, bttS, compssS, gpsS, hrmS, stepS; //Strings
|
|
||||||
let accelN, compssN, gpsN, hrmN, stepN; //Num
|
|
||||||
let prueba = 1;
|
|
||||||
let data = [0, 0, 0, 0, 0, 0];
|
|
||||||
//Constants for redabangle.Sensors code
|
|
||||||
let storage = require('Storage');
|
|
||||||
let deCom = require('heatshrink');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Sensors code
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Jorge
|
|
||||||
*/
|
|
||||||
function accel() {
|
|
||||||
|
|
||||||
Bangle.on('accel', function (acc) {
|
|
||||||
// acc = {x,y,z,diff,mag}
|
|
||||||
accelN = acc;
|
|
||||||
});
|
|
||||||
|
|
||||||
setInterval(function () {
|
|
||||||
|
|
||||||
acclS = accelN.x + "##" + accelN.y + "##" + accelN.z + "\n" + accelN.diff + "##" + accelN.mag;
|
|
||||||
data[3] = accelN;
|
|
||||||
}, 2 * 1000);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function btt() {
|
|
||||||
|
|
||||||
setInterval(function () {
|
|
||||||
|
|
||||||
bttS = E.getBattery(); //return String
|
|
||||||
data[2] = E.getBattery();
|
|
||||||
}, 15 * 1000);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function compss() {
|
|
||||||
|
|
||||||
Bangle.setCompassPower(1);
|
|
||||||
Bangle.on('mag', function (mag) {
|
|
||||||
// mag = {x,y,z,dx,dy,dz,heading}
|
|
||||||
compssN = mag;
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
setInterval(function () {
|
|
||||||
|
|
||||||
compssS = "A: " + compssN.x + " ## " + compssN.y + " ## " + compssN.z + "\n" +
|
|
||||||
"B: " + compssN.dx + " ## " + compssN.dy + " ## " + compssN.dz + " ## " + "\n" +
|
|
||||||
"C: " + compssN.heading; //return String
|
|
||||||
data[4] = compssN;
|
|
||||||
}, 2 * 1000);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function gps() {
|
|
||||||
|
|
||||||
Bangle.setGPSPower(1);
|
|
||||||
Bangle.on('GPS', function (gps) {
|
|
||||||
// gps = {lat,lon,alt,speed,etc}
|
|
||||||
gpsN = gps;
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
setInterval(function () {
|
|
||||||
|
|
||||||
gpsS = "A: " + gpsN.lat + " ## " + gpsN.lon + " ## " + gpsN.alt + "\n" + "B: " + gpsN.speed + " ## " + gpsN.course + " ## " + gpsN.time + "\n" +
|
|
||||||
"C: " + gpsN.satellites + " ## " + gpsN.fix; //return String
|
|
||||||
// work out how to display the current time
|
|
||||||
var d = new Date();
|
|
||||||
var year = d.getFullYear();
|
|
||||||
|
|
||||||
var month = d.getMonth() + 1;
|
|
||||||
var finalMonth = 0;
|
|
||||||
if (month < 10) {
|
|
||||||
finalMonth = "0" + month;
|
|
||||||
} else {
|
|
||||||
finalMonth = month;
|
|
||||||
}
|
|
||||||
var day = d.getDate();
|
|
||||||
var finalDay = 0;
|
|
||||||
if (day < 10) {
|
|
||||||
finalDay = "0" + day;
|
|
||||||
} else {
|
|
||||||
finalDay = day;
|
|
||||||
}
|
|
||||||
var h = d.getHours(),
|
|
||||||
m = d.getMinutes();
|
|
||||||
var finalh = 0;
|
|
||||||
if (h < 10) {
|
|
||||||
finalh = "0" + h;
|
|
||||||
} else {
|
|
||||||
finalh = h;
|
|
||||||
}
|
|
||||||
var finalM = 0;
|
|
||||||
if (m < 10) {
|
|
||||||
finalM = "0" + m;
|
|
||||||
} else {
|
|
||||||
finalM = m;
|
|
||||||
}
|
|
||||||
|
|
||||||
var s = d.getSeconds();
|
|
||||||
var finalS = 0;
|
|
||||||
if (s < 10) {
|
|
||||||
finalS = "0" + s;
|
|
||||||
} else {
|
|
||||||
finalS = s;
|
|
||||||
}
|
|
||||||
var z = d.getMilliseconds();
|
|
||||||
var zFinal = new String(z);
|
|
||||||
zFinal = zFinal.replace('.', '');
|
|
||||||
var completeTime = year + "-" + finalMonth + "-" + finalDay + "T" + finalh + ":" + finalM + ":" + finalS + "." + z + "Z";
|
|
||||||
var time = h + ":" + ("0" + m).substr(-2);
|
|
||||||
gpsN.time = completeTime;
|
|
||||||
data[5] = gpsN;
|
|
||||||
}, 2 * 1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function hrm() {
|
|
||||||
|
|
||||||
let msr = [0, 0, 0, 0, 0];
|
|
||||||
let lastInsert = -1;
|
|
||||||
|
|
||||||
function roundInsert(nueva) {
|
|
||||||
let indexFinal = (lastInsert + 1) % (msr.length);
|
|
||||||
|
|
||||||
msr[indexFinal] = nueva;
|
|
||||||
|
|
||||||
item = nueva;
|
|
||||||
lastInsert = indexFinal;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function normalize(nueva) {
|
|
||||||
|
|
||||||
let normalize = 0;
|
|
||||||
roundInsert(nueva);
|
|
||||||
|
|
||||||
|
|
||||||
msr.forEach(function (number) {
|
|
||||||
normalize += number;
|
|
||||||
});
|
|
||||||
normalize = normalize / msr.length;
|
|
||||||
|
|
||||||
return normalize;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setInterval(function () {
|
|
||||||
|
|
||||||
if (!isNaN(hrmN)) {
|
|
||||||
|
|
||||||
|
|
||||||
hrmN = normalize(hrmN);
|
|
||||||
var roundedRate = parseFloat(hrmN).toFixed(2);
|
|
||||||
hrmS = String.valueOf(roundedRate); //return String
|
|
||||||
//console.log("array----->" + msr);
|
|
||||||
data[0] = roundedRate;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}, 2 * 1000);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function steps() {
|
|
||||||
|
|
||||||
Bangle.on('step', s => {
|
|
||||||
|
|
||||||
stepN = s;
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
setInterval(function () {
|
|
||||||
|
|
||||||
stepS = String.valueOf(stepN); //return String
|
|
||||||
data[1] = stepN;
|
|
||||||
}, 2 * 1000);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function initSensors() {
|
|
||||||
|
|
||||||
//need power control
|
|
||||||
Bangle.setHRMPower(1);
|
|
||||||
|
|
||||||
Bangle.on('HRM', function (hrm) {
|
|
||||||
hrmN = hrm.bpm;
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
console.log("Sensors are being Init....");
|
|
||||||
accel();
|
|
||||||
btt();
|
|
||||||
compss();
|
|
||||||
gps();
|
|
||||||
hrm();
|
|
||||||
steps();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
var flip = 1;
|
|
||||||
Bangle.on('lcdPower', function (on) {
|
|
||||||
|
|
||||||
if (flip == 1) { //when off
|
|
||||||
console.log("--------------------------------------------------------------- 1");
|
|
||||||
flip = 0;
|
|
||||||
|
|
||||||
g.clear();
|
|
||||||
} else { //when on
|
|
||||||
console.log("--------------------------------------------------------------- 0");
|
|
||||||
|
|
||||||
flip = 1;
|
|
||||||
g.setFont("Vector", 30);
|
|
||||||
g.drawString(data[0], 65, 180);
|
|
||||||
Bangle.drawWidgets();
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
function draw() {
|
|
||||||
|
|
||||||
g.drawImage(storage.read("iconWatch.img"), this.x + 1, this.y + 1);
|
|
||||||
g.drawImage(storage.read("heart.img"), 145, 167);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Finally add widget
|
|
||||||
WIDGETS["banglebridge"] = {
|
|
||||||
area: "tl",
|
|
||||||
width: 10,
|
|
||||||
draw: draw,
|
|
||||||
};
|
|
||||||
|
|
||||||
initSensors();
|
|
||||||
|
|
||||||
data[0] = 80.5;
|
|
||||||
g.setFont("Vector", 30);
|
|
||||||
g.drawString(data[0], 65, 180);
|
|
||||||
Bangle.drawWidgets();
|
|
||||||
|
|
||||||
|
|
||||||
setInterval(function () {
|
|
||||||
|
|
||||||
var measurement = {
|
|
||||||
hrm: data[0],
|
|
||||||
step: data[1],
|
|
||||||
batt: data[2],
|
|
||||||
acc: data[3],
|
|
||||||
com: data[4],
|
|
||||||
gps: data[5]
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Bluetooth.println(JSON.stringify(measurement) + "#");
|
|
||||||
|
|
||||||
}, 5 * 1000);
|
|
||||||
|
|
||||||
})(); //End of Widget
|
|
Loading…
Reference in New Issue