get temperature by spawn "sensors|grep °C"
This commit is contained in:
parent
08fe311938
commit
45df8475d0
|
@ -1,31 +1,26 @@
|
||||||
window.onload = function () {
|
window.onload = function () {
|
||||||
resize_canvas()
|
resize_canvas();
|
||||||
|
var chart = new SmoothieChart({ millisPerPixel: 200, maxValueScale: 1.1, minValueScale: 1.1, scaleSmoothing: 0.1, grid: { fillStyle: '#ffffff', millisPerLine: 5000, verticalSections: 8 }, labels: { fillStyle: '#0000ff', fontSize: 18, precision: 1 }, timestampFormatter: SmoothieChart.timeFormatter }),
|
||||||
var chart = new SmoothieChart({millisPerPixel: 200, maxValueScale: 1.1, minValueScale: 1.1, scaleSmoothing: 0.1, grid: { fillStyle: '#ffffff', millisPerLine: 5000, verticalSections: 8 }, labels: { fillStyle: '#0000ff', fontSize: 18, precision: 1 }, timestampFormatter: SmoothieChart.timeFormatter }),
|
|
||||||
canvas = document.getElementById('smoothie-chart'),
|
canvas = document.getElementById('smoothie-chart'),
|
||||||
series = new TimeSeries();
|
series = new TimeSeries();
|
||||||
average_array = []
|
average_array = []
|
||||||
|
|
||||||
chart.addTimeSeries(series, { lineWidth: 3.5, strokeStyle: '#ff0000' });
|
chart.addTimeSeries(series, { lineWidth: 3.5, strokeStyle: '#ff0000' });
|
||||||
chart.streamTo(canvas, 500);
|
chart.streamTo(canvas, 500);
|
||||||
|
|
||||||
function run_proc(series,average_array) {
|
function run_proc(series, average_array) {
|
||||||
var proc = cockpit.spawn(["vcgencmd","measure_temp"]);
|
cockpit.spawn(['sh', '-c', 'sensors|grep °C']).then(function (data) {
|
||||||
proc.done(function(data){
|
pt = parseFloat(("" + data).trim().split(/[\r\n]+/)[0].split(/:\s*/)[1].trim());
|
||||||
pt = parseFloat(data.match(/([0-9\.]+)/)[1]);
|
|
||||||
series.append(new Date().getTime(), pt);
|
series.append(new Date().getTime(), pt);
|
||||||
document.getElementById("cur_temp").innerHTML = pt;
|
document.getElementById("cur_temp").innerHTML = pt;
|
||||||
average_array.push(pt);
|
average_array.push(pt);
|
||||||
if(average_array.length > 5*60){
|
if (average_array.length > 5 * 60) {
|
||||||
average_array.shift();
|
average_array.shift();
|
||||||
}
|
}
|
||||||
document.getElementById("avg_temp").innerHTML = average(average_array);
|
document.getElementById("avg_temp").innerHTML = average(average_array);
|
||||||
console.log(average_array);
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
setInterval(function () { run_proc(series, average_array) }, 2000);
|
||||||
//run_proc(series)
|
|
||||||
setInterval(function () { run_proc(series,average_array) }, 1000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function resize_canvas() {
|
function resize_canvas() {
|
||||||
|
@ -36,7 +31,7 @@ function average(array) {
|
||||||
var sum = 0;
|
var sum = 0;
|
||||||
var count = array.length;
|
var count = array.length;
|
||||||
for (var i = 0; i < count; i++) {
|
for (var i = 0; i < count; i++) {
|
||||||
sum = sum + array[i];
|
sum = sum + array[i];
|
||||||
}
|
}
|
||||||
return sum / count;
|
return Math.round(sum * 10 / count) / 10;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue