Web-интерфейс Умного Дома. ДЕМО-режим

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ответить
Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение Andrey_B » 26 июл 2011, 17:12

Я для себя решил, что пора сделать новый интерфейс Умного Дома, который бы удовлетворял современным требованиям, был простым, гибким для изменения и строился бы на готовых элементах и библиотеках.

Для этого я выложил часть своего Умного Дома в сеть.
http://www.ab-log.ru/demo
Система Управления Домом. Демонстрационный режим.

База данных с точки зрения структуры, а также объема (количество записей) идентична. Изменена только некоторая приватная информация.
Фото с уличной камеры наблюдения - просто картинка. Просмотр камер он-лайн естественно не работает. Демо-режим предназначен для обсуждения элементов построения интерфейса, используемых технологий и т.д., а не для отображения реальных данных.

Итак.
Основа разметки 960 Grid System http://960.gs/
Для интерактива используется jQuery http://jquery.com/
Для визуализации: закладки, иконки, скин (тема) и т.д. jQuery UI http://jqueryui.com/

И все! Ни один CSS и js, которыми комплектуются вышеназванные фреймворки не правился. Это принципиальный подход. Библиотеки постоянно модернизируются и это дает возможность обновлять интерфейс без переделки.
Тема выбрана из jQuery UI. Называется "redmond". Преимущество такого подхода в том, что можно менять темы налету. Позже прикручу механизм смены тем.

Grid 960 и ориентация под 1024 px связана с адаптацией веб-интерфейса для отображения на планшетных ПК (iPad, и прочих), а также на нетбуках (где максимальное разрешение редко бывает выше 1366) и коммуникаторах. С этим же связано максимальное упрощение окон. Навигация с помощью табов (закладок) выбрана также с точки зрения удобства выбора пальцами.

Все данные обновляются без перезагрузки страниц. (В демо-режиме данные обновляются точно также, но нет обновления данных в БД).

danag
Сообщения: 7
Зарегистрирован: 12 фев 2012, 19:00

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение danag » 12 фев 2012, 23:06

Здравствуйте!
Очень восхищаюсь проделанной вами работой.
Но столкнулся со следующей проблемой не являясь программистом.
Скажите в архиве demo режима сайта мне не понятно, как на основе его можно было бы запустить свой сайт.
Типа добавить строки скриптов управления с сайта туда и туда, и вуаля готово.
Как пользоваться 960 Grid System jQuery UI как портировать !sql_dump из демо архива в БД
Нет ли руководства для школьников так сказать?

p.s. выполнено установка всех необходимых пакетов. Скопировано в /var/www содержимое demo архива
в итоге при загрузке в браузере пусто при обращении localhost/mail.php лишь шапка панели управления домом. При перемещении по вкладкам камера, свет, погда и т.д. ничего не меняется пусто.

Большое спасибо

To_
Сообщения: 40
Зарегистрирован: 06 ноя 2011, 20:52

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение To_ » 12 фев 2012, 23:40

Добрый день!
Тоже новичок в программировании. Простая распаковка архива и запуск не дала такого же визуального эффекта как с вашего сайта демо. Только заголовок и закладки.

--------------------------------------------------
Разобрался, почему неотображались окна - недочитал!

"......Краткая инструкция по установке:
1. Скачать архив и распаковать его в папку, доступную Web-серверу
2. В папке !sql_dump содержится дамп MySQL базы данных, который необходимо загрузить в БД
3. Отредактировать файл cadmin/db.php на предмет имени пользователя, пароля и имени БД. "

Еще вопрос. У меня кодировка UTF-8. У Вас как я понял 1251. Отображается из базы :

Все системы работают нормально.
Текущее потребление электроэнергии: 3133.28 Вт

Праздники: ???????: ??????, ???????, ????, ??????, ???????
Ближайший семейные праздники:
21.06 - ??????? (???? ????????) (129 дн., исполняется лет: 35)
16.07 - ????????? (???? ????????) (154 дн., исполняется лет: 11)
04.09 - ??????? (???? ????????) (204 дн., исполняется лет: 39)

Как исправить?
И еще. На сервере стоит апач и mySQL. Что нужно ставить еще ?

vtec
Сообщения: 459
Зарегистрирован: 19 сен 2011, 09:28

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение vtec » 13 фев 2012, 06:25

Для работы сайта скорее всего ещё нужен php.
Для UTF-8:
1. Нужно дамп конвертировать из windows-1251 в UTF-8 (можно поискать онлайн конвертор, можно попробывать Notepad++, в линуксе iconv).
2. Открыть дамп (опять же любым текстовым редактором), найти строчку windows-1251 и изменить на utf8.

