Умный Дом по Ethernet

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
kinord
Сообщения: 84
Зарегистрирован: 24 фев 2012, 10:08

Re: Умный Дом по Ethernet

Сообщение kinord » 18 дек 2016, 20:46

Andrey_B писал(а):kinord, об этом говорилось много раз и на форуме и в комментариях на сайте.
"Паузы работают только в сценариях по умолчанию (Action) и не работают в ответах и командах с сервера."
понял,спасибо.
подскажите как на php сделать правильный скрипт задержки выключения:

У меня вот так:

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

file_get_contents('http://192.168.88.14/sec/?cmd=0:1');
sleep(20);
file_get_contents('http://192.168.88.14/sec/?cmd=0:0');
Работает, когда первый раз входишь в зону датчика движения. потом начинает сбиваться, то на 1 сек. включается и сразу гаснет, то на 5 сек. Т.е. видимо происходит множественный запуск скрипта или мой скрипт просто неправильно работает.

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

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

  //Если разомкнули цепь (сработал датчик движения)
                if ($_GET['m']==1)
                file_get_contents('http://192.168.88.14/sec/?cmd=0:1'); //Включаем свет
                else{//Если замкнули цепь (датчик перестал срабатывать)

                    sleep(2);//Ждем пару сек., т.к. может сразу сработал датчик еще раз
                    $val = explode('/',file_get_contents('http://192.168.88.14/sec/?pt=10&cmd=get'));

                    if($val[0]=='ON'){//проверяем еще раз не активен ли датчик движения, если ON значит не активен
                        sleep(10); //ждём какое-то время вдруг мы стоим и не шевелимся 
                         $val = explode('/',file_get_contents('http://192.168.88.14/sec/?pt=10&cmd=get'));
                         if($val[0]=='ON'){//Еще разок проверяем не сработал ли датчик
                            file_get_contents('http://192.168.88.14/sec/?cmd=0:0');//гасимсвет
                            }
                      }
                  }

Может кто-то подскажет более оптимальое решение?

kinord
Сообщения: 84
Зарегистрирован: 24 фев 2012, 10:08

Re: Умный Дом по Ethernet

Сообщение kinord » 24 дек 2016, 10:15

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

foolhome
Сообщения: 164
Зарегистрирован: 18 окт 2014, 21:39
Откуда: Minsk

Re: Умный Дом по Ethernet

Сообщение foolhome » 24 дек 2016, 10:33

Питание, наводки, фото в студию

kinord
Сообщения: 84
Зарегистрирован: 24 фев 2012, 10:08

Re: Умный Дом по Ethernet

Сообщение kinord » 24 дек 2016, 13:05

питание сделано от импульсного блока питания (от ноутбука). 3,3 В на модуль Enthernet и 5 В на мегу. Сама мега в большинстве случаев продолжает работать - виснет сам Ethernet.
Кстати, до того как не реализовал работу через сервер, оно не зависало практически. Сейчас, когда обмен пакетами постоянный - виснет несколько раз в день.

Кстати, контроллер Ethernet на коммутаторе поднимается в 10М - это нормально?
Вложения
P1050897.JPG
P1050897.JPG (430.71 КБ) 2578 просмотров
P1050896.JPG
P1050896.JPG (380.58 КБ) 2578 просмотров

Alex_Jet
Сообщения: 803
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Умный Дом по Ethernet

Сообщение Alex_Jet » 24 дек 2016, 20:37

ENC28J60 очень капризная штука. Я делал контроллер с небольшим веб-сервером, применив arduino-модуль ENC28J60. Этот модуль зависал всякий раз когда я быстро включал выключал выход, на котором висела релюшка и замыкала цепь 220 В. Так и не смог разобраться в чем дело, в будущих проектах решил изолировать, например, оптопарой силовые реле от микроконтроллера. Поэтому Андрею большой респект за то что смог правильно приготовить MegaD!

kinord
Сообщения: 84
Зарегистрирован: 24 фев 2012, 10:08

Re: Умный Дом по Ethernet

Сообщение kinord » 24 дек 2016, 21:04

Alex_Jet писал(а):изолировать, например, оптопарой силовые реле от микроконтроллера. Поэтому Андрею большой респект за то что смог правильно приготовить MegaD!
Т.е. намекаете на то, что проблема всё-таки в исполнительном реле? Если его реализовать на ULN2003 будет ли толк?

foolhome
Сообщения: 164
Зарегистрирован: 18 окт 2014, 21:39
Откуда: Minsk

Re: Умный Дом по Ethernet

Сообщение foolhome » 25 дек 2016, 00:51

