Установка проекта

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 77 раз

Re: Установка проекта

Сообщение Vit » Пн апр 23, 2012 9:18 pm

shurlin писал(а):По медиа браузеру пока скрины пришлю позже. Хотя там нечего особенно показывать, просто новое окно пустое.
С путями все верно, слэш в конце, на других машинах в сети шара видна. Думаю проверить все еще раз.

Вчера вечером игрался с фоторезистором. Подключил его как саб класс у терморезистора (может не совсем корректно с точки идеалогии, но пока сделал так) и добавил свойство lightsOn, которое отражает включен ли свет в зоне датчика
(железно реализовано очень просто через арудину). Пока там только 0 и 1, но можно и градацию сделать (зачем не понятно еще мне). Все это сделано для того что бы потом в комнатах ставить 2 датчика сразу - фото и термо. Отсюда два вопроса:

1. Какой лимит на длинну провода от ардуины до датчика? Думаю пользовать пары из кат5.

2. Как в меню сделать отображение наличие света в помещении? Пока все выглядит как "Свет 0" или "Свет 1", хотелось бы минимум "Свет включен" (возможно это очень тривиальный вопрос, но я пока его не решил) или сделать фон пункта меню другим цветом.

Продолжаю ковырять проект, если не остановлюсь :) то куплю модуль Aviosys IP Power 9223K как продолжение, уж больно затягивает эта тема
Если можно выложите скрины как у Вас сейчас реализовано (Пока все выглядит как "Свет 0" или "Свет 1")

1. Я когда разводил датчики дли провода (обычный многожильный,телефонный) температурный датчик на длине примерно в 20-25 метров не захотел работать.... Думаю стоит попробовать в бухте подсоединить и опытным методом выяснить до какого расстояния берет arduino . (Это коснулось именно температурного датчика).

2. Выберите тип пункта меню "label" , он будет отражаться другим цветом

Изображение
Изображение

Можно добавлять свойство объекта в виде текста
Изображение

это свойство потом и использовать как надпись
При использовании выключателей, тоже наглядно видно состояние

Изображение

В каком виде у вас и как хотите?

Пишите вместе разберемся :)
shurlin
Сообщения: 39
Зарегистрирован: Вс апр 22, 2012 3:18 pm
Благодарил (а): 0
Поблагодарили: 4 раза

Re: Установка проекта

Сообщение shurlin » Вт апр 24, 2012 12:43 pm

Vit писал(а): Если можно выложите скрины как у Вас сейчас реализовано (Пока все выглядит как "Свет 0" или "Свет 1")
К сожалению скрины сделать пока не могу. Сейчас реализовано все как пункт в меню типа Label в названии которого отборажается свойство sensorAnLight.Value (Конктретно в поле title у меню - Свет %sensorAnLight.Value%). Я хотел сделать текстовое свойство для датчика в которое по обработке сигнала можно присваивать значение "включено" или "выключено", но подумал что лучше держать в нем значение типа int (возможно пригодиться в последствии именно числовое значение для работы с датчиком), на кнопку выводить уже текст на основе этого значения.

Выводить в стиле кнопки on/off считаю не целесообразно, тк такой интерфейс предполагает воздействие пользователя, которое у меняне реализовано.Вообще идея такая чтобы сделать что то с разбивкой по зонам и в меню показывать:

---Гостинная
---Температура: 20С (18:00)
---В комнате светло //это именно инфа с датчика, она напрямую не зависит от управления светом
---Включить люстру (on/off) // это уже прямое управление через avisys или аналог
...
---Включить торшер (on/off) // это уже прямое управление через avisys или аналог

Vit писал(а): 1. Я когда разводил датчики дли провода (обычный многожильный,телефонный) температурный датчик на длине примерно в 20-25 метров не захотел работать.... Думаю стоит попробовать в бухте подсоединить и опытным методом выяснить до какого расстояния берет arduino . (Это коснулось именно температурного датчика).
Датчики пока не приехали, так что отпишусь как будут. Посоветовался с одним разработчиком железа, он сказал что проблемы с датчиком при 20 - 25 метрах быть не должно, только возможно придется делать линию 5В отдельную и общую землю для датчиков, ардуины и компа (это как я его понял) Метод научного тыка покажет. Планирую брать именно САТ5 и брать от туда пары.
Vit писал(а):
2. Выберите тип пункта меню "label" , он будет отражаться другим цветом

