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

Re: ESP8266

Добавлено: Сб май 07, 2016 8:40 pm
sega6549

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

$cmdUrl ="http://".$this->getProperty("wanip")."/writejson?send={\"pwm\":{\"0\":" .$this->getProperty("Green").",\"1\":".$this->getProperty("Blue").",\"2\":". $this->getProperty("Red")."}}";
sleep(1);
getURL($cmdUrl,0); 
пришлось слип добавит, вешается модуль от моих хотелок)))

Re: ESP8266

Добавлено: Сб май 07, 2016 8:49 pm
sega6549
sega6549 писал(а):

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

$cmdUrl ="http://".$this->getProperty("wanip")."/writejson?send={\"pwm\":{\"0\":" .$this->getProperty("Green").",\"1\":".$this->getProperty("Blue").",\"2\":". $this->getProperty("Red")."}}";
sleep(1);
getURL($cmdUrl,0); 
пришлось слип добавит, вешается модуль от моих хотелок)))
блин, че то и со слипов все тупит, раза 2 нажмешь и потом начинается, то все на всю врубится когда стоит в темной области, то моргают поочереди, фиг поймеш в чем проблема, у вас тоже так? причем в этот же момент отдельная кновка на светодиод на пине 2 работает как часы, может это не модуль тупит а ява тупит которая в меню?

Re: ESP8266

Добавлено: Сб май 07, 2016 8:59 pm
ivannag
если модуль "замучить" то потом даже долгое ожидание уже не помогает... работает с огромнейшими задержками... помогает только передергивание питания... когда он будет вмонтирован в распределительную коробку, это окажется проблемой... хотя если его не напрягать то все ок...

Re: ESP8266

Добавлено: Сб май 07, 2016 9:02 pm
MaksMS82
esp8266 имеет ограничения на количество tcp соединений, их не может быть больше 4. если сильно часто дергать модуль, то предыдущее соединение может не успеть закрыться и возможны такие глюки.

Если нужно активно дергать модулем, то это можно делать через mqtt. Там одно соединение, в котором передаются команды уже.

Re: ESP8266

Добавлено: Сб май 07, 2016 9:04 pm
sega6549
MaksMS82 писал(а):esp8266 имеет ограничения на количество tcp соединений, их не может быть больше 4. если сильно часто дергать модуль, то предыдущее соединение может не успеть закрыться и возможны такие глюки.

Если нужно активно дергать модулем, то это можно делать через mqtt. Там одно соединение, в котором передаются команды уже.
да уж, для светодиодной ленты точно надо MQTT изучать, только че то совсем мало инфы

Re: ESP8266

Добавлено: Сб май 07, 2016 9:12 pm
ivannag
sega6549 писал(а):
MaksMS82 писал(а):esp8266 имеет ограничения на количество tcp соединений, их не может быть больше 4. если сильно часто дергать модуль, то предыдущее соединение может не успеть закрыться и возможны такие глюки.

Если нужно активно дергать модулем, то это можно делать через mqtt. Там одно соединение, в котором передаются команды уже.
да уж, для светодиодной ленты точно надо MQTT изучать, только че то совсем мало инфы
там вроде тоже ничего сложного... разберемся.... нужен только mqtt брокер, и аналогичный модуль в МЖД который будет его слушать.... а потом привязать топики mqtt к свойствам обьектов в МЖД... вот видео в ютубе на эту тему, прошивка у автора другая но принцип тот же... по инструкции и мы так сделаем)) https://www.youtube.com/watch?v=4O-2dJwRQtg

Re: ESP8266

Добавлено: Сб май 07, 2016 9:15 pm
sega6549
ivannag писал(а):
sega6549 писал(а):
MaksMS82 писал(а):esp8266 имеет ограничения на количество tcp соединений, их не может быть больше 4. если сильно часто дергать модуль, то предыдущее соединение может не успеть закрыться и возможны такие глюки.

Если нужно активно дергать модулем, то это можно делать через mqtt. Там одно соединение, в котором передаются команды уже.
да уж, для светодиодной ленты точно надо MQTT изучать, только че то совсем мало инфы
там вроде тоже ничего сложного... разберемся.... нужен только mqtt брокер, и аналогичный модуль в МЖД который будет его слушать.... а потом привязать топики mqtt к свойствам обьектов в МЖД... вот видео в ютубе на эту тему, прошивка у автора другая но принцип тот же... по инструкции и мы так сделаем)) https://www.youtube.com/watch?v=4O-2dJwRQtg
я видел этот видос, и с чуваком знаком, мы друг друга на ютубе рекомендуем, но все же тут инструкция не совсем для новичков))) надо сначала поначитаться чего то попроще))

