Проблемы с фреймворком Johnny-Five и DS18B20 после + 20 часов работы - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть один 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

...