Можно добавлять свойство объекта в виде текста

это свойство потом и использовать как надпись
При использовании выключателей, тоже наглядно видно состояние

В каком виде у вас и как хотите?

Пишите вместе разберемся :)
спасибо за гайд

Вообще моя идея пока сделать систему которая будет только собирать инфу (мониторить) и выдавать ее через веб сервер. Потом уже буду прикручивать управление, по мере необходимости (это так же размажет чуть по времени бюджет мероприятия)

В реализации Сергея я только не понял можно ли управлять светом подключеным к Avisys c помощью обычных выключателей. Я понимаю что можно конечно сделать и логические выключатели через ардуину и в зависимости от них обрабатывать сервером запрос на включение света (таким опразом мы занимаем каналы на плате, которых не много), но интересует именно просто выключатель 220В в связке с платой управления
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 77 раз

Re: Установка проекта

Сообщение Vit » Вт апр 24, 2012 2:20 pm

shurlin писал(а):
Vit писал(а): Если можно выложите скрины как у Вас сейчас реализовано (Пока все выглядит как "Свет 0" или "Свет 1")
К сожалению скрины сделать пока не могу. Сейчас реализовано все как пункт в меню типа Label в названии которого отборажается свойство sensorAnLight.Value (Конктретно в поле title у меню - Свет %sensorAnLight.Value%). Я хотел сделать текстовое свойство для датчика в которое по обработке сигнала можно присваивать значение "включено" или "выключено", но подумал что лучше держать в нем значение типа int (возможно пригодиться в последствии именно числовое значение для работы с датчиком), на кнопку выводить уже текст на основе этого значения.

Выводить в стиле кнопки on/off считаю не целесообразно, тк такой интерфейс предполагает воздействие пользователя, которое у меняне реализовано.Вообще идея такая чтобы сделать что то с разбивкой по зонам и в меню показывать:

---Гостинная
---Температура: 20С (18:00)
---В комнате светло //это именно инфа с датчика, она напрямую не зависит от управления светом
---Включить люстру (on/off) // это уже прямое управление через avisys или аналог
...
---Включить торшер (on/off) // это уже прямое управление через avisys или аналог

Vit писал(а): 1. Я когда разводил датчики дли провода (обычный многожильный,телефонный) температурный датчик на длине примерно в 20-25 метров не захотел работать.... Думаю стоит попробовать в бухте подсоединить и опытным методом выяснить до какого расстояния берет arduino . (Это коснулось именно температурного датчика).
Датчики пока не приехали, так что отпишусь как будут. Посоветовался с одним разработчиком железа, он сказал что проблемы с датчиком при 20 - 25 метрах быть не должно, только возможно придется делать линию 5В отдельную и общую землю для датчиков, ардуины и компа (это как я его понял) Метод научного тыка покажет. Планирую брать именно САТ5 и брать от туда пары.
Vit писал(а):
2. Выберите тип пункта меню "label" , он будет отражаться другим цветом

Можно добавлять свойство объекта в виде текста

это свойство потом и использовать как надпись
При использовании выключателей, тоже наглядно видно состояние

В каком виде у вас и как хотите?

Пишите вместе разберемся :)
спасибо за гайд

Вообще моя идея пока сделать систему которая будет только собирать инфу (мониторить) и выдавать ее через веб сервер. Потом уже буду прикручивать управление, по мере необходимости (это так же размажет чуть по времени бюджет мероприятия)

