ESP8266
Модератор: immortal
-
- Сообщения: 535
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: ESP8266
Спасибо за ответ, в принципе я уже сам разобрался моим любимым методом тыка) а вот насчёт регулировки яркости, можете подсказать как сделать? Пример кода для слайдера...
-
- Сообщения: 146
- Зарегистрирован: Вт апр 12, 2016 12:19 am
- Благодарил (а): 18 раз
- Поблагодарили: 27 раз
Re: ESP8266
у меня в классе ESP8266 прописаны методы для каждого канала pwm (pwm0, pwm1, pwm2) вот пример для pwm0 (для отальных поменяйте просто в коде ch=0 на 1 или 2sega6549 писал(а):Спасибо за ответ, в принципе я уже сам разобрался моим любимым методом тыка) а вот насчёт регулировки яркости, можете подсказать как сделать? Пример кода для слайдера...
Код: Выделить всё
$cmdUrl ="http://".$this->getProperty("wanip")."/pwm?ch=0&set=" .$params['VALUE'];
getURL($cmdUrl,0);
Если заинтересует, то позже выложу еще метод для изменения цвета "тыканием" в цветовую радугу (на форуме есть пример для ардуино, нужно лишь новый метод и пару строк изменить для есп)...
-
- Сообщения: 535
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: ESP8266
у меня нет такого свойство, создал метод с таким кодомivannag писал(а):у меня в классе ESP8266 прописаны методы для каждого канала pwm (pwm0, pwm1, pwm2) вот пример для pwm0 (для отальных поменяйте просто в коде ch=0 на 1 или 2sega6549 писал(а):Спасибо за ответ, в принципе я уже сам разобрался моим любимым методом тыка) а вот насчёт регулировки яркости, можете подсказать как сделать? Пример кода для слайдера...просто создайте слайдер и привяжите его к свойству pwm0 (оно из модуля прилетает) и все заработает...Код: Выделить всё
$cmdUrl ="http://".$this->getProperty("wanip")."/pwm?ch=0&set=" .$params['VALUE']; getURL($cmdUrl,0);
Если заинтересует, то позже выложу еще метод для изменения цвета "тыканием" в цветовую радугу (на форуме есть пример для ардуино, нужно лишь новый метод и пару строк изменить для есп)...
Код: Выделить всё
$cmdUrl ="http://192.168.1.9".$this->getProperty("wanip")."/pwm?ch=0&set=" .$params['VALUE'];
getURL($cmdUrl,0);
собственно сделал слайдер, мин и макс значения поставил, выбрал объект а смотрю свойства pwm нету... вы какой скрипт используете для получения свойств?
-
- Сообщения: 146
- Зарегистрирован: Вт апр 12, 2016 12:19 am
- Благодарил (а): 18 раз
- Поблагодарили: 27 раз
Re: ESP8266
а на самом модуле у вас PWM активирован? если да, то модуль точно посылает данные... скрипт короткий, тот, который создает свойства и объекты только когда они прилетают с модуля... через час выложу код, если нужно будет... пока-что убегаю...sega6549 писал(а): собственно сделал слайдер, мин и макс значения поставил, выбрал объект а смотрю свойства pwm нету... вы какой скрипт используете для получения свойств?
- Рейтинг: 1.16%
-
- Сообщения: 535
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: ESP8266
а где его активировать?ivannag писал(а):а на самом модуле у вас PWM активирован? если да, то модуль точно посылает данные... скрипт короткий, тот, который создает свойства и объекты только когда они прилетают с модуля... через час выложу код, если нужно будет... пока-что убегаю...sega6549 писал(а): собственно сделал слайдер, мин и макс значения поставил, выбрал объект а смотрю свойства pwm нету... вы какой скрипт используете для получения свойств?
-
- Сообщения: 146
- Зарегистрирован: Вт апр 12, 2016 12:19 am
- Благодарил (а): 18 раз
- Поблагодарили: 27 раз
Re: ESP8266
через час все выложу... голодный уже)))) вы метод неправильно тоже прописали... ip указывать не нужно... я специально его сделал чтобы он ІР вытягивал автоматически.... оставьте то что я вам скинул...sega6549 писал(а):а где его активировать?ivannag писал(а):а на самом модуле у вас PWM активирован? если да, то модуль точно посылает данные... скрипт короткий, тот, который создает свойства и объекты только когда они прилетают с модуля... через час выложу код, если нужно будет... пока-что убегаю...sega6549 писал(а): собственно сделал слайдер, мин и макс значения поставил, выбрал объект а смотрю свойства pwm нету... вы какой скрипт используете для получения свойств?
активируется на самом модуле в разделе PWM (если вы собрали прошивку с ним)
- Рейтинг: 1.16%
-
- Сообщения: 535
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: ESP8266
а где его активировать?[/quote]ivannag писал(а): а на самом модуле у вас PWM активирован? если да, то модуль точно посылает данные... скрипт короткий, тот, который создает свойства и объекты только когда они прилетают с модуля... через час выложу код, если нужно будет... пока-что убегаю...
через час все выложу... голодный уже)))) вы метод неправильно тоже прописали... ip указывать не нужно... я специально его сделал чтобы он ІР вытягивал автоматически.... оставьте то что я вам скинул...
активируется на самом модуле в разделе PWM (если вы собрали прошивку с ним)[/quote]
да насчет метода я конечно тупанул, даже не дочитал строчку кода)) насчет pvm разобрался, в прошивке не стоял просто) сделал слайдеры, плохо что нельзя одновременно использовать и слайдеры и выключалки, но думаю можно сделать через скрипты и просто отправлять либо 0 либо 255 на тот же pvm, в общем большое спасибо вам, но все равно жду метод для изменения тыканьем в радугу))))
-
- Сообщения: 146
- Зарегистрирован: Вт апр 12, 2016 12:19 am
- Благодарил (а): 18 раз
- Поблагодарили: 27 раз
Re: ESP8266
Вот мой сценарий... взял выше из этой же ветки форума, переделал только, чтоб объекты создавались не по их ID а по именах (мне так гораздо удобнее и информативней, хотя если попадутся два объекта с одинаковыми именами то наверное будут проблемы...)
СпойлерПоказать
Код: Выделить всё
//объект ищем по свойству idesp, так как имя объекта будет осмысленным,
//а если не нашли - то добавляем с именем равным его айди
$hostname=$params["hostname"];
if (!$hostname) return;
//запишем в лог что пришло
DebMes("espdata request: ".$_SERVER['REQUEST_URI']);
$esp=getObjectsByClass("ESP8266");
foreach($esp as $obj)
{
if (gg($obj['TITLE'].".hostname") ==$hostname)
{
if (is_array($params)) {
foreach($params as $k=>$v) {
if ($k!="script") {
sg($obj['TITLE'].".".$k,$v);
}
}
}
//объект найден, свойства записаны, выходим
return;
}
}
//сюда попадет если нет объекта - создадим его, и запишем только одно свойство - его айди
//на следующем запросе мы попадем в первый цикл и все запишется
addClass("ESP8266");
addClassObject("ESP8266",$params["hostname"]);
sg(($hostname.".hostname"),$hostname);
СпойлерПоказать
-
- Сообщения: 535
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: ESP8266
ок, ща пробну а че насчет радуги?ivannag писал(а):Вот мой сценарий... взял выше из этой же ветки форума, переделал только, чтоб объекты создавались не по их ID а по именах (мне так гораздо удобнее и информативней, хотя если попадутся два объекта с одинаковыми именами то наверное будут проблемы...)СпойлерПоказатьКод: Выделить всё
//объект ищем по свойству idesp, так как имя объекта будет осмысленным, //а если не нашли - то добавляем с именем равным его айди $hostname=$params["hostname"]; if (!$hostname) return; //запишем в лог что пришло DebMes("espdata request: ".$_SERVER['REQUEST_URI']); $esp=getObjectsByClass("ESP8266"); foreach($esp as $obj) { if (gg($obj['TITLE'].".hostname") ==$hostname) { if (is_array($params)) { foreach($params as $k=>$v) { if ($k!="script") { sg($obj['TITLE'].".".$k,$v); } } } //объект найден, свойства записаны, выходим return; } } //сюда попадет если нет объекта - создадим его, и запишем только одно свойство - его айди //на следующем запросе мы попадем в первый цикл и все запишется addClass("ESP8266"); addClassObject("ESP8266",$params["hostname"]); sg(($hostname.".hostname"),$hostname);
СпойлерПоказать
-
- Сообщения: 146
- Зарегистрирован: Вт апр 12, 2016 12:19 am
- Благодарил (а): 18 раз
- Поблагодарили: 27 раз
Re: ESP8266
вот ссылка на оригинальную тему, сделайте все по инструкции... http://majordomo.smartliving.ru/forum/v ... f=4&t=1447sega6549 писал(а): ок, ща пробну а че насчет радуги?
в коде нужно поменять 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);
СпойлерПоказать
Код: Выделить всё
$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);
еще пробовал кнопку 'вкл' убрать а выполнение метода повесить на изменение свойства color... но умудрился повесить модуль (правда слип тогда еще не было) поэтому оставил кнопку для включения цвета...
результат:
СпойлерПоказать
- Рейтинг: 1.16%