Web-интерфейс Умного Дома и разработка домашнего сайта

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
xebes
Сообщения: 102
Зарегистрирован: 21 апр 2011, 17:27

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение xebes » 05 июн 2011, 19:02

Andrey_B писал(а): Файл в каталоге alarm будет до тех пор, пока сохраняются условия его появления (настроенные через свойство set_alarm). В вашем случае, как только пропадет контакт на канале B, файл должен исчезнуть из папки alarm.
Странно, у меня сразу при изменении на 230 на обоих устройствах, появляется ссылка на устройство (без замыкания 1 и 6 ножки). Это может быть связанно, что они висят на паразитном питании?

Подскажите, а что значит /var/www/php.php: Scheme missing.? Выдает после N времени нормальной работы.

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

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 06 июн 2011, 12:18

xebes писал(а):
Andrey_B писал(а): Файл в каталоге alarm будет до тех пор, пока сохраняются условия его появления (настроенные через свойство set_alarm). В вашем случае, как только пропадет контакт на канале B, файл должен исчезнуть из папки alarm.
Странно, у меня сразу при изменении на 230 на обоих устройствах, появляется ссылка на устройство (без замыкания 1 и 6 ножки). Это может быть связанно, что они висят на паразитном питании?
Насчет паразитного питания не знаю. Никогда не использовал DS2406P в такой конфигурации. Неплохо было бы посмотреть значения всех свойств вашего DS2406P.
Какая версия owfs при этом используется. Меняется ли что-нибудь с другой версией.
xebes писал(а): Подскажите, а что значит /var/www/php.php: Scheme missing.? Выдает после N времени нормальной работы.
Все это из-за ваших exec(). Совершенно не понимаю почему вы игнорируете OWNet.PHP
Где-то что-то не читается, в результате в генерируемой для exec() команде возникает какая-то синтаксическая ошибка.
"Scheme missing" ошибка не из PHP.

xebes
Сообщения: 102
Зарегистрирован: 21 апр 2011, 17:27

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение xebes » 27 июн 2011, 23:32

Andrey_B писал(а): Все это из-за ваших exec(). Совершенно не понимаю почему вы игнорируете OWNet.PHP
Где-то что-то не читается, в результате в генерируемой для exec() команде возникает какая-то синтаксическая ошибка.
"Scheme missing" ошибка не из PHP.
Перерыл весь OWNet.PHP, не нашел что мне надо или просто не понял что искать. Подскажите как опрашивать состояния каналов ds2406p без exec()? Про температурные датчики все понятно, а вот про ds2406p - беда...

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

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 28 июн 2011, 09:39

xebes писал(а):Перерыл весь OWNet.PHP, не нашел что мне надо или просто не понял что искать. Подскажите как опрашивать состояния каналов ds2406p без exec()? Про температурные датчики все понятно, а вот про ds2406p - беда...
Состояние каналов DS2406P с помощью ownet.php опрашиваются в точности также, как значения температуры DS18B20.
Например:

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

$pio = $ow->get("12.40F869000000/PIO.A");

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение THK » 28 июн 2011, 11:08

Задумал слепить страничку, на которой отображается реальное состояние устройств и с которой можно управлять ими в "ручном" режиме.
Если с управлением все понятно - AJAX рулит, то как сообщать уже открытой страничке,что произошло событие (включили свет или еще что) и надо перерисовать какую-либо иконку или поменять сообщение.
Гугл привел меня к технологии COMET - передача данных клиенту по инициативе сервера. Пока остановился на вот таких реализациях:

1. Наверное самое простое решение http://www.jeka911.com/articles/webdev/ ... omet_only/ и демка к нему http://www.jeka911.com/examples/comet/comet-chat/

2. Использовать Nginx как Comet сервер (для этих целей можно и апач использовать, но есть проблемы) http://highload.com.ua/index.php/2010/0 ... %B5%D1%80/

3. dklab_realplexor - Этот вариант мне почему-то нравится меньше остальных. Не хочется заводить на сервере дополнительного демона. http://dklab.ru/lib/dklab_realplexor/

Наверное стоит попробовать первый вариант, как самый простой.
А может кто-то уже реализовал и использует нечто подобное и не стоит изобретать велосипед?

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

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 28 июн 2011, 12:56

