Я использую нод-красный, чтобы получить сигнал от моей ячейки загрузки. Я получаю значение ячейки загрузки, используя MQTT (из моего сценария python), затем я хотел бы сохранить первые 5 значений, поступающих из MQTT, для вычисления смещения моей ячейки загрузки. Затем, когда у меня будет смещение, я могу вычесть его из моего msg.payload
, чтобы установить тензодатчик на 0.
Я попытался сделать некоторое время l oop, чтобы накопить первые 5 значений, но результат обновляется, даже если первые 5 значений пропали. Похоже, что он применил вычисления, которые находятся внутри моего l oop, даже если l oop закончился.
var offset0 = 0;
var i = 0;
while (i < 5) {
offset0 = parseFloat(msg.payload) + offset0;
i = i + 1;
}
offset0 = offset0 / 5;
msg.payload = offset0;
return msg;
msg
обновляется после каждого нового поступления из моей ячейки загрузки ... или я хотел бы оставить только первые 5 значений (5 - для проведения теста, затем я бы хотел использовать более 5 баллов).
Например, вот данные, которые я получаю из своей ячейки загрузки:
1.93, 1.94, 1.95, 1.94, 1.96, 1.93, 1.88, 1.93.
Это должно занять первые 5:
1.93, 1.94, 1.95, 1.94, 1.96
и составить среднее значение.