Приложение Ionic измеряет вес с помощью Bluetooth-датчика Ardoino.Это работает отлично.Но когда я показываю измерения, это очень нестабильно.
Теперь я сделал это: я получаю значения, которые приходят из data
, затем я нажимаю 20 значений в array_data
.
Затем я вычисляю среднее значение этого массива.Но если я очистить массив после установки this.measure.Это также очень нестабильно, также, если я беру 200 значений, это ничего не меняет.
Это данные, которые я получаю от data
.Из этих значений я хочу вычислить каждые 10 или 20 значений среднего, чтобы значения в конечном итоге стали намного более стабильными.
Каждую секунду я получаю 10 или 20 значений веса.
Код:
this.smartBox.connect().then(box => {
box.subscribe(data => {
for (let i = 1; i <= 20; i++) {
this.data_array.push(data * 1);
console.log(i);
}
console.log(this.data_array.length);
let sum = this.data_array.reduce((previous, current) => current += previous);
let avg = sum.toFixed(0) / this.data_array.length;
this.measure = Math.round(avg);
this.applicationRef.tick();
this.data_array = [];
});
loader.dismissAll();
}, e => {
loader.dismissAll();
});
Я надеюсь, что кто-то может помочь мне с этим.