Я у себя использую Ajax, а, стало быть, периодический опрос.
Проблема, поставленная Виктором интересна и не лишена смысла. В моем монстроидальном интерфейсе масса блоков, которые периодически обновляются. Каждый запрос требует значительных системных ресурсов, так как работает с выборкой из БД. Соответственно, два клиента грузят систему вдвое больше. Технология Comet в данном случае решит не только проблему мгновенного отображения информации, но и разгрузит сервер, так как "медленные" скрипты будут выполняться один раз. Своего рода кеширование, но с моментальным отображением результатов обработки. По поводу количества висящих HTTP-соединений, мне кажется, можно не переживать. Вряд ли их в домашней системе будет уж очень много. А значит никакого смысла использовать специализированные Comet-серверы нет. Мне понравилась реализация Comet с использованием jQuery. Очень просто и эффективно. Попробую у себя.

xebes
Сообщения: 102
Зарегистрирован: 21 апр 2011, 17:27

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение xebes » 28 июн 2011, 22:21

Andrey_B писал(а): Состояние каналов DS2406P с помощью ownet.php опрашиваются в точности также, как значения температуры DS18B20.
Например:

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

$pio = $ow->get("12.40F869000000/PIO.A");
Как всегда все элементарно, спасибо!

xebes
Сообщения: 102
Зарегистрирован: 21 апр 2011, 17:27

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение xebes » 15 сен 2011, 18:28

Подскажите в чем может быть дело. Через крон настроил выполнение php скрипта каждую минуту, после этого в папке user стала появляться целая куча "отчетов" по выполнению этого файла. Где можно отключить? А то этих файлов (*.php) все больше и больше.

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

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 16 сен 2011, 00:39

xebes, файлы могут появляться по разными причинам и решать эту проблему нужно по-разному. Что содержится в этих "отчетах"?
Попробуйте добавить в команду запуска скрипта следующее 1> /dev/null 2> /dev/null

xebes
Сообщения: 102
Зарегистрирован: 21 апр 2011, 17:27

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение xebes » 16 сен 2011, 20:44

Andrey_B писал(а):xebes, файлы могут появляться по разными причинам и решать эту проблему нужно по-разному. Что содержится в этих "отчетах"?
Попробуйте добавить в команду запуска скрипта следующее 1> /dev/null 2> /dev/null
В основном в "отчетах" содержится дата, этот php считывает температуру с датчиков.
В скрипт пока добавить не могу - нет доступа к компьютеру.

karimm
Сообщения: 86
Зарегистрирован: 09 авг 2011, 03:54

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение karimm » 28 сен 2011, 13:34

Добрый день!
подскажите пожалуйста как проверить работоспособность ownet.php ?
пробовал пример от ТНК

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

<?php
$OWHost = "localhost";                  // Хост OWServer.
$OWPort = "4304";                  // Порт OWServer.
require "ownet.php";
$ow=new OWNet("tcp://".$OWHost.":".$OWPort."");
$temperature = $ow->get("/".$_GET[address]."/temperature");
echo $temperature;
?>
есть вопросы OWPort это порт заданный при запуске owserver ?

где то в примерах видел
require "/opt/owfs/bin/ownet.php";

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

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

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 28 сен 2011, 17:02

OWPort в приведенном примере - это порт, заданный при запуске owserver.
Строчка
require "ownet.php";
будет искать файл ownet.php в текущей папке (где расположен сам скрипт).
Если ownet.php лежит в другой папке, нужно указать абсолютный путь к нему.
Например:
require "/opt/owfs/bin/ownet.php";

Обратите внимание, что в примере адрес температурного датчика передается в виде параметра 'address' GET-запроса.
То есть когда мы обращаемся к скрипту через HTTP мы используем примерно следующий URL: [url=http://ip-]http://ip-[/url]сервера/имя-скрипта.php?address=28.90225A020000

karimm
Сообщения: 86
Зарегистрирован: 09 авг 2011, 03:54

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение karimm » 28 сен 2011, 19:57

спасибо, косяк был в том, что linux воспринимает большие и маленькие буквы как разные

ps работаю в vmware под Mac, если кому то интересно - могу выложить образ машинки для экспериментов =)

Siroc-co
Сообщения: 33
Зарегистрирован: 10 окт 2011, 14:03

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Siroc-co » 10 окт 2011, 15:08

