RGB подсветка, уравляемая через браузер

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

RGB подсветка, уравляемая через браузер

Сообщение maloicds » 14 мар 2013, 15:58

Загорелся одной идеей: сделать светодиодную подсветку потолка, управляемую через браузер.

Небольшое отступление:
Всё что продаётся, делается своими руками имеет отдельный блок управления (пульт либо настенный модуль). А это лишние коробочки на стенах, лишние пульты...
У себя для управления УД использую планшет с веб интерфейсом и стараюсь управление электроприборами делать именно с него. Вследствии чего родилась такая идея.

Что для этого нужно:
1. компьютер (сервер УД);
1. парочка arduino или его клон;
2. парочка rf модулей, например NRF24L01; (почему rf? а чтоб не тянуть ещё один провод)
3. сама лента;
4. блок питания.

Цвет ленты можно выбирать через color picker, например такой. Далее код выбранного цвета отправляется в скрипт который всё это передаёт в arduino, потом в rf модуль.
На приёмнике всё будет в обратном порядке: rf-arduino-лента. Можно добавить различные эффекты (переливание, моргание......)
В интернете много статей о том, как управлять rgb светодиодом с компьютера, например так или так

Хотелось бы услушать Ваши мнения по этому поводу.

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение shemnik69 » 15 мар 2013, 15:35

Очень даже хорошая идея. А способ управления тоже привлекает своей простотой. Не стану рассматривать параметры современных и будущих планшетников (они с каждым днем все выше и выше) скажу, что ценовой диапазон их стал приемлемый. Как следствие они стали рядовыми или почти таковыми. Основное их назначение это интернет серфинг соответственно они обладают всеми необходимыми программами и фичами, прибамбасами, да как хотите, назовите. Основываясь на вышеизложенным, творческие люди, вроде тех, что обитают на данном сайте обязательно должны взять в оборот данные девайсы. Отношусь к их числу и я. Приобретенный планшетник после 2-х недельного (срок интереса у детей) интенсивного использования перешёл в мое доверительное управление. Попытки приспособить его к управлению системой натолкнулись на привязку с домашней сети WI-FI. А отсутствие внутреннего модема не позволило проводить глобальное управление. Но это не столь страшно, главное начать двигаться, ведь как говорит пословица неважно, где Вы сейчас важно, куда Вы двигаетесь!
Так вот планшетник оказался полезен как: монитор настройки камер наблюдения.
Переносной домофон (на основе скайпа). И, разумеется, как простой банальный выключатель ….
Интерес к светодиодному освещению и соответственно к варианту его управления тоже оставался, варианты звездного неба и др. без оперативного управления тоже как то вызывали снижение интереса. А вот RGB ленты это то что может периодически подкреплять как интерес, так и фантазию. Например для детской утром можно проводить плавное нарастание освещение с преобладанием красного (розовый—желтый и др.) что вызывает мягкое пробуждение ЧАДА и быструю его активизацию после сна. (проверено! работает!!!) по данным вопросам лучше отражает литература например :
Белый. Незаменим для маленьких помещений или помещений со слабым освещением. Зрительно увеличивает пространство. Сочетается со всеми цветами.
Черный. Классический, строгий цвет. Сочетается практически со всеми цветами, но лучше всего смотрится с желтым, оранжевым, красным и зеленым.
Серый. Нейтральный. Сочетается практически со всеми цветами и замечательно подходит для оформления интерьеров.
Красный. Возбуждает, улучшает настроение. Однако переизбыток красного цвета может вызывать агрессию, чувство тревоги, раздражение и негативные эмоции. Воспринимается как близкий, теплый. Зрительно расширяет комнату. Вкрапление отдельных элементов интерьера красного цвета сделает холодную комнату более уютной. Хорошо сочетается с белым цветом.
Оранжевый. Теплый, ароматный, повышает аппетит и увлекает. Оранжевый нужно дозировать - в чистом виде он быстро надоедает. Подходит для рабочего места для нерешительных и медлительных людей. Воспринимается как очень близкий и теплый. Зрительно расширяет комнату.
Желтый. Вызывает положительные эмоции. Отлично сочетается с другими цветами.
Зеленый. Цвет свежести. Способствует хорошей концентрации внимания. Однако долгое созерцание зеленого выдерживает не всякий. Воспринимается как далекий. Зрительно сужает комнату. Хорошо сочетается с белым и желтым цветом.
Голубой. Успокаивает, расслабляет и умиротворяет. Воспринимается как холодный. Трудно сочетается с другими цветами, кроме как с синим и серебристым.
Синий. Успокаивает и умиротворяет. Воспринимается как очень холодный. Сочетается с желтым и белым.
Фиолетовый. Нежные тона станут отличным фоном для интерьера, а вот сочно фиолетовый способен выдерживать не всякий. В слишком большом количестве может вызывать агрессию и чувство тревоги. Способствует развитию творчества, замедляет физические процессы. Воспринимается как очень близкий.