Re: ESP8266

Добавлено: Вс май 08, 2016 7:36 pm
Aleks130699
sega6549 писал(а):

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

$cmdUrl ="http://".$this->getProperty("wanip")."/writejson?send={\"pwm\":{\"0\":" .$this->getProperty("Green").",\"1\":".$this->getProperty("Blue").",\"2\":". $this->getProperty("Red")."}}";
sleep(1);
getURL($cmdUrl,0);
пришлось слип добавит, вешается модуль от моих хотелок)))
Попробовал этот способ отправки всех цветов одним запросом.Он у меня крайне не стабильно он работает.Несколько команд отправляет норм.потом pwm зависает.начинает о разному цветами тыкать, и релюшкой щелкает.И pwm перестает отвечать на любые команды, пока не нашёлкается.Лучше отправлять 3 раза. за 2 месяца работы не разу не было такого.

Re: ESP8266

Добавлено: Вс май 08, 2016 7:42 pm
Aleks130699
Я вот такой код использую для управления светодиодной лентой.Все отлично работает.Так как у ленты работает управление минусовым контактом.то пришлось делать инверсию.может конечно не лучший способ,но зато работает.

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

if (($this->getProperty("led stat")) =="1")
{
$r = ($this->getProperty("r"));
$g = ($this->getProperty("g"));
$b = ($this->getProperty("b"));
$r -= 255;
$g -= 255;
$b -= 255;
$r *= -1;
$g *= -1;
$b *= -1;
$this->setProperty('rwm0',$r);
$this->setProperty('pwm1',$g);
$this->setProperty('pwm2',$b);
sleep(0,1);
getURL('http://'.($this->getProperty("wanip")).'/pwm?ch=0&set='.($r).'',0);
getURL('http://'.($this->getProperty("wanip")).'/pwm?ch=1&set='.($g).'',0);
getURL('http://'.($this->getProperty("wanip")).'/pwm?ch=2&set='.($b).'',0);
} 
А в меню у меня так сделано

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

<script type="text/javascript" src="../js/farbtastic.js"></script>
<link rel="stylesheet" href="../css/farbtastic.css" type="text/css" />

<div id="colorpicker" style="margin: 0 auto;"></div>

<script language="javascript">
function cutHex(h) {return (h.charAt(0)=="#") ? h.substring(1,7):h}
function HexToR(h) {return parseInt((cutHex(h)).substring(0,2),16)}
function HexToG(h) {return parseInt((cutHex(h)).substring(2,4),16)}
function HexToB(h) {return parseInt((cutHex(h)).substring(4,6),16)}
function decToHex(number) { if (number < 0) { number = 0xFFFFFFFF + number + 1; }
 return number.toString(16).toUpperCase(); }

$('#colorpicker').farbtastic( function (color) {
  r = HexToR(color);
  g = HexToG(color);
  b = HexToB(color);
  $.get("/objects/?object=ESP826600d6d3fa&op=set&p=r&v="+r);
  $.get("/objects/?object=ESP826600d6d3fa&op=set&p=g&v="+g);
  $.get("/objects/?object=ESP826600d6d3fa&op=set&p=b&v="+b);
  $.get("/objects/?object=ESP826600d6d3fa&op=set&p=color&v="+cutHex(color));
  $.get("/objects/?object=ESP826600d6d3fa&op=m&m=turnOn");                                         
});

$.get("/objects/?object=ESP826600d6d3fa&op=get&p=color", function (data) { $.farbtastic("#colorpicker").setColor("#"+data); });

</script>

Re: ESP8266

Добавлено: Вс май 08, 2016 7:44 pm
sega6549
Aleks130699 писал(а):
sega6549 писал(а):

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

$cmdUrl ="http://".$this->getProperty("wanip")."/writejson?send={\"pwm\":{\"0\":" .$this->getProperty("Green").",\"1\":".$this->getProperty("Blue").",\"2\":". $this->getProperty("Red")."}}";
sleep(1);
getURL($cmdUrl,0);
пришлось слип добавит, вешается модуль от моих хотелок)))
Попробовал этот способ отправки всех цветов одним запросом.Он у меня крайне не стабильно он работает.Несколько команд отправляет норм.потом pwm зависает.начинает о разному цветами тыкать, и релюшкой щелкает.И pwm перестает отвечать на любые команды, пока не нашёлкается.Лучше отправлять 3 раза. за 2 месяца работы не разу не было такого.
Да, у меня тоже все виснуть стало, переделал на первый вариант