управление RGB лентами
Модератор: immortal
- Kutuzoff
- Сообщения: 14
- Зарегистрирован: Пт ноя 20, 2015 1:43 pm
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: управление RGB лентами
directman66 спасибо, на сцены получилось разместить. Только почему то встало вот так:
- Вложения
-
- Безымянный.png (927.32 КБ) 4694 просмотра
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: управление RGB лентами
Видимо нужно поиграть с со значениями left top скрипте. По моему кнопка еще не дописана (нет подписки OnCLick). Честно не помню уже, пока проверить нет возможности.
Также для таких элементов предлагаю проголосовать за маркет элементов сцены. Ссылка для голосования https://connect.smartliving.ru/tasks/1.html
зыж А в чем рендер рисовали?
Также для таких элементов предлагаю проголосовать за маркет элементов сцены. Ссылка для голосования https://connect.smartliving.ru/tasks/1.html
зыж А в чем рендер рисовали?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- Kutuzoff
- Сообщения: 14
- Зарегистрирован: Пт ноя 20, 2015 1:43 pm
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: управление RGB лентами
Если мне не изменяет память Sweet Home 3D называлась программаА в чем рендер рисовали?
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: управление RGB лентами
Установили? Будем код переносить с python на php? Нет никакого смысла шить альтернативные прошивки. При наличии готового протокола управления.
Анализируя код https://connect.smartliving.ru/profile/1502/blog61.html
1) сканируем сеть на наличие устройств
СпойлерПоказать
Код: Выделить всё
$ip = "255.255.255.255";
$port = 48899;
$str = 'HF-A11ASSISTHREAD';
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
socket_sendto($sock, $str, strlen($str), 0, $ip, $port);
socket_recvfrom($sock, $buf, 20, 0, $ip, $port);
echo "Messagge : < $buf > , $ip : $port <br>";
socket_close($sock);
< 192.168.1.82,A020A61 > , 192.168.1.82 : 48899
2) Установить кастомный свет:
СпойлерПоказать
из кода на python
Код: Выделить всё
def setCustomPattern(self, rgb_list, speed, transition_type):
# truncate if more than 16
if len(rgb_list) > 16:
print "too many colors, truncating list"
del rgb_list[16:]
# quit if too few
if len(rgb_list) == 0:
print "no colors, aborting"
return
msg = bytearray()
first_color = True
for rgb in rgb_list:
if first_color:
lead_byte = 0x51
first_color = False
else:
lead_byte = 0
r,g,b = rgb
msg.extend(bytearray([lead_byte, r,g,b]))
# pad out empty slots
if len(rgb_list) != 16:
for i in range(16-len(rgb_list)):
msg.extend(bytearray([0, 1, 2, 3]))
msg.append(0x00)
msg.append(utils.speedToDelay(speed))
if transition_type =="gradual":
msg.append(0x3a)
elif transition_type =="jump":
msg.append(0x3b)
elif transition_type =="strobe":
msg.append(0x3c)
else:
#unknown transition string: using 'gradual'
msg.append(0x3a)
msg.append(0xff)
msg.append(0x0f)
self.__write(msg)
def __writeRaw(self, bytes):
self.socket.send(bytes)
def __write(self, bytes):
# calculate checksum of byte array and add to end
csum = sum(bytes) & 0xFF
bytes.append(csum)
#print "-------------",utils.dump_bytes(bytes)
self.__writeRaw(bytes)
#time.sleep(.4)
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: управление RGB лентами
опа, протокол то очень похож на mi-light https://majordomo.smartliving.ru/forum/ ... EAD#p49056
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- ebramariys
- Сообщения: 34
- Зарегистрирован: Вс апр 15, 2018 1:26 pm
- Откуда: Харьков
- Благодарил (а): 18 раз
- Поблагодарили: 3 раза
Re: управление RGB лентами
Доброго времени ссуток Покопался,но так и не смог понять,как реализовать данное решение под вариант сервера Мажорика на Windows.Так же не совсем понятны ip-адреса в коде,где,чьи-192.168.1.100 в файле питона чей и 192.168.1.16- в методе onchange? И как тогда правильно прописать строку вызова для винды,вот эту - $cmd="python /home/pi/flux_led.py"; ? Извините,если вопросы тупые
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: управление RGB лентами
Все адреса в коде - адреса контроллера. Вообще я его запрашиваю из переменной, которая заполняется линукс командой arp.
Под windows python код должен работать аналогично. Проверьте, чтобы python был доступен из любого места и попробуйте вызвать скрипт из командной строки или far.
зыж Плагин mi-light не подошел. Видимо на его основе можно будет сделать аналогичный для этого контроллера. Стоит в далеких планах.
Под windows python код должен работать аналогично. Проверьте, чтобы python был доступен из любого места и попробуйте вызвать скрипт из командной строки или far.
зыж Плагин mi-light не подошел. Видимо на его основе можно будет сделать аналогичный для этого контроллера. Стоит в далеких планах.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- ebramariys
- Сообщения: 34
- Зарегистрирован: Вс апр 15, 2018 1:26 pm
- Откуда: Харьков
- Благодарил (а): 18 раз
- Поблагодарили: 3 раза
Re: управление RGB лентами
Извините,просто в питоне совсем ни гу-гу.На апельсине все заработало. На виндеdirectman66 писал(а): ↑Пн апр 16, 2018 12:04 pmВсе адреса в коде - адреса контроллера. Вообще я его запрашиваю из переменной, которая заполняется линукс командой arp.
Под windows python код должен работать аналогично. Проверьте, чтобы python был доступен из любого места и попробуйте вызвать скрипт из командной строки или far.
зыж Плагин mi-light не подошел. Видимо на его основе можно будет сделать аналогичный для этого контроллера. Стоит в далеких планах.
C:\WINDOWS\system32>python /_majordomo/htdocs/flux_led.py 192.168.1.115 -c 18,52,221
File "/_majordomo/htdocs/flux_led.py", line 118
print ''.join('{:02x} '.format(x) for x in bytearray(bytes))
^
SyntaxError: invalid syntax
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: управление RGB лентами
для винды команду print можно и закоментировать )
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- ebramariys
- Сообщения: 34
- Зарегистрирован: Вс апр 15, 2018 1:26 pm
- Откуда: Харьков
- Благодарил (а): 18 раз
- Поблагодарили: 3 раза
Re: управление RGB лентами
Попробовал.Начало выдавать ошибки на каждое print в файле и если только print комментировать-на все ближайшие строки кода дает ошибку. Дошел до 1189 строки и бросил,ибо получается вырезанным куча кода.