Эта паутина изначально стабильно работать не будет, ну поиграться еще можно, но не стабильности добиваться , а если не серьезно, то это изделие должно фм радио ловить.
Теперь совет, разбери эту хрень, возьми другой шилд енц, собери без этих соплей.

kinord
Сообщения: 84
Зарегистрирован: 24 фев 2012, 10:08

Re: Умный Дом по Ethernet

Сообщение kinord » 25 дек 2016, 11:39

foolhome писал(а):Эта паутина изначально стабильно работать не будет, ну поиграться еще можно, но не стабильности добиваться , а если не серьезно, то это изделие должно фм радио ловить.
Теперь совет, разбери эту хрень, возьми другой шилд енц, собери без этих соплей.
что подразумеваете под другим шилдом? штучку как на 119 странице, которая как бутерброд стекируется?

avtomat78
Сообщения: 62
Зарегистрирован: 06 фев 2015, 19:02

Re: Умный Дом по Ethernet

Сообщение avtomat78 » 25 дек 2016, 12:59

kinord писал(а):питание сделано от импульсного блока питания (от ноутбука). 3,3 В на модуль Enthernet и 5 В на мегу.
То что подключились к проводам 3,3в это понятно, а сколько точно показывает мультиметр на ногах питания ENC? обычно там редко бывает ровно3,3в.

foolhome
Сообщения: 164
Зарегистрирован: 18 окт 2014, 21:39
Откуда: Minsk

Re: Умный Дом по Ethernet

Сообщение foolhome » 25 дек 2016, 18:15

что подразумеваете под другим шилдом?
просто другой шилд, не важно как он реализован, важно чтоб было что то на подмену, вдруг сам шилд глюкавый. Питание как avtomat78 подсказал проверить, чем у тебя стабилизация 5 и 3.3 вольт сделана, ноутбучный питатель таких значений не дает, как земли разведены к шилду и ардуине.

kod.begemot
Сообщения: 388
Зарегистрирован: 21 сен 2013, 00:38

Re: Умный Дом по Ethernet

Сообщение kod.begemot » 26 дек 2016, 21:03

И ещё совет kinord. Имею сам уже 8 самодельных мег, подбираюсь к 2561 .Так вот при работе с силовыми реле/удалёнными датчиками периодически зависало... Добиться стабильности, помимо гальваноразвязки помогло - обёртывание ОБОИХ проводов от датчика или нагрузок через ферритовое колечко. Всё, "как бабка пошептала"... Хотя у меня есть и готовые законченные устройства (всё на одной плате, в которую втыкается ENC модуль), так и модульные конструкции, а также экспериментальные-тестовые (хоть и не такие кошмарные (прошу прощения) как на фото выше), но всё-же проводов и там много. Но когда нет близко и/или параллельно силовых, по которым бегают нагрузки рядом с сигнальными - всё работает чётко. Ну и да - стабильное питание, куча конденсаторов на все питания рядом со всеми потребителями. Максимальная "звездность" разводки земли тоже помогает.

Roman27
Сообщения: 2
Зарегистрирован: 04 янв 2017, 01:12

Re: Умный Дом по Ethernet

Сообщение Roman27 » 04 янв 2017, 12:01

Добрый день, прошу помощи в знатоков, решил сделать мегадевайс из ардуино+ENC28J60, все сделал как написано на 39 странице этого форума, прошил последнюю прошивку .hex файлом. Для использования тактирования от кварца на плате ардуино прошил фьюзы - low_fuse:0x7f, high_fuse:0xdf, extended:0xff. Роботает на сетевом разъеме постоянно горит зеленый светодиод, а желтый моргает но не могу зайти на веб морду, пожалуйста помогите

MSapogov
Сообщения: 299
Зарегистрирован: 13 май 2015, 08:44
Откуда: г. Томск

Re: Умный Дом по Ethernet

Сообщение MSapogov » 04 янв 2017, 15:57

Ищи php скрипт... И на сколько я помню ключ c "--ee" с очисткой EEPROMа
http://www.ab-log.ru/smart-house/ethern ... re-upgrade
Мне помогло как-то...

PS: а еще лучше прочитать от 39 до этой страницы...

Roman27
Сообщения: 2
Зарегистрирован: 04 янв 2017, 01:12

Re: Умный Дом по Ethernet

Сообщение Roman27 » 04 янв 2017, 23:11

MSapogov писал(а):Ищи php скрипт... И на сколько я помню ключ c "--ee" с очисткой EEPROMа
http://www.ab-log.ru/smart-house/ethern ... re-upgrade
Мне помогло как-то...

