ESP8266

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: ESP8266

Сообщение sega6549 » Сб май 07, 2016 6:16 pm

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
СпойлерПоказать

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

$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
СпойлерПоказать

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

$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... но умудрился повесить модуль (правда слип тогда еще не было) поэтому оставил кнопку для включения цвета...
результат:
СпойлерПоказать
радуга.jpg
P.S. Судя по коду автора у него включение происходило автоматически... в коде прописан метод Turn_on, у меня он просто игнорится а вместо него запускается Color_on кнопочкой... если сделаете поправку, то будете запускать автоматически тыканием в цвет)
Спасибо, разобрался наконец) сделал, все круто и красиво, еще бы сделать не чтоб после каждого цвета секндная задержка, а чтоб после того как палец отпустил с цвета вот тогда чтоб данные отправлялись на модуль, так и красивеи и вешаться не будет)
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
ivannag
Сообщения: 146
Зарегистрирован: Вт апр 12, 2016 12:19 am
Благодарил (а): 18 раз
Поблагодарили: 27 раз

Re: ESP8266

Сообщение ivannag » Сб май 07, 2016 6:38 pm

sega6549 писал(а): Спасибо, разобрался наконец) сделал, все круто и красиво, еще бы сделать не чтоб после каждого цвета секндная задержка, а чтоб после того как палец отпустил с цвета вот тогда чтоб данные отправлялись на модуль, так и красивеи и вешаться не будет)
чтобы убрать задержку удалите в коде метода строчки sleep(1); 1-время в секундах...
чтоб менять цвет без дополнительной кнопки в коде колорпикера поменяйте
$.get("/objects/?object=ESP_03_Witt&op=m&m=Color_On"); в конце указан метод изменяющий цвета...
в принципе задержку в секунду можно поставить в коде пикера, перед запуском метода... чтобы определил цвет, разбил его на составляющие, подождал и только тогда послал команду на включение...
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: ESP8266

Сообщение sega6549 » Сб май 07, 2016 6:59 pm

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); 
у меня вроде работает, получается он применяет цвет мгновенно, что удобно, а потом дает секунду на остыть так сказать
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
ivannag
Сообщения: 146
Зарегистрирован: Вт апр 12, 2016 12:19 am
Благодарил (а): 18 раз
Поблагодарили: 27 раз

Re: ESP8266

Сообщение ivannag » Сб май 07, 2016 7:16 pm

Вначале вообще без слип делал, тоже работало мгновенно (я ж писал, что его убрать можно), а потом решил пусть "остывает" почаще)) мне в принципе нравится, когда цвет выставляется постепенно... если б модуль мог выдержать команд эдак 700 в секунду! ;) то вообще бы в цикле запускал изменение всех цветов от 0 к выбранному, чтобы на протяжении 2-3 секунд цвет плавно нарастал или менялся.... было бы круче крутого))) только модуль не поймет чего от него хотят...)))))
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: ESP8266

Сообщение sega6549 » Сб май 07, 2016 7:18 pm

ivannag писал(а):Вначале вообще без слип делал, тоже работало мгновенно (я ж писал, что его убрать можно), а потом решил пусть "остывает" почаще)) мне в принципе нравится, когда цвет выставляется постепенно... если б модуль мог выдержать команд эдак 700 в секунду! ;) то вообще бы в цикле запускал изменение всех цветов от 0 к выбранному, чтобы на протяжении 2-3 секунд цвет плавно нарастал или менялся.... было бы круче крутого))) только модуль не поймет чего от него хотят...)))))
вообще без слип у меня виснет..
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
ivannag
Сообщения: 146
Зарегистрирован: Вт апр 12, 2016 12:19 am
Благодарил (а): 18 раз
Поблагодарили: 27 раз

Re: ESP8266

Сообщение ivannag » Сб май 07, 2016 7:24 pm

попробуй еще определять один цвет и отправлять, затем второй и отправлять и потом третий определить и отправить... возможно мили или микросекунды компьютерного времени таки сыграют свою роль....
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: ESP8266

Сообщение sega6549 » Сб май 07, 2016 7:24 pm

sega6549 писал(а):
ivannag писал(а):Вначале вообще без слип делал, тоже работало мгновенно (я ж писал, что его убрать можно), а потом решил пусть "остывает" почаще)) мне в принципе нравится, когда цвет выставляется постепенно... если б модуль мог выдержать команд эдак 700 в секунду! ;) то вообще бы в цикле запускал изменение всех цветов от 0 к выбранному, чтобы на протяжении 2-3 секунд цвет плавно нарастал или менялся.... было бы круче крутого))) только модуль не поймет чего от него хотят...)))))
вообще без слип у меня виснет..
хотя нет, вроде не виснет пока.., у тебя тоже красный светодиод тусклыц какой то? или у меня брак просто?
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
sega6549
Сообщения: 535
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: ESP8266

Сообщение sega6549 » Сб май 07, 2016 7:25 pm

ivannag писал(а):попробуй еще определять один цвет и отправлять, затем второй и отправлять и потом третий определить и отправить... возможно мили или микросекунды компьютерного времени таки сыграют свою роль....
это как?
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
ivannag
Сообщения: 146
Зарегистрирован: Вт апр 12, 2016 12:19 am
Благодарил (а): 18 раз
Поблагодарили: 27 раз

Re: ESP8266

Сообщение ivannag » Сб май 07, 2016 7:28 pm

sega6549 писал(а): это как?
СпойлерПоказать

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

$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 убрал, но включать все-таки лучше при помощи отдельной кнопки, если запускать при тыканьи в радугу, то при обновлении страницы оно тоже срабатывает... считаю это недопустимым
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: ESP8266

Сообщение MaksMS82 » Сб май 07, 2016 7:34 pm

В опциях конструктора есть опция "GET JSON" - она позволяет читать и управлять модулем. Там можно одним запросом выставить СРАЗУ все три ШИМа разом.
Ответить