To Андрей, может в demo положить dump с версией utf8 или краткую инструкцию. Чтобы вопросов у людей меньше было...

Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение Andrey_B » 13 фев 2012, 09:51

Сам-то дамп в UTF-8, но кодировка при выводе из базы действительно CP1251
Самое простое, хотя и не совсем правильное, решение прописать в /etc/mysql/my.cnf
init-connect="SET NAMES cp1251"
Но вы правы в том, что пора уже полностью переходить на UTF-8

xboct
Сообщения: 73
Зарегистрирован: 17 ноя 2011, 01:09

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение xboct » 13 фев 2012, 12:09

в mysql_connect.php есть "правильное" подключение к базе

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

if ( !empty($db[7]) && $db[7] != "default" )
{
        $sql = "SET NAMES '".$db[7]."'";
        if(!mysql_query($sql,$conn))
        echo "Невозможно записать данные!";
}
итого пишем в db.php вместо "default" на месте седьмой переменной "utf8" :D

Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение Andrey_B » 13 фев 2012, 12:30

Да-да. Совершенно верно.

midaw
Сообщения: 93
Зарегистрирован: 14 янв 2012, 14:38
Откуда: Москва
Контактная информация:

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение midaw » 13 фев 2012, 17:53

Надеюсь не обижу кого либо, но хотелось бы несколько комментариев дать по интерфейсу умного дома (тот что демо выложен):
1. Может стоит использовать какой то популярный движок (joomla, drupal) для красоты и удобства?
2. Может стоит разделы выделить "Журналы, Таблицы, Графики" и отдельные страницы сайта "Картинка, Таблица, Отдельная страница" и одна общая страничка с обобщение и ссылкой на подробности? Пример основной страницы: 1. Пользователи; местонахождение; последнее посещение (ссылка с подробностями о личности и местоположение на карте). 2. Датчики; показание; мин/макс (ссылка на подробности о датчике с ссылками на таблицы, журналы, графики). 3. И отдельные скрипты (день рождение, камеры и так далее с ссылками). Напротив каждого элемента главной страницы иконкой можно вывести состояние.
3. А уже забыл, увлекся )
Вообщем пообсуждать мои комменты тоже будет полезно.

To_
Сообщения: 40
Зарегистрирован: 06 ноя 2011, 20:52

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение To_ » 13 фев 2012, 19:35

Прошу прощения. Не догоняю. Что прописывать ?
это?
1. Для UTF-8:
1. Нужно дамп конвертировать из windows-1251 в UTF-8 (можно поискать онлайн конвертор, можно попробывать Notepad++, в линуксе iconv).
2. Открыть дамп (опять же любым текстовым редактором), найти строчку windows-1251 и изменить на utf8.
это?
2. Самое простое, хотя и не совсем правильное, решение прописать в /etc/mysql/my.cnf
init-connect="SET NAMES cp1251"
или это?
3. в mysql_connect.php есть "правильное" подключение к базе......
итого пишем в db.php вместо "default" на месте седьмой переменной "utf8"
Прописал только последнее - кракозябы остались.

danag
Сообщения: 7
Зарегистрирован: 12 фев 2012, 19:00

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение danag » 13 фев 2012, 22:32

Мне помогло написание в db.php вместо default cp1251
Кракозябли исчезли

To_
Сообщения: 40
Зарегистрирован: 06 ноя 2011, 20:52

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение To_ » 13 фев 2012, 22:44

danag писал(а):Мне помогло написание в db.php вместо default cp1251
Кракозябли исчезли
Гы. Прикольно - ровно наоборот.
Спасибо!

pallarus
Сообщения: 2
Зарегистрирован: 04 фев 2012, 22:59

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение pallarus » 14 фев 2012, 17:30

Привет всем!
не могу понять почему у меня появились - ^M


<?^M
^M
$conn=mysql_connect("$db[1]", "$db[2]", "$db[3]");^M
if(!mysql_select_db("$db[4]",$conn))^M
{^M
$noSQL = preg_replace("/cadmin$/", "", dirname(__FILE__));^M
include($noSQL."/noSQL.htm");^M
exit;^M
}^M
^M
if ( !empty($db[7]) && $db[7] != "default" )^M
{^M
$sql = "SET NAMES '".$db[7]."'";^M
if(!mysql_query($sql,$conn))^M
echo "?????????? ???????? ??????!";^M
}^M
^M
^M
?>^M

Признаюсь в Линуксе я ноль.