PS: а еще лучше прочитать от 39 до этой страницы...
A Ввас ардуино роботает от своево кварца?

MSapogov
Сообщения: 299
Зарегистрирован: 13 май 2015, 08:44
Откуда: г. Томск

Re: Умный Дом по Ethernet

Сообщение MSapogov » 09 янв 2017, 04:58

Roman27 писал(а):
MSapogov писал(а):Ищи php скрипт... И на сколько я помню ключ c "--ee" с очисткой EEPROMа
http://www.ab-log.ru/smart-house/ethern ... re-upgrade
Мне помогло как-то...

PS: а еще лучше прочитать от 39 до этой страницы...
A Ввас ардуино роботает от своево кварца?
От модуля ENC28J60 синхроницизуется.
Но работала и так и так... Только термодатчики DHT не работали, от внутреннего кварца...

Чижик
Сообщения: 20
Зарегистрирован: 12 окт 2012, 14:19

Re: Умный Дом по Ethernet

Сообщение Чижик » 12 апр 2017, 13:45

Добрый день.

Вопрос к Андрею.

в скрипте mod_i2c_lib.php dв функции i2c_send ($data) для передачи байта (для версии V==2) используется запрос

file_get_contents(MD."pt=".SDA."&i2c=".hexdec($data)."&scl=".SCL.":1;".SCL.":0;");

который на шине i2c порождает передачу 8 бит данных SDA и 9 бит синхронизации SCL (на 9 -ый импульс устройство отвечает ASK/NAK)

Случайно или это баг, что запрос не возвращает состояния ASK/NAK. Можно сформировать запрос так, что бы затем опросить ответ NAK/ASK как для версии !V==2 (см ниже). Или Мега шлет асинхронно на сервер что-то типа http://192.168.0.250/megad.php?pt=5, или как ...?

Поскольку (для версии V==1)
file_get_contents(MD."pt=".SDA."&dir=0&cmd=".SCL.":".HIGH.";".SCL.":".LOW);
$ack = file_get_contents(MD."pt=".SDA."&cmd=get&dir=1");

return $ack;
мы имеем возможность вернуть состояние. Или я чего-то не понимаю?

Андрей, можно ли попросить Вас дополнить существующее описание новыми реализованными функциями API.

З.Ы. Либо принято решение игнорировать ответы NAK/ASK?

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

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 12 апр 2017, 15:42

Чижик, программная реализация работы с I2C медленная. V=2 и V=3 нужны, чтобы максимально ускорить работу с I2C. "Лишний" cmd=get снизит скорость, а большого практического смысла в нем нет.
При желании, наверное, можно добавить.

Чижик
Сообщения: 20
Зарегистрирован: 12 окт 2012, 14:19

Re: Умный Дом по Ethernet

Сообщение Чижик » 12 апр 2017, 16:22

Андрей, вы хотите сказать, что запрос file_get_contents(MD."pt=".SDA."&i2c=".hexdec($data)."&scl=".SCL.":1;".SCL.":0;"); игнорирует ответ ASK/NAK.

Можно было бы добавить ответ без разметки ON/OFF на этот запрос- (поскольку на девятый импульс все равно надо переводить SDA на чтение -
иначе оба выхода закоротят друг на друга)- ?

То что программная реализация медленная это понятно. Вопрос про получения ответа ASK/NAK в конкретном запросе.

Андрей, про V=2 я видел в предложенных вами скриптах, а про V=3 можно пояснить. Я не встречал в публичных материалах. Может пропустил, дайте ссылочку.

И про вторую часть вопроса по новым функциям API. Может добавить хотя бы в качестве справки перечисление этих функций.

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

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 12 апр 2017, 16:51

http://www.ab-log.ru/smart-house/ethernet/megad-i2c
В библиотеке I2C-PHP ACK, который генерирует слейв, никак не обрабатывается. Но у вас же есть исходные коды. Можете с ними делать все, что угодно. Там в общем показан лишь принцип дерганья ногами.
Про "V=3" (он же MegaD-I2C-API) описано здесь:
http://www.ab-log.ru/smart-house/ethernet/megad-2561

Чижик
Сообщения: 20
Зарегистрирован: 12 окт 2012, 14:19

Re: Умный Дом по Ethernet

Сообщение Чижик » 12 апр 2017, 19:50

Спасибо.
Про наличие первой статьи не знал. Хотя поиском она находится.
Пользуюсь только 328 мегами, поэтому вторую просмотрел обзорно.
В поисках был не упорен и не внимателен. Исправлюсь.

Ответить