У меня есть один DS18B20, подключенный к Arduino Uno.Arduino запускает настраиваемую фирму.Скрипт Node.js температура console.logs меняется каждые 3 секунды и отправляет значение температуры в массив t [].Если temp> 29 ° C, то отправитель сообщений отправляет предупреждающее сообщение.Джонни-пять, показания температуры и нодмаилер имеют свои модули.Все работает хорошо, но через + 10 - 20 часов происходит что-то странное.Каждое третье значение соответствует правильному показанию температуры, а другое - что-то вроде + 21,125 ° C - + 25 ° C (см. Ссылку на рисунок ниже, датчик в воде + 60 ° C).Я проверил эту проблему с горячей водой и обнаружил эту ошибку.Что это?Это проблема фирмы или Джонни-пять или как?
let t = [];
board.on("ready", function() {
var thermometer = new five.Thermometer({
controller: "DS18B20",
pin: 3,
freq: 100
});
thermometer.on("change", function() {
var temp = this.celsius;
t[0] = temp;
});
setInterval(function() {console.log(t[0]);}, 3000);
Это код для считывания температуры и отправки значения в массив.Если я использую t.push (temp), node.js выдает некоторые ошибки time.out (ссылка на изображение ниже).Так что это единственный способ заставить программу работать без ошибок time.out, но теперь у меня возникла эта странная проблема.
Ошибка температуры Timeout event.js error