Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.06.2017, 15:20
Новичок на форуме
Отправить личное сообщение для Joshua Посмотреть профиль Найти все сообщения от Joshua
 
Регистрация: 28.04.2015
Сообщений: 1

прошу подсказки по orangepi Zero + Armbian + node.js
Доброго времени суток.
прошу прощения что немного не в тему, но вроде как по тематике ближе всего
проблема в следующем:
накидал проект для мониторинга аквариума с использованием того что в теме

разделил на два модуля.
1-ый - управление кнопками и реле
2-ой - вывод инфо на дисплей


var gpiobutton = require('gpiobutton');
var buttonSpec = {gpiono:19};
var buttonSpec2 = {gpiono:18};
var buttonL = new gpiobutton.button(buttonSpec);
var buttonF = new gpiobutton.button(buttonSpec2);
var onoff = require('onoff');
var Gpio = onoff.Gpio,
  relayIn1 = new Gpio(2,'out' );
  relayIn2 = new Gpio(6,'out' );


buttonL.on("buttonpress", function(event) {
var  value = (relayIn1.readSync()+1) % 2;
  relayIn1.write(value, function() {
//    console.log("Changed LED state to: " + value);
  });

});
buttonF.on("buttonpress", function(event) {
var  value = (relayIn2.readSync()+1) % 2;
  relayIn2.write(value, function() {
//    console.log("Changed LED state to: " + value);
  });
});


второй:
//read gpio state  //
var valueL=1;
var valueF=1;
var onoff = require('onoff');
var Gpio = onoff.Gpio,
  relayIn1 = new Gpio(2,'out' );
  relayIn2 = new Gpio(6,'out' );
var light = 'Light ON ';
var fito = 'Fito ON'


//LCD part
var ip = require('ip');
var ds18b20 = require('ds18b20');
var LCD = require('lcdi2c');
var sleep = require('sleep');
var lcd = new LCD( 0, 0x27, 20, 4 );



//lcd.createChar(0,[0x18,0x18,0x3,0x4,0x4,0x4,0x3] );


var now = 0;
lcd.on();
//lcd.setBacklight();
lcd.clear();
lcd.home();

function run() {


  now = new Date();
  var time1 = now.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit', hour12: false});
  var date1 = now.toLocaleDateString([], {month: 'long',day: 'numeric', year: 'numeric'});

  valueL = (relayIn1.readSync()) % 2;
  valueF = (relayIn2.readSync()) % 2;

// console.log('value= '+value)

  if (valueL==0){
    light = 'Light ON ';
  }
  else light = 'Light OFF';

  if (valueF==0){
    fito = 'Fito ON ';
  }
  else fito = 'Fito OFF';


    //Print and check for errors. If errors found, shut down gently.

    lcd.println( date1 + '  ' + time1 + '  ', 1 );
    lcd.println( light + ' | ' + fito, 2 );
    lcd.println( 'Aqua Temp C = '+ ds18b20.temperatureSync('28-041663a8bcff') + '     ' , 3 );

    var myip=ip.address();
    lcd.println( 'IP= '+myip, 4 );

setTimeout(() => run(), 100);


};

run();


проблема в том, что по истечении 3-4 часов работы модуль дисплея выгружается из памяти.
помогите понять почему
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Востребованность разработчиков на Node.js danik.js AJAX и COMET 7 08.12.2012 22:49
скрипт всплывающей подсказки kent666 Events/DOM/Window 0 03.11.2011 17:59