Коричневый. Цвет консервативности. Воспринимается как очень близкий. Сочетается с красным и белым цветом.
Основываясь на предложенной maloicds системе это возможно . И как ни странно это очень полезная в доме «безделушка» …

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 20 мар 2013, 16:11

Итак, начинаем воплощать идею.
В качестве color picker'a взял js библиотеку Raphael, убрал всё лишнее и доработал её под свои нужды. В итоге получилась вот такая красивая картинка
2.jpg
2.jpg (35.64 КБ) 29633 просмотра
Берём Arduino (у меня это Nano) и заливаем в неё такой скетч (код взят здесь)

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

/**
  * Controller LED RGB
  * 
  * @author  Bruno Soares
  * @website www.bsoares.com.br
  */

#define START_COLOR_CHAR '^'
#define END_COLOR_CHAR '$'
#define COLOR_SIZE 8
#define PIN_RED 9
#define PIN_GREEN 11
#define PIN_BLUE 10

char serialMessage[COLOR_SIZE];
unsigned int readChar;
unsigned int count;
unsigned long color;
unsigned int r;
unsigned int g;
unsigned int b;
 boolean readingSerial;

void setup() {
   Serial.begin(9600);
   readingSerial = false;
}

void loop() {
   if (Serial.available() > 0 && !readingSerial) {
     if (Serial.read() == START_COLOR_CHAR) {
       serialReadColor();
     }
   }
}

void serialReadColor() {
   readingSerial = true;
   count = 0;
   
   iniReading:
   if (Serial.available() > 0) {
     readChar = Serial.read();
     if (readChar == END_COLOR_CHAR || count == COLOR_SIZE) {
       goto endReading;
     } else {
       serialMessage[count++] = readChar;
       goto iniReading;
     }
   }
   goto iniReading;
   
   endReading:
   readingSerial = false;
   serialMessage[count] = '\0';
   
   setColor(serialMessage);
}

void setColor(char* value)
{
   // Convert Char* to Long
   color = atol(value);
   
   // Extract RGB
   r = color >> 16 & 0xFF;
   g = color >>  8 & 0xFF;
   b = color >>  0 & 0xFF;
   
   // Send values to analog pins
   analogWrite(PIN_RED, r);
   analogWrite(PIN_GREEN, g);
   analogWrite(PIN_BLUE, b);
}
К плате подсоединяем RGB светодиод (r-pin9, g-pin11, b-pin10). Должно получиться примерно так
1.jpg
1.jpg (50.73 КБ) 29633 просмотра
В linux при обращении к порту с arduino у последней происходит автоматический reset по линии DTR. Лечится это перерезанием дорожки или установкой конденсатора на выводы resert и gnd. Я выбрал второй вариант.

За выдачу данных в порт arduino будет отвечать такой php код

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