Собственно всё хорошо, но у меня вопрос с самых основ. Есть железка, есть веб сайт. Как связать? Ну к примеру, есть Ардуино, подключенная через USB. С чего начать и как сделать чтоб была связь между железкой и веб интерфейсом, предлагаемым здесь?
Или метеостанция... Какая она должна быть чтоб её можно было приконнектить? Уж явно не моя китайская за 600р.
ОС Windows. Было бы супер, если бы можно было на роутере поднять. На роутере (не знаю что там за ось конкретно, но линуксовая) я уже поднял апач с SQL и PHP. Но не совсем понятно, как прявязать железо, а изернет модуль за 2000 руб брать не хочется.
P.S. Ардуино подключается как виртуальный com порт, и может принимать\отправлять данные, плюс сама выступает в роли контроллера-мозга. С помощью любой слушалки com порта можно увидеть передаваемые данные, хоть теже "Hello world", на делфи с помощью стандартной библиотеки за три минуты клиента написать можно. Но как с сайтом связать?

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

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 11 окт 2011, 00:08

Siroc-co, я, как и все остальные, ужасно не люблю документации и прочее буквоедство. Первым делом надо понажимать все кнопки и посмотреть что из всего этого получится. А вдруг что-то такое хорошее? Но все-таки иногда случаются такие ситуации, когда, черт побери, нужно подумать, поразмышлять и почитать букварь.
Наверное, вы имели ввиду что-то совсем другое, но ваш вопрос совершенно не оставляет шансов получить вразумительный ответ.
Напишите, что именно вы хотите связать, с чем и самое главное для чего. Причем, мне кажется, не надо брать всю тему целиком, надо взять для начала какую-то узкую задачу.
Мы, честное слово, искренне хотим помочь вам во всем разобраться.

lamer
Сообщения: 2
Зарегистрирован: 20 окт 2011, 14:00

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение lamer » 20 окт 2011, 14:09

Уважаемый Andrey_B, можно как-нибудь взглянуть на Ваш скрипт ab-pages.php с сугубо познавательной целью?

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

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Andrey_B » 20 окт 2011, 19:12

Отредактировано 25.11.2011

Вот здесь набор исходных кодов, которые отвечают за работу Web-интерфейса
http://www.ab-log.ru/files/File/ab-log-demo.zip

lamer
Сообщения: 2
Зарегистрирован: 20 окт 2011, 14:00

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение lamer » 20 окт 2011, 22:39

Огромное спасибо!!!

Siroc-co
Сообщения: 33
Зарегистрирован: 10 окт 2011, 14:03

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение Siroc-co » 25 окт 2011, 12:16

Andrey_B писал(а):Siroc-co, я, как и все остальные, ужасно не люблю документации и прочее буквоедство.
Да. Я наверное слишком много и сразу хочу.
Для начала хочу понять цепь связей, от железа до вывода на сайт. Мой случай: Есть датчик температуры - DS18B20, есть устройство, которое считывает показания датчика (Arduino). Вывести эти показания можно на компьютер, через USB (Устройство обладает интерфейсом USB). На компьютере это представляет собой поток данных с ком порта, уже в готовом виде. Тоесть любой программой, способной слушать ком порт, мы можем увидеть данные, например - "Температура +25.19". А вот что дальше? Как мне эти данные с ком порта (у меня это com3) отправить на веб страничку? Как это делается? Сначала нужно в БД записывать, а потом чтоб php из БД вытаскивал и отображал в виде графика и числ? Или как? Не понятно. Как это работает у Вас, на примере демо сайта? Или может уже есть описание этого, киньте ссылку. И как данные с com3 отправить в БД (mySQL), или это уже вопрос форумов о программировании?
Надеюсь я правильно и понятно сформулировал вопрос.
P.S. Тоесть для начала хочу взять Ваш исходник демо сайта (только код вывода температуры), и наладить связь со своим устройством.
Апачь, php, mysql уже установлены.

ilya14
Сообщения: 8
Зарегистрирован: 24 авг 2011, 15:11

Re: Web-интерфейс Умного Дома и разработка домашнего сайта

Сообщение ilya14 » 25 окт 2011, 14:07

Siroc-co, Вы все правильно пишите сначала заносите данные в БД, а потом из нее выводите на веб интерфейс. А тут http://ab-log.ru/smart-house/1-wire/owfs все описано по поводу считывание с датчика. А тут viewtopic.php?f=1&t=2&start=40 (THK) пример считывание датчика.

Ответить