В реализации Сергея я только не понял можно ли управлять светом подключеным к Avisys c помощью обычных выключателей. Я понимаю что можно конечно сделать и логические выключатели через ардуину и в зависимости от них обрабатывать сервером запрос на включение света (таким опразом мы занимаем каналы на плате, которых не много), но интересует именно просто выключатель 220В в связке с платой управления
shurlin писал(а): В реализации Сергея я только не понял можно ли управлять светом подключеным к Avisys c помощью обычных выключателей. Я понимаю что можно конечно сделать и логические выключатели через ардуину и в зависимости от них обрабатывать сервером запрос на включение света (таким опразом мы занимаем каналы на плате, которых не много), но интересует именно просто выключатель 220В в связке с платой управления
К сожалению нету возможности управления платой 9223к с обычных выключателей.
shurlin писал(а): Я хотел сделать текстовое свойство для датчика в которое по обработке сигнала можно присваивать значение "включено" или "выключено", но подумал что лучше держать в нем значение типа int (возможно пригодиться в последствии именно числовое значение для работы с датчиком), на кнопку выводить уже текст на основе этого значения.
Просто добавьте еще одно свойство для объекта и у вас получится что в одном имеется числовое значение, второе текстовое....используйте их или в паре или по отдельности.
palexeyp
Сообщения: 13
Зарегистрирован: Пн апр 23, 2012 2:39 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Установка проекта

Сообщение palexeyp » Вт апр 24, 2012 4:13 pm

Вчера установил проект на Linux сервере
Slackware 12.2.0
Apache/2.2.15
PHP 5.2.12

настроил virtual-host
вроде как все работает. интерфейс отображается

т.к., было очень лениво менять права на дирриктории и файлы в ручную,
кроме того представил что это придётся делать еще не раз
в процессе установки накатал такой скриптик

Код: Выделить всё

# cat install.sh
#!/bin/bash

WWW_FOLDER_INSTALL=/srv/www/smarthome
DISTR=_majordomo_linux_017b.tar.gz
TMP_DIR=`pwd`

DB_NAME=smarthome
DB_USER=smarthome
DB_PASSWORD=G5gjF89

ECHO=/bin/echo
n="-n"
function readparm ()
{
case $ORACLE_DEFAULT in
    T)  RDVAR=$DEFLT ; echo "$DEFLT" ;;
    *)  while :
        do
        echo $N "[${DEFLT}]: $C"
            read RDVAR
            case $RDVAR in
                "")     RDVAR=$DEFLT ; break ;;
                !*)     ${SHELL-/bin/sh} ; echo ;;
                *)      break ;;
            esac
        done ;;
esac
}

function question ()
{
if [ 0 -eq 0 ] ;
    then
        $ECHO $n "$1 Executible it? (y/n) $C"
        DEFLT='n'; readparm; OVERWRITE=$RDVAR
    else
        OVERWRITE='y';
fi

if [ "$OVERWRITE" = "y" -o "$OVERWRITE" = "Y" ] ;
  then
    return 0; #YES
  else
    return 1; #No
fi
}


clear

#unpack
if ! [ -f ./$DISTR ] ; then
    $ECHO $n "Distr not exist on this folder...";
    exit 0;
fi

if ! [ -d $TMP_DIR ] ; then
    $ECHO $n "$TMP_DIR not exist. Create $TMP_DIR..."
    mkdir $TMP_DIR
fi

if ! [ -d $TMP_DIR/html ] ; then
    $ECHO $n "unpack $DISTR"
    tar xvf ./$DISTR -C $TMP_DIR/
fi


question "Make database and install db_terminal.sql dump into it...";
RETVAL=$?;
if [ $RETVAL -eq 0 ]; then
    $ECHO $n "CREATE DATABASE $DB_NAME CHARACTER SET utf8 COLLATE utf8_general_ci;" >> $TMP_DIR/sql.sql
    mysql < $TMP_DIR/sql.sql -p
    rm $TMP_DIR/sql.sql
fi

question "import tables from db_terminal.sql";
RETVAL=$?;
if [ $RETVAL -eq 0 ]; then
    mysql $DB_NAME < $TMP_DIR/db_terminal.sql -p
fi

question "Create user=$DB_USER for DB=$DB_NAME...";
RETVAL=$?;
if [ $RETVAL -eq 0 ]; then
    $ECHO $n "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD' WITH GRANT OPTION;" >> $TMP_DIR/sql.sql
    mysql $DB_NAME < $TMP_DIR/sql.sql -p
    rm $TMP_DIR/sql.sql
