Страница 61 из 121

Re: ESP8266

Добавлено: Сб май 07, 2016 6:16 pm
sega6549
ivannag писал(а):
sega6549 писал(а): ок, ща пробну а че насчет радуги?
вот ссылка на оригинальную тему, сделайте все по инструкции... http://majordomo.smartliving.ru/forum/v ... f=4&t=1447
в коде нужно поменять lightHallRGB на наш объект у меня это ESP_03_Witt, хотя разумнее было бы вставить конструкцию .$this->getProperty("hostname"). и тогда сам колорприкер привязать просто к нашему объекту...
Не забыть при этом создать дополнительные свойства у данного объекта, такие как color (хранится выбранное в радуге значение цвета) и red, green, blue (тот же цвет разделенный для каждого из каналов).
плюс создаем два метода (их привяжем к кнопкам "вкл" и "выкл" или к каким хотите)...
Метод Color_on
SPOILERSPOILER_SHOW

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

$cmdUrl_0 ="http://".$this->getProperty("wanip")."/pwm?ch=0&set=" .$this->getProperty("Green");
$cmdUrl_1 ="http://".$this->getProperty("wanip")."/pwm?ch=1&set=" .$this->getProperty("Blue");
$cmdUrl_2 ="http://".$this->getProperty("wanip")."/pwm?ch=2&set=" .$this->getProperty("Red");
getURL($cmdUrl_0,0);
sleep(1);
getURL($cmdUrl_1,0);
sleep(1);
getURL($cmdUrl_2,0);
 
Метод Color_off
SPOILERSPOILER_SHOW

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

$cmdUrl_0 ="http://".$this->getProperty("wanip")."/pwm?ch=0&set=0";
$cmdUrl_1 ="http://".$this->getProperty("wanip")."/pwm?ch=1&set=0";
$cmdUrl_2 ="http://".$this->getProperty("wanip")."/pwm?ch=2&set=0";
getURL($cmdUrl_0,0);
sleep(1);
getURL($cmdUrl_1,0);
sleep(1);
getURL($cmdUrl_2,0);
 
команда sleep необязательно, добавляет задержку в 1с между изменением каждого из цветов (каналов pwm), добавил чтобы не "повесить" модуль при часто тыканье....
еще пробовал кнопку 'вкл' убрать а выполнение метода повесить на изменение свойства color... но умудрился повесить модуль (правда слип тогда еще не было) поэтому оставил кнопку для включения цвета...
результат:
SPOILERSPOILER_SHOW
радуга.jpg
P.S. Судя по коду автора у него включение происходило автоматически... в коде прописан метод Turn_on, у меня он просто игнорится а вместо него запускается Color_on кнопочкой... если сделаете поправку, то будете запускать автоматически тыканием в цвет)
Спасибо, разобрался наконец) сделал, все круто и красиво, еще бы сделать не чтоб после каждого цвета секндная задержка, а чтоб после того как палец отпустил с цвета вот тогда чтоб данные отправлялись на модуль, так и красивеи и вешаться не будет)

Re: ESP8266

Добавлено: Сб май 07, 2016 6:38 pm
ivannag
sega6549 писал(а): Спасибо, разобрался наконец) сделал, все круто и красиво, еще бы сделать не чтоб после каждого цвета секндная задержка, а чтоб после того как палец отпустил с цвета вот тогда чтоб данные отправлялись на модуль, так и красивеи и вешаться не будет)
чтобы убрать задержку удалите в коде метода строчки sleep(1); 1-время в секундах...
чтоб менять цвет без дополнительной кнопки в коде колорпикера поменяйте
$.get("/objects/?object=ESP_03_Witt&op=m&m=Color_On"); в конце указан метод изменяющий цвета...
в принципе задержку в секунду можно поставить в коде пикера, перед запуском метода... чтобы определил цвет, разбил его на составляющие, подождал и только тогда послал команду на включение...

Re: ESP8266

Добавлено: Сб май 07, 2016 6:59 pm
sega6549
ivannag писал(а):
sega6549 писал(а): Спасибо, разобрался наконец) сделал, все круто и красиво, еще бы сделать не чтоб после каждого цвета секндная задержка, а чтоб после того как палец отпустил с цвета вот тогда чтоб данные отправлялись на модуль, так и красивеи и вешаться не будет)
чтобы убрать задержку удалите в коде метода строчки sleep(1); 1-время в секундах...
чтоб менять цвет без дополнительной кнопки в коде колорпикера поменяйте
$.get("/objects/?object=ESP_03_Witt&op=m&m=Color_On"); в конце указан метод изменяющий цвета...
в принципе задержку в секунду можно поставить в коде пикера, перед запуском метода... чтобы определил цвет, разбил его на составляющие, подождал и только тогда послал команду на включение...
попробуй вот так

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