<?php
 include("php_serial.class.php");
 $color=$_REQUEST['color'];
 $color=hexdec($color);
 $color="^".$color."$";
 $serial = new phpSerial;
 $serial->deviceSet("/dev/ttyUSB0");
 $serial->confBaudRate(9600);
 $serial->confParity("none");
 $serial->confCharacterLength(8);
 $serial->confStopBits(1);
 $serial->confFlowControl("none");
 $serial->deviceOpen();
 $serial->sendMessage($color);
 $serial->deviceClose();
?>
где ttyUSB0 порт на котором "висит" arduino (у Вас это может быть другой порт, а для win систем соответственно COM). Для linux незабудьте выставить права на порт!!
Далее закидываем это всё на сервер и наслаждаемся результатом.

Все необходимые файлы и библиотеки есть в этом архиве
rgb.rar
(92.71 КБ) 747 скачиваний
RF модули пока ещё в пути так что пришлось довольствоваться пока таким вариантом. В планах заменить arduino на atmega8, добавить готовые цветовые preset'ы, различные световые эффекты и конечно же перевести это на беспроводное управление с подключением светодиодной ленты.

Вот как то так :)

dimonix
Сообщения: 368
Зарегистрирован: 19 фев 2012, 22:01
Откуда: Сколково

Re: RGB подсветка, уравляемая через браузер

Сообщение dimonix » 20 мар 2013, 16:51

посмотрите здесь http://code.google.com/p/codalyze/wiki/CyzRgb есть исходный код с профессиональной реализацией true color и различными эффектами (сценариями) для RGB светодиода. управление по i2c. в инете есть схемы простых адаптеров i2c, например tiny-usb.

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 20 мар 2013, 18:02

До профессиональных решений ещё далеко, за ссылку спасибо!

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 28 мар 2013, 14:05

Наконец-то пришли NFR24L01, вот что получилось
IMG_20130328_135034_2.jpg
IMG_20130328_135034_2.jpg (112.04 КБ) 29450 просмотров
IMG_20130328_135058_2.jpg
IMG_20130328_135058_2.jpg (106.93 КБ) 29450 просмотров

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение shemnik69 » 12 апр 2013, 16:43

Сразу к делу. У себе чуть не за забором оказывается есть фирма которая торгует вот этим http://www.elf-light.ru/catalog/rgb/ сегодня посмотрел на стендах как все это в деле покрутил сенсорные пульты... класс.
Заказал, вот это: http://www.elf-light.ru/catalog/rgb/usi ... ntrollera/ и поскольку на подходе Aрдуина. то то. что Вы продемонстрировали постараюсь ... не хорошо говорить украсть. но позаимствую .
Кстати. как реализована веб мордочка. Я подобную штуку хочу вживить в ОpenHAB. Там очень красиво это, можно реализовать, поскольку сам интерфейс в красочной форме можно подстроить под RGB ленту.
Кстати лента сейчас в детской белая. по контуру комнаты, а еще присмотрел вот это: http://www.elflight.ru/catalog/tapes_ru ... _MAGIC_RGB_/ параметры, подходят.
еще смотрел в силиконе, (RGB)! но ее! очень проблемно загибать под угол 90, когда делал в ванной (душевой) намучался, с пайкой и герметизацией ,,, :evil: Но там условия такие. Влага ... Радио Sild использовать не буду, все прекрасно спрячется в стене, или на чердаке, или междуэтажном проеме (15 см) у меня там все коммуникации идут.
Могу ли я обращаться к Вам с возникающими вопросами при реализации?

olegab
Сообщения: 1
Зарегистрирован: 12 апр 2013, 22:09

Re: RGB подсветка, уравляемая через браузер

Сообщение olegab » 12 апр 2013, 22:44

А как планируете усилить 5V выход ардуино?

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 12 апр 2013, 22:45

shemnik69 писал(а):Могу ли я обращаться к Вам с возникающими вопросами при реализации?
Конечно, для этого и есть этот форум!

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 12 апр 2013, 22:55