fi

question "Copy contents of ./html/ folder into www-root of your web-server (or virtualhost)?..";
RETVAL=$?;
if [ $RETVAL -eq 0 ]; then

    if ! [ -d $WWW_FOLDER_INSTALL ] ; then
        $ECHO $n "$WWW_FOLDER_INSTALL not exist. Create $WWW_FOLDER_INSTALL..."
        mkdir $WWW_FOLDER_INSTALL
    fi

    $ECHO $n "Copy $TMP_DIR/html to $WWW_FOLDER_INSTALL"
    cp -axr $TMP_DIR/html/. $WWW_FOLDER_INSTALL

$ECHO $n "Apply write-for-all (0777) attributes for these folders (including sub-folders and files; use 0666 for files inside):"

find $WWW_FOLDER_INSTALL/cached/ -type d -exec chmod 777 {} \;
find $WWW_FOLDER_INSTALL/cached/ -type f -exec chmod 666 {} \;

find $WWW_FOLDER_INSTALL/cms/ -type d -exec chmod 777 {} \;
find $WWW_FOLDER_INSTALL/cms/ -type f -exec chmod 666 {} \;

find $WWW_FOLDER_INSTALL/debmes/ -type d -exec chmod 777 {} \;
find $WWW_FOLDER_INSTALL/debmes/ -type f -exec chmod 666 {} \;

find $WWW_FOLDER_INSTALL/modules/ -type d -exec chmod 777 {} \;
find $WWW_FOLDER_INSTALL/modules/ -type f -exec chmod 666 {} \;

find $WWW_FOLDER_INSTALL/templates/ -type d -exec chmod 777 {} \;
find $WWW_FOLDER_INSTALL/templates/ -type f -exec chmod 666 {} \;

find $WWW_FOLDER_INSTALL/objects/ -type d -exec chmod 777 {} \;
find $WWW_FOLDER_INSTALL/objects/ -type f -exec chmod 666 {} \;

find $WWW_FOLDER_INSTALL/rc/ -type d -exec chmod 777 {} \;
find $WWW_FOLDER_INSTALL/rc/ -type f -exec chmod 666 {} \;

find $WWW_FOLDER_INSTALL/saverestore/ -type d -exec chmod 777 {} \;
find $WWW_FOLDER_INSTALL/saverestore/ -type f -exec chmod 666 {} \;

chown apache.apache $WWW_FOLDER_INSTALL -R
firoot@gelios:/home/alexey/smart_home#
доработку продолжу.

начинаю разбираться дальше.
Последний раз редактировалось palexeyp Пт апр 27, 2012 10:37 am, всего редактировалось 2 раза.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4265
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 74 раза
Поблагодарили: 1435 раз
Контактная информация:

Re: Установка проекта

Сообщение sergejey » Ср апр 25, 2012 11:44 am

palexeyp писал(а):т.к., было очень лениво менять права на дирриктории и файлы в ручную,
кроме того представил что это придётся делать еще не раз
в процессе установки накатал такой скриптик доработку продолжу.

начинаю разбираться дальше.
Здорово! Поставил линку на этот скрипт в раздел описания установки.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 77 раз

Re: Установка проекта

Сообщение Vit » Пт апр 27, 2012 2:47 pm

shurlin писал(а):Добрый день,

Сергею отдельное спасибо за интересный проект. Узнал о нем через Хабр и уже ковыряю третий день. Раскошелился на Ардуину и чувствую это только начало.

1. Что касается медиа браузера и плеера. Медиа-браузер отказывается работать, хотя все сделано по инструкции с сайта, сетевые шары с музыкой видны, но браузер не отображает ничего в поп-ап окне. Последний патч поставлен. Плеер работает, но как то странно, для начала надо запустить VLC чтобы он запустился через вебоболочку. Переодически запускаются несколько инстансов плеера и начинается дурдом. В общем буду разбираться дальше, возможно это мои кривые руки.

4. Тоже столкнулся с проговариванием фраз одновременно. У меня это происходит в тот момент как обновялется RSS. Алиса упорно пытается их прочитать все одновременно. Нужно выставить задержку по прочтению, как это сделать не разобрался, код типа

