Установка системы intraHouse



  • @filippovsky:

    На данный момент свой файл на каждый день и каждый датчик. Датчиков пока всего один. Поэтому в моем случае проще - один файл это один день.

    Понятно. В течение недели сделаем скрипт для загрузки и выложим.

    А имена файлов за разные дни как-то различаются?



  • Подскажите пожалуйста есть ли настройка ip адреса IH ? чего то найти не могу:)



  • @artem521:

    Подскажите пожалуйста есть ли настройка ip адреса IH ? чего то найти не могу:)

    Да настройте его прям в убунте)



  • @homa:

    @artem521:

    Подскажите пожалуйста есть ли настройка ip адреса IH ? чего то найти не могу:)

    Да настройте его прям в убунте)

    Так и думал:) вот не помню, в berry был такой пункт или нет, но было б удобно если он был. Или в про версии есть:)



  • Нету там тоже



  • @artem521:

    Подскажите пожалуйста есть ли настройка ip адреса IH ? чего то найти не могу:)

    В разных операционных системах эта настройка делается разными способами.

    По этой причине возможность настройки IP адреса в Project Manager убрали.



  • Подскажите, пожалуйста, как можно корректно перенести папку сервера из /opt/intrahouse-c/ в /var/intrahouse-c/ ?

    Интересует перенос именно самого сервера, а не папки проектов.

    У меня раздел /opt живет на eMMC, а раздел /var живет на HDD.

    А в /opt/intrahouse-c пишутся логи, что хотелось бы делать на HDD.

    Достаточно ли переписать папку и поправить пути запуска/останова в /etc/rc.* ?

    Или есть какие-то нюансы?



  • @filippovsky:

    Подскажите, пожалуйста, как можно корректно перенести папку сервера из /opt/intrahouse-c/ в /var/intrahouse-c/ ?

    Интересует перенос именно самого сервера, а не папки проектов.

    У меня раздел /opt живет на eMMC, а раздел /var живет на HDD.

    А в /opt/intrahouse-c пишутся логи, что хотелось бы делать на HDD.

    Достаточно ли переписать папку и поправить пути запуска/останова в /etc/rc.* ?

    Или есть какие-то нюансы?

    Да, Вы можете перенести всю папку сервера в другой директорий

    Есть и другой вариант - изменить только рабочую папку (Working directory), в которую переписать файл config.json.

    Лог будет писаться в рабочую папку, а система может оставаться в opt.

    Удалите в /opt/intrahouse-c папку log. Если все настроено верно, после перезагрузки сервера она там появится не должна

    Настройка путей в скриптах системы инициализации:

    Для systemd в файле /etc/systemd/system/intrahouse-c.service:

    [Service]
      WorkingDirectory=/opt/intrahouse-c    // Это рабочий директорий 
      ExecStart=/opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod  // Это путь для запуска службы
    
    
    

    Для sysv в файле /etc/init.d/intrahouse-c

    dir="/opt/intrahouse-c  // Это рабочий директорий 
    cmd="/opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod"
    
    
    


  • пошел по пути полного переноса, т.к. в корне папки /opt/intrahouse-c тоже есть syslog, authlog, tokens

    после переноса не цепляется к базе:

    12.04 23:47:42.080 WARN: IH System has started

    12.04 23:47:42.136 WARN: IH Create devices start

    12.04 23:47:42.166 WARN: IH Created devices:7

    12.04 23:47:42.226 INFO: DBAdapter dbagent/var/intrahouse-c/backend/lib/dbadapter/mysqlagent.js has started

    12.04 23:47:51.771 INFO: DBAGENT mysqlagent error 220: Database status error: Error: getaddrinfo EAI_AGAIN localhost:3306

    и еще глюк после переноса - если выбрать пункт в PM "Restart Intrahouse", сервер останавливается, но не запускается

    PS: нашел еще такой файл /etc/init/intrahouse-c.conf

      start on filesystem and started networking
      stop on shutdown
      respawn
      chdir /opt/intrahouse-c
      env NODE_ENV=production
    
      exec /opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod
    
    
    

    Попробую в нем тоже поправить пути

    PPS: вылечилось. Спасибо. И графики заработали.

    Наверное, имеет смысл добавить инструкцию по переносу в другую папку в документацию?



  • @filippovsky:

    пошел по пути полного переноса, т.к. в корне папки /opt/intrahouse-c тоже есть syslog, authlog, tokens

    Это все остается в рабочей папке. Если отделить рабочую папку, в папку приложения ничего не пишется

    @filippovsky:

    PS: нашел еще такой файл /etc/init/intrahouse-c.conf

    >   start on filesystem and started networking
    >   stop on shutdown
    >   respawn
    >   chdir /opt/intrahouse-c
    >   env NODE_ENV=production
    > 
    >   exec /opt/intrahouse-c/node/bin/node /opt/intrahouse-c/backend/app.js prod
    > 
    > 
    

    Попробую в нем тоже поправить пути

    PPS: вылечилось. Спасибо. И графики заработали.

    Запуск сервиса зависит от системы инициализации

    Если вам помогло редактирование /etc/init/intrahouse-c.conf - значит у вас upstart 🙂

    @filippovsky:

    Наверное, имеет смысл добавить инструкцию по переносу в другую папку в документацию?

    Вы правы, добавим



  • Есть проблема. Не знаю ,связана ли она с переносом. Похоже, что была и до переноса, судя по логам.

    При рестарте операционной системы по команде reboot - сервер после старта операционки запускается,и работает, но dbAgent не может запуститься, при этом в логах идут сообщения, что порт 8088 уже занят.

    Если после этого перезапустить intraHouse командой из PM - то dbAdapter запускается, ошибки в логах исчезают.

    В момент, когда идут ошибки в логах, netstat показывает ,что порт 8088 занят процессом node.

    Такое ощущение, что стартуют два процесса сервера одновременно.По логам характерно, что идут записи 00:32, потом 00:33, потом опять 00:32. Т.е. нечто из двух мест пишет в один и тот же лог.

    13.04 00:32:53.637 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:32:54.066 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    **13.04 00:32:55.514 INFO: ADDON Received 6 files.

    13.04 00:32:55.696 WARN: IH System has started**

    13.04 00:32:59.561 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:32:59.807 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    **13.04 00:33:01.132 INFO: ADDON Received 6 files.

    13.04 00:33:01.296 WARN: IH System has started**

    13.04 00:32:55.750 WARN: IH Create devices start

    13.04 00:32:55.773 WARN: IH Created devices:7

    13.04 00:32:55.832 INFO: DBAdapter dbagent/var/intrahouse-c/backend/lib/dbadapter/mysqlagent.js has started

    13.04 00:33:05.823 INFO: DBAGENT mysqlagent error 220: Database status error: Error: getaddrinfo EAI_AGAIN localhost:3306

    13.04 00:33:11.486 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:33:11.732 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:33:13.049 INFO: ADDON Received 6 files.

    **13.04 00:33:13.209 ERR: INIT HTTP server port 8088 error! Address in use.

    13.04 00:33:13.219 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }**

    13.04 00:33:13.724 IH IntraHouse has stopped.

    13.04 00:33:14.478 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:33:14.677 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:33:15.833 INFO: ADDON Received 6 files.

    13.04 00:33:15.992 ERR: INIT HTTP server port 8088 error! Address in use.

    13.04 00:33:16.002 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }

    13.04 00:33:16.507 IH IntraHouse has stopped.

    13.04 00:33:17.287 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:33:17.496 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:33:18.603 INFO: ADDON Received 6 files.

    13.04 00:33:18.761 ERR: INIT HTTP server port 8088 error! Address in use.

    13.04 00:33:18.771 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }

    13.04 00:33:19.276 IH IntraHouse has stopped.

    [ .. дальше этот кусок непрерывно повторяется, до перезапуска из PM .. ]

    13.04 00:35:53.211 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:35:53.435 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:35:54.669 INFO: ADDON Received 6 files.

    13.04 00:35:54.828 ERR: INIT HTTP server port 8088 error! Address in use.

    13.04 00:35:54.839 ERR: FATAL ERROR. { message: 'HTTP server port 8088 error! Address in use.' }

    13.04 00:35:55.344 IH IntraHouse has stopped.

    [ … момент перезапуска из PМ .. ]

    13.04 00:35:56.122 INFO: INIT Project folder: /var/lib/intrahouse-c/projects/terehovo

    13.04 00:35:56.370 INFO: Run /var/lib/intrahouse-c/plugins/ihpro/ihpro_linux_arm

    13.04 00:35:56.963 IH IntraHouse has stopped.

    13.04 00:35:57.683 INFO: ADDON Received 6 files.

    13.04 00:35:57.843 WARN: IH System has started

    13.04 00:35:57.872 WARN: IH Create devices start

    13.04 00:35:57.894 WARN: IH Created devices:7

    13.04 00:35:57.947 INFO: DBAdapter dbagent/var/intrahouse-c/backend/lib/dbadapter/mysqlagent.js has started



  • @intrapro:

    Запуск сервиса зависит от системы инициализации

    Если вам помогло редактирование /etc/init/intrahouse-c.conf - значит у вас upstart 🙂

    Большое спасибо за помощь!

    Убрал /etc/init/intrahouse-c.conf - и все заработало (кроме рестарта из PM).

    Буду разбираться с настройками ОС.

    Спасибо!!

    PS: В моем случае пришлось наоборот оставить /etc/init/intrahouse-c.conf и убрать /etc/rc*.d/intrahouse

    Т.е. оставить только upstart. DbAgent и рестарт из PM после этого работают корректно.

    Может, кому пригодится.

    Возможно, есть смысл в инсталляторе предусмотреть, что на старой Ubuntu нужно прописывать только upstart без init.d?

    Понимаю, что лучше обновить ОС. 🙂



  • @filippovsky:

    Большое спасибо за помощь!

    Убрал /etc/init/intrahouse-c.conf - и все заработало (кроме рестарта из PM).

    Буду разбираться с настройками ОС.

    Спасибо!!

    PS: В моем случае пришлось наоборот оставить /etc/init/intrahouse-c.conf и убрать /etc/rc*.d/intrahouse

    Т.е. оставить только upstart. DbAgent и рестарт из PM после этого работают корректно.

    Может, кому пригодится.

    Возможно, есть смысл в инсталляторе предусмотреть, что на старой Ubuntu нужно прописывать только upstart без init.d?

    Понимаю, что лучше обновить ОС. 🙂

    Добрый день!

    Инсталлятор для Debian/Ubuntu прописывает файлы для стандартной системы инициализации исходя из версии ОС:

    upstart для ubuntu 12, 14 - файл /etc/init/intrahouse-c.conf

    systemd для ubuntu 16 и выше, debian 8 и выше - файл /etc/systemd/system/intrahouse-c.service

    В /etc/rc*.d ничего не прописывается

    Всегда прописывается /etc/init.d/intrahouse-c, имея в виду что стандартная система инициализации может быть отключена.

    Обычно все нормально срабатывает и два раза сервис не запускается.

    Какая у Вас ОС?



  • @intrapro:

    Обычно все нормально срабатывает и два раза сервис не запускается.

    Какая у Вас ОС?

    У меня CubieTruck 5 под управлением Linaro (диалект Ubuntu)/

    При входе в ОС пишет

    Welcome to Ubuntu 14.04.6 LTS (GNU/Linux 3.4.39 armv7l)



  • @denis 19:

    Здравствуйте. Использую raspberry pi 3 b, microSD transcend 10 класса с высокой скоростью чтения/записи и возникла проблема. Установил rtc ds3231 согласно вашей инструкции, но иногда время сбивается на 1970 год при отключении от сети. Есть подозрения что либо чтение/запись не отрабатывает корректно из за того, что что-то грузится быстрее. Делал задержку, сначала включался модуль rtc, через 5 секунд уже сама raspberry, но проблема осталась. Подскажите пожалуйста, как победить эту проблему? а то и толку то от модуля rtc нет.

    Не установлены i2c-tools и python-smbus

    НУЖНО СДЕЛАТЬ ВОТ ЧТО

    sudo su

    raspi-config

    ищем и включаем i2c

    reboot

    проверяем i2c

    i2cdetect –y 1

    если высвечивается «command not found» подключаем raspberry pi к интернету и устанавливаем apt-get install python-smbus

    далее делаем apt-get install i2c-tools

    далее редактируем nano /etc/modules и перед строкой i2c-dev добавляем i2c-bcm2708 сохраняемся ctrl+x yes

    далее снова открываем nano /boot/config.txt и смотрим чтобы были прописаны такие строки:

    Enable audio (loads snd _bcm2835)

    dtparam=audio=on

    dtparam=i2cl=on

    dtparam=i2c_arm=on

    сохраняемся ctrl+x yes

    перезагружаемся

    снова открываем терминал и проверяем i2c i2cdetect–y1 и если все сделали правильно, то при подключенном модуле ds3231 должна появится табличка, в которой будет видно что по i2c подключено устройство ( в табличке вас должны порадовать цифры 68 это адрес ds3231 ).

    На этом еще не все

    Открываем терминал

    nano

    В конце файла /boot/config.txt дописать строку: dtoverlay=i2c-rtc,ds3231

    Удалить fake-hwclock: sudo apt-get purge fake-hwclock

    ( можете и отключить )

    Отредактировать файл/etc/rc.local, вставив перед строкой“exit 0” строку: /sbin/hwclock -s

    Отредактировать файл /etc/default/hwclock and set HWCLOCKACCESS to no: HWCLOCKACCESS=no

    Устанавливаем время sudo su

    Date MMDDhhmmYYYY и нажимаем enter

    Записываем время в ds3231

    sudo hwclock–w

    гружаемся и смотрим sudo hwclock –r ( время с ds3231)

    при необходимости устанавливаем свою time zone

    sudo dpkg-reconfigure tzdata



  • Добрый день. Перенёс сервер на Cubietruck. Работает отлично, подключил внешний li-ion аккумулятор. Теперь сервер имеет и твердотельный накопитель (Sata) и бесперебойное питание и все это в электрощите на din рейке. А можно информацию о состоянии аккумулятора вывести на виджете?



  • Правильнее дать возможность выводить любые параметры операционной системы. Подумаем



  • @sergeyygr:

    Добрый день. Перенёс сервер на Cubietruck. Работает отлично, подключил внешний li-ion аккумулятор. Теперь сервер имеет и твердотельный накопитель (Sata) и бесперебойное питание и все это в электрощите на din рейке. А можно информацию о состоянии аккумулятора вывести на виджете?

    А по SNMP это не доступно при обращении к операционной системе?



  • @homa:

    @sergeyygr:

    Добрый день. Перенёс сервер на Cubietruck. Работает отлично, подключил внешний li-ion аккумулятор. Теперь сервер имеет и твердотельный накопитель (Sata) и бесперебойное питание и все это в электрощите на din рейке. А можно информацию о состоянии аккумулятора вывести на виджете?

    А по SNMP это не доступно при обращении к операционной системе?

    Не пробовал, да и не знаю как. Считаю это «танцы с бубном», есть же информация о времени от последней перезагрузки, тип ОС, ip, температура процессора. Почему не вставить строку о состоянии батареи в %?



  • @sergeyygr:

    @homa:

    @sergeyygr:

    Добрый день. Перенёс сервер на Cubietruck. Работает отлично, подключил внешний li-ion аккумулятор. Теперь сервер имеет и твердотельный накопитель (Sata) и бесперебойное питание и все это в электрощите на din рейке. А можно информацию о состоянии аккумулятора вывести на виджете?

    А по SNMP это не доступно при обращении к операционной системе?

    Не пробовал, да и не знаю как. Считаю это «танцы с бубном», есть же информация о времени от последней перезагрузки, тип ОС, ip, температура процессора. Почему не вставить строку о состоянии батареи в %?

    Да, Вы правы, в линуксе для этого нужно читать файлы в папке /sys/class/power_supply….

    Проблема в том что дальше могут быть варианты в зависимости от платы компьютера и ОС

    А на многих компьютерах эта папка пуста

    Можно решить эту задачу добавлением плагина, который будет периодически считывать файлы, которые задаст пользователь

    Вероятно, так и сделаем 🙂


Log in to reply