sluggard
Сообщения: 32
Зарегистрирован: 19 янв 2012, 22:46

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение sluggard » 14 фев 2012, 17:38

pallarus писал(а):Привет всем!
не могу понять почему у меня появились - ^M


<?^M
^M
$conn=mysql_connect("$db[1]", "$db[2]", "$db[3]");^M
if(!mysql_select_db("$db[4]",$conn))^M
{^M
$noSQL = preg_replace("/cadmin$/", "", dirname(__FILE__));^M
include($noSQL."/noSQL.htm");^M
exit;^M
}^M
^M
if ( !empty($db[7]) && $db[7] != "default" )^M
{^M
$sql = "SET NAMES '".$db[7]."'";^M
if(!mysql_query($sql,$conn))^M
echo "?????????? ???????? ??????!";^M
}^M
^M
^M
?>^M

Признаюсь в Линуксе я ноль.
Символ переноса строки. В win данный символ используется, но его не видно, а linux его отображает.
В html, php не страшно, так как данные файлы работают через apache и php.
Если будите bash скрипты писать в редакторах под win и пытаться запустить в linux, то тут буду ошибки и данные символы предется удалять, так как интерпритатор языка bash или sh их увидит и не поймет.

pallarus
Сообщения: 2
Зарегистрирован: 04 фев 2012, 22:59

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение pallarus » 14 фев 2012, 19:29

Прошу прощения, за глупость!
А надо ли править данный файл?
при исполнении выдает

oot@debian:/var/www/cadmin# php mysql_connect.php
PHP Notice: Undefined variable: db in /var/www/cadmin/mysql_connect.php on line 3
PHP Stack trace:
PHP 1. {main}() /var/www/cadmin/mysql_connect.php:0
PHP Notice: Undefined variable: db in /var/www/cadmin/mysql_connect.php on line 3
PHP Stack trace:
PHP 1. {main}() /var/www/cadmin/mysql_connect.php:0
PHP Notice: Undefined variable: db in /var/www/cadmin/mysql_connect.php on line 3
PHP Stack trace:
PHP 1. {main}() /var/www/cadmin/mysql_connect.php:0
PHP Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: NO) in /var/www/cadmin/mysql_connect.php on line 3
PHP Stack trace:
PHP 1. {main}() /var/www/cadmin/mysql_connect.php:0
PHP 2. mysql_connect() /var/www/cadmin/mysql_connect.php:3
PHP Notice: Undefined variable: db in /var/www/cadmin/mysql_connect.php on line 4
PHP Stack trace:
PHP 1. {main}() /var/www/cadmin/mysql_connect.php:0
PHP Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in /var/www/cadmin/mysql_connect.php on line 4
PHP Stack trace:
PHP 1. {main}() /var/www/cadmin/mysql_connect.php:0
PHP 2. mysql_select_db() /var/www/cadmin/mysql_connect.php:4
PHP Warning: include(/var/www//noSQL.htm): failed to open stream: Нет такого файла или каталога in /var/www/cadmin/mysql_connect.php on line 7
PHP Stack trace:
PHP 1. {main}() /var/www/cadmin/mysql_connect.php:0
PHP Warning: include(): Failed opening '/var/www//noSQL.htm' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/cadmin/mysql_connect.php on line 7
PHP Stack trace:
PHP 1. {main}() /var/www/cadmin/mysql_connect.php:0

Andrey_B
Администратор
Сообщения: 5329
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс Умного Дома. ДЕМО-режим

Сообщение Andrey_B » 15 фев 2012, 01:10

pallarus, ответ простой. Этот файл не нужно запускать. Править его можно, но если не знаете зачем, то не нужно.

midaw, я лично не фанат Joomla или Drupal, поэтому у себя использую "частную" CMS.
Моей задачей было продемонстрировать какие технологии можно использовать для простой визуализации данных в Web-интерфейсе. Я не ставил задачу передавать готовый продукт, так как с трудом представляю себе интерфейс, который бы удовлетворял абсолютно всех. Или это будет нечто очень убогое и примитивное, что обычно предлагают мега-конторы с красивыми роликами типа того, ссылку на который здесь недавно приводили, или это будет сложный конструктор, разрабатывать который у меня пока нет никакого желания. Я лишь показал, де, вот из таких кубиков можно сложить вот так. При этом надо понимать, что кубики, которые я использовал, очень популярные и где-то даже стандартные (потому я их и взял), но далеко не единственные. Их сейчас такое количество, что уйдут годы только на просмотр демок.
А CMS "подвязать" дело в общем-то плевое. На самом деле она не так уж и нужна, если вдуматься.

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

Ответить