У себя пока поставил IRFZ44N, можно попробовать как реализовано в этом проекте

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение shemnik69 » 13 апр 2013, 22:55

olegab писал(а):А как планируете усилить 5V выход ардуино?
Я, заказал усилитель RGB сигнала.
А так,вариант который описан в ссылке выше тоже очень привлекает простотой, в понедельник напечатаю плату. К стати сама Ардуина, это не самый главный блок просто на ней реализовано программа обеспечивающая определенный уровень сигнала на каждом из выходов политры светодиодной ленты и можно это реализовать на любом МК.
В моем случае я представляю это так:
Программа OpenHAB позволяет прямое подключение устройств типа Ардуино, через WEB и остаётся только прописать сам графический сценарий т.е. подстроить отображаемое лентой цветовое сочетание с графическим на экране и двигая движком на экране менять цвета. Т.е. также как у maloicds, только на другом уровне, но! кто как хочет.

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 14 апр 2013, 12:11

shemnik69, схему RGB усилителя посмотите здесь, а здесь хороший форум по светодиодному освещению

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение shemnik69 » 15 апр 2013, 11:14

Спасибо! Из прежней ссылки про интеграцию в OpenHAB то вот здесь code.google.com/p/openhab/downloads/detail?name=openhab-demo-1.2.0.zip показано (внизу в ссылке на медиафайлы (самый низ) работа или пример взаимодействия с светодиодным светильником, тот же вариант только на основе RGB ленты я и рассматривал в качестве прототипа. Попробуем, посмотрим!

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 15 апр 2013, 14:10

Наконец то добрался до openhab'a, посмотрел как там реализованно управление RGB подсветкой (в плане интерфейса). Colorpicker реализован на базе jQuery MiniColors 2.0. В своей версии с Raphael я убрал всё лишнее (тот же ползунок для регулировки яркости который есть в openhab) чтоб продемонстрировать саму возможность выбора цвета для ленты.

shemnik69, хотелось бы посмотреть что получилось у Вас и есть ли какие идеи по дальнейшему развитию.

У себя оставил только сам colorpicker и ползунок с яркостью. Добавил кнопки RED, GREEN, BLUE и OFF

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение shemnik69 » 15 апр 2013, 14:48

Как только получу Ардуину, то буду творить, плату усилителя попробую изготовить сам. Заводской усилитель ждать??? ... быстрее сам соберёшь. OpenHAB изучаю день и ночь, поскольку написан "аддонн" для Бенукса и уже отлажен мобильный агент для планшета и мобилы. Т.е. то что и хотелось. Из идей есть такая: одну детскую оборудую RGB лентой (вариант уже выбран и практически приобретены основные комплектующие) управление намерен осуществлять от сервера по времени т.е. в соответствии с рекомендуемым (утро - вечер) для улучшения состояния. Еще в плане подсветка шкафа и кухни но это позже. Сейчас тепло все время во дворе... огород земля... так что по возможности или когда дождь :D. Что получится конечно постараюсь показать.
И еще! Вот здесь http://labkit.ru/html/autocontrol?id=420 описано то что можно использовать в качестве альтернативы Ардуино поскольку сам МК очень доступен.

С Уважением!

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 15 апр 2013, 15:52

Неплохо!
В качестве альтернативы openhab'у хочу использовать фреймворк jquery mobile т.к умный дом построен на базе 1-wire и всё управление реализовано с помощью php скриптов.

Насчёт идей я имел в виду реализацию интерфейса, эффекты и т.п

Ссылку видел, из той схемы как раз и взял выходной каскад. В модулях, где код маленький, использую Atmega8 (аля клон arduino). В данном случае пришлось оставить arduino т.к один канал ШИМ'а был задействован для NRF24

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение shemnik69 » 15 апр 2013, 16:40

Здесь,,, не совсем все просто, я практически не занимаюсь программированием т.е. именно как творческим процессом, немного не тот склад разума или еще что, я как таковой embedded, да. в программах разбираюсь, что как и куда, но чаще 9/10. свожу все к полному написанию ТЗ (техническое задание) и отдаю программистам с работы, для которых сотворить ЭТО на раз два, соответственно и результат быстрый. Но главное указать все что необходимо.
В основном мне ближе завершённые конструкции, где основные элементы основаны на типовых решениях, настройка которых практически не требуется поскольку это отнимает много времени, да и интерес теряется.
Также отмечу, что при добавлении нового элемента системы стараюсь максимально использовать уже существующие и работающие модули, поэтому скорее всего RGB лентой буду управлять по варианту предложенному на сайте LabKit.
Причин две, простота и независимость от сервера, поскольку моя концепция управляющей системы это простое управление (ручное +пульт+любое устройство(HID)+ компьютер (планшет) +сервер по программе+удаленное), а не полное управление от одного устройства, :idea: и кстати домашние предпочитают, все таки классический выключатель, чем что то еще!!!.
Кстати Atmega8 отличный вариант реализации этой системы.
Вообще, меня Ваша идея, подтолкнула на несколько вариантов, и как уже описывал: это детская, освещение шкафа (это большая конструкция в которой ТV и другие сопутствующие девайсы), цветовая подсветка лестницы (играл с датчиками присутствия, основанным на прерывании светового потока для идентификации по росту... :lol:), и как основной вариант еще кухня, тут вообще RGB лента просто класс и конечно вечерняя подсветка прихожей на плинтусных лентах малой яркости или отдельных RGB светильниках.

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 15 апр 2013, 17:03

Мне больше нравится планшет в стене с центром управления УД (так сказать all in one), благо китайцы сейчас выпускают массу дешевых и качественных девайсов, естественно телефон, "переносной планшет" и возможно keypad вместо обычных выключателей где каждая кнопка будет отвечать за определённое действие (группу действий).

Что какается данной темы - был бы рад услышать идеи и предложения и от других участников форума.

shemnik69
Сообщения: 338
Зарегистрирован: 20 дек 2012, 15:52
Откуда: Саратов Saratov
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение shemnik69 » 24 апр 2013, 08:16

Ну вот! Основные комплектующие приобретены. Ленты, в бухтах по 5 метров, 2 шт на комнату., контролер, усилитель (попробовал, и без него транзисторы не греются), блок питания уже был.
Управление от ИК пульта (в комплекте с контролером) и как вариант который очень понравился домашним это от ручки на подобии димера.
Идея взята из LabKit.ru.
Димер переделал, вместо резистора, от старой автомагнитолы взят энкодер, (новый стоит как сам димер!!!) его удобство в наличие кнопочной функции т.е. нажатие вдоль оси позволяет выполнять например включение и выключение.
Сама идея развилась далее, поскольку основное освещение выполнено на КЛЛ, то регулировка яркости не возможна или необходимы специальные лампы, как вариант через энкодер можно реализовать ступенчатое включение ламп т.е. 1-2-3-4-3-2-1-0 или любое другое. Думал это и на основе MK (можно потом менять прошивку под новые идеи) или на обычном реверсивном счетчике. На Макете Multisim 8 данный вариант гонял, единственное там отсутствует энкодер, как устройство (пришлось заменить кнопками). Управление от системы заложено, просто необходимо провести к месту расположения контроллера (он получился не совсем удобно расположеным из за длинных лент и наличия места для БП) витую пару от ближайшей розетки 1-ware (температурный датчик). Пока в связи с наступлением работ во дворе все это будет ... сильно заторможено.

maloicds
Сообщения: 86
Зарегистрирован: 28 сен 2012, 23:14
Откуда: МО, Подольск
Контактная информация:

Re: RGB подсветка, уравляемая через браузер

Сообщение maloicds » 24 апр 2013, 19:00

Ждём фото-видеоотчёт о проделанной работе.
Можно узнать марку транзисторов выходного каскада или схема от labkit.ru

Ответить