$cmdUrl_0 ="http://".$this->getProperty("wanip")."/pwm?ch=0&set=" .$this->getProperty("Green");
$cmdUrl_1 ="http://".$this->getProperty("wanip")."/pwm?ch=1&set=" .$this->getProperty("Blue");
$cmdUrl_2 ="http://".$this->getProperty("wanip")."/pwm?ch=2&set=" .$this->getProperty("Red");
getURL($cmdUrl_0,0);
getURL($cmdUrl_1,0);
getURL($cmdUrl_2,0);
sleep(1); 
у меня вроде работает, получается он применяет цвет мгновенно, что удобно, а потом дает секунду на остыть так сказать

Re: ESP8266

Добавлено: Сб май 07, 2016 7:16 pm
ivannag
Вначале вообще без слип делал, тоже работало мгновенно (я ж писал, что его убрать можно), а потом решил пусть "остывает" почаще)) мне в принципе нравится, когда цвет выставляется постепенно... если б модуль мог выдержать команд эдак 700 в секунду! ;) то вообще бы в цикле запускал изменение всех цветов от 0 к выбранному, чтобы на протяжении 2-3 секунд цвет плавно нарастал или менялся.... было бы круче крутого))) только модуль не поймет чего от него хотят...)))))

Re: ESP8266

Добавлено: Сб май 07, 2016 7:18 pm
sega6549
ivannag писал(а):Вначале вообще без слип делал, тоже работало мгновенно (я ж писал, что его убрать можно), а потом решил пусть "остывает" почаще)) мне в принципе нравится, когда цвет выставляется постепенно... если б модуль мог выдержать команд эдак 700 в секунду! ;) то вообще бы в цикле запускал изменение всех цветов от 0 к выбранному, чтобы на протяжении 2-3 секунд цвет плавно нарастал или менялся.... было бы круче крутого))) только модуль не поймет чего от него хотят...)))))
вообще без слип у меня виснет..

Re: ESP8266

Добавлено: Сб май 07, 2016 7:24 pm
ivannag
попробуй еще определять один цвет и отправлять, затем второй и отправлять и потом третий определить и отправить... возможно мили или микросекунды компьютерного времени таки сыграют свою роль....

Re: ESP8266

Добавлено: Сб май 07, 2016 7:24 pm
sega6549
sega6549 писал(а):
ivannag писал(а):Вначале вообще без слип делал, тоже работало мгновенно (я ж писал, что его убрать можно), а потом решил пусть "остывает" почаще)) мне в принципе нравится, когда цвет выставляется постепенно... если б модуль мог выдержать команд эдак 700 в секунду! ;) то вообще бы в цикле запускал изменение всех цветов от 0 к выбранному, чтобы на протяжении 2-3 секунд цвет плавно нарастал или менялся.... было бы круче крутого))) только модуль не поймет чего от него хотят...)))))
вообще без слип у меня виснет..
хотя нет, вроде не виснет пока.., у тебя тоже красный светодиод тусклыц какой то? или у меня брак просто?

Re: ESP8266

Добавлено: Сб май 07, 2016 7:25 pm
sega6549
ivannag писал(а):попробуй еще определять один цвет и отправлять, затем второй и отправлять и потом третий определить и отправить... возможно мили или микросекунды компьютерного времени таки сыграют свою роль....
это как?

Re: ESP8266

Добавлено: Сб май 07, 2016 7:28 pm
ivannag
sega6549 писал(а): это как?
SPOILERSPOILER_SHOW

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

$cmdUrl_0 ="http://".$this->getProperty("wanip")."/pwm?ch=0&set=" .$this->getProperty("Green");
getURL($cmdUrl_0,0);
$cmdUrl_1 ="http://".$this->getProperty("wanip")."/pwm?ch=1&set=" .$this->getProperty("Blue");
getURL($cmdUrl_1,0);
$cmdUrl_2 ="http://".$this->getProperty("wanip")."/pwm?ch=2&set=" .$this->getProperty("Red");
getURL($cmdUrl_2,0);
 
тыкнул где-то 50 раз... все нормально, не виснет... sleep убрал, но включать все-таки лучше при помощи отдельной кнопки, если запускать при тыканьи в радугу, то при обновлении страницы оно тоже срабатывает... считаю это недопустимым

Re: ESP8266

Добавлено: Сб май 07, 2016 7:34 pm
MaksMS82
В опциях конструктора есть опция "GET JSON" - она позволяет читать и управлять модулем. Там можно одним запросом выставить СРАЗУ все три ШИМа разом.