say('Главная новость: '.$params['TITLE']);
sleep (10);

вроде не работает (не провирил еще). Поправьте если не правильно пож

5. Из своих доработок подключил аналоговый терморезистор к ардуине (про его точность молчу, скорее для тестов), тк не купил еще далласовские датчики. В код одного датчика временно поставил рандом, чтобы симулировать его работу для вебсерввера. Очень удобно для первой сборки и настройки графиков и прочее.

6. Для тестов камер наблюедния, всатвил код с кого-то сайта с айпи камерой, чтобы получать картинку и понять как это выглядит в работе. Мне кажется в проект стоит добавить таких вот псевдо-заглушек по части железа, чтобы можно было получить представление о рабочей системе не покупая железо.

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

Еще раз спасибо за интересный проект и пожалуйста продолжайте работу над ним.
4. Тоже столкнулся с проговариванием фраз одновременно. У меня это происходит в тот момент как обновялется RSS. Алиса упорно пытается их прочитать все одновременно. Нужно выставить задержку по прочтению, как это сделать не разобрался, код типа

say('Главная новость: '.$params['TITLE']);
sleep (10);

вроде не работает (не провирил еще). Поправьте если не правильно пож
функция проговаривание фраз исправлена. Доступно при обновлении из исходников.

http://smartliving.ru/Main/UpdateSVN
shurlin
Сообщения: 39
Зарегистрирован: Вс апр 22, 2012 3:18 pm
Благодарил (а): 0
Поблагодарили: 4 раза

Re: Установка проекта

Сообщение shurlin » Сб апр 28, 2012 11:49 am

После апдейта файлов из репозитория получил следующее сообщение в основном цикле сервера.
Подскажите пожалуйста как это вылечить. Я так понял что это проблема с базой.

Изображение
image hosting
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 77 раз

Re: Установка проекта

Сообщение Vit » Сб апр 28, 2012 2:22 pm

shurlin писал(а):После апдейта файлов из репозитория получил следующее сообщение в основном цикле сервера.
Подскажите пожалуйста как это вылечить. Я так понял что это проблема с базой.

Изображение
image hosting
зайдите в http://localhost/phpmyadmin4/
юзер root пароль пустой
там нужно выбрать базу db_termnial
отметить в списке таблиц таблицу safe_execs и внизу выбрать Починить (Repair) в выпадающем списке
shurlin
Сообщения: 39
Зарегистрирован: Вс апр 22, 2012 3:18 pm
Благодарил (а): 0
Поблагодарили: 4 раза

Re: Установка проекта

Сообщение shurlin » Сб апр 28, 2012 3:33 pm

Vit писал(а):
shurlin писал(а):После апдейта файлов из репозитория получил следующее сообщение в основном цикле сервера.
Подскажите пожалуйста как это вылечить. Я так понял что это проблема с базой.

Изображение
image hosting
зайдите в http://localhost/phpmyadmin4/
юзер root пароль пустой
там нужно выбрать базу db_termnial
отметить в списке таблиц таблицу safe_execs и внизу выбрать Починить (Repair) в выпадающем списке
К сожалению это не сработало, но
я добавил в таблицу колонку EXCLUSIVE и вроде заработало....
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 77 раз

Re: Установка проекта

Сообщение Vit » Сб апр 28, 2012 4:58 pm

shurlin писал(а):
Vit писал(а):
shurlin писал(а):После апдейта файлов из репозитория получил следующее сообщение в основном цикле сервера.
Подскажите пожалуйста как это вылечить. Я так понял что это проблема с базой.

Изображение
image hosting
зайдите в http://localhost/phpmyadmin4/
юзер root пароль пустой
там нужно выбрать базу db_termnial
отметить в списке таблиц таблицу safe_execs и внизу выбрать Починить (Repair) в выпадающем списке
К сожалению это не сработало, но
я добавил в таблицу колонку EXCLUSIVE и вроде заработало....
система делает автоматическое резервное копирование базы данных при старте, всегда можно восстановить с копии..
Ответить