Управляющий ИК модуль для MajorDoMo

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

Модератор: immortal

Wave
Сообщения: 66
Зарегистрирован: Пн сен 02, 2013 4:40 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Управляющий ИК модуль для MajorDoMo

Сообщение Wave » Ср сен 04, 2013 8:33 pm

http://www.ebay.com/itm/IR-REPEATER-6-E ... 2ec961f7b9

вот еще интересный размножитель сигнала =)
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: Управляющий ИК модуль для MajorDoMo

Сообщение binladin » Сб фев 15, 2014 8:50 pm

Vip писал(а): - управление железкой возможно из под WinLirc (http://sourceforge.net/projects/winlirc ... p/download) с дальнейшим задействованием
1) бесплатной php библиотеки
- (http://www.bellinux.com/httpirc) она есть но у меня не заработала.
Смысл php библиотеки в том что она отправляет на серевер WinLirc (TCP сокет по localhost:8765) пакет вида
<password> <НазваниеПультаИзФайлаКонфигурацииWinLirc> <НазваниеКнопкиПультаИзФайлаКонфигурацииWinLirc> <КолличествоПовторов>
Пароль устанавливается в реестре HKLM->SOFTWARE->LIRC и там Строковой параметр password="password"
Ковыряние в репозитории winlirc, привело меня к следующим строкам в файле changes.txt:
new in version 0.6.5
--------------------
Added support for all documented aspects of the LIRC TCP/IP protocol,
except that SEND_START and SEND_STOP are not supported. For full
compatibility, set the transmit password to "SEND_ONCE"
. The password
is no longer case sensitive.
и ниже:
new in version 0.6.1pre3
-------------------------------
...
You can now tell WinLIRC to transmit codes from the TCP/IP port
The format is:
password remotename codename reps
(just like transmit.exe, but with a password in front). To enable this, you need to use regedit to add a key software\LIRC\password it should be a string that contains no spaces or tabs. If the password key is not set, or the password is wrong WinLIRC won't accept commands from the TCP interface
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Управляющий ИК модуль для MajorDoMo

Сообщение Alex » Сб фев 15, 2014 10:56 pm

В теории пульт windows MCE умеет управлять техникой через ИК.
у меня так дома сделано. пульт в комплекте с передатчиком стоят пару десятков долларов. на ебее их куча. программ под windows Irserver (от mediaportal). Передает команды на исполнения через командную строку.
Само устройство имеет 2 отдельные выхода для управления ИК устройствами.
можно подключить неограниченное количество бластеров
как доп. плюс получаем красивый пульт и нативное управление ПК сервером.
Правильно ли я понял, что чёрная коробочка — это не только приёмник, но и передатчик?

По-подробнее можно? Что, как, куда.
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: Управляющий ИК модуль для MajorDoMo

Сообщение binladin » Вт фев 18, 2014 10:48 pm

Vip писал(а): - управление железкой возможно из под WinLirc (http://sourceforge.net/projects/winlirc ... p/download) с дальнейшим задействованием
1) бесплатной php библиотеки - (http://www.bellinux.com/httpirc) она есть но у меня не заработала. Смысл php библиотеки в том что она отправляет на серевер WinLirc (TCP сокет по localhost:8765) пакет вида
<password> <НазваниеПультаИзФайлаКонфигурацииWinLirc> <НазваниеКнопкиПультаИзФайлаКонфигурацииWinLirc> <КолличествоПовторов>
Пароль устанавливается в реестре HKLM->SOFTWARE->LIRC и там Строковой параметр password="password"
Спешу поделиться - эта PHP-библиотека отлично работает ! Всё что нужно сделать: установить пароль в ветке реестра HKLM->SOFTWARE->LIRC в значение равное password="SEND_ONCE" и тот же пароль прописать в файле библиотеки send.php в переменной $password (там же указать адрес и порт на котором будет крутиться WinLIRC/LIRC). А далее, просто запускаем WinLIRC, библиотеку telecomando распаковываем в htdocs, переходим в http://127.0.0.1/telecomando/, создаем пульт (с именем совпадающим с таковым в ВинЛирке), создаём ряды кнопок, нажимаем их, идёт запрос типа http://127.0.0.1/telecomando/send.php?b ... BN59-00412, который вызывает функцию socket_write - и опаньки, наш телек заткнулся :D

Слегка рихтованная мною библиотека -
telecomando.rar
Переведённая с итальянского на русско-английский PHP-библиотека
(7.95 КБ) 269 скачиваний
.
Для Мажордома интересен будет только код в файле send.php:
<?
//HttpIrda v0.1 IR over HTTP
//Copyright (C) <2006> <Alessio Bellino>
?>

<?
$password='SEND_ONCE'; //lirc.winlirc пароль: для работоспособности, оставте как есть SEND_ONCE
$button=$_GET['button'];
$telecomand=$_GET['telecmd'];
$service_port = '8765';
$address = '192.168.1.7';

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
echo "socket_create() error: ".socket_strerror($socket);
}
$result = socket_connect($socket, $address, $service_port);
if ($result < 0) {
echo "socket_connect() error:($result)".socket_strerror($result);
}
$in="$password $telecomand $button \n";
socket_write($socket, $in, strlen ($in));
echo $socket, $in, strlen ($in);
socket_close($socket);
include("$telecomand.htm");

?>
Может кто-то написать нормальное приложение или как-то иначе добавть функционал ПДУ в проект ? А то я ещё не очень резво ориентируюсь в нём.
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: Управляющий ИК модуль для MajorDoMo

Сообщение binladin » Сб фев 22, 2014 1:04 am

Набросал библиотеку для работы с LIRC-серверами - кладём в ../htdocs/lib/ и можно пользоваться в сценариях вызывая функцию send2lirc, например:
send2lirc('192.168.1.7','8765','SEND_ONCE','BN59-00412','Pre-Ch',1)
.

Проверено с WinLIRCом 0.9.0h - работает. Но почему-то нестабильно у меня ведёт себя Winlirc в связке с IRToy - виснет прога, отваливается бластер, перестаёт реагировать сервер... Настрою сеть на Irdroid, попробую с ним.
send2lirc.rar
(461 байт) 292 скачивания
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: Управляющий ИК модуль для MajorDoMo

Сообщение binladin » Пн фев 24, 2014 8:07 pm

Проверил Irdroid целиком - настроил его роутер в качестве вайфай-клиента, залил в /etc свежий lirc.conf с кодами моего самсунга и вызывая заранее созданный скрипт http://127.0.0.1:80/objects/?script=lirc оттестировал управление телеком. В отличие от WinLIRCа - без нареканий. Очередь за MR-3020.
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: Управляющий ИК модуль для MajorDoMo

Сообщение binladin » Чт фев 27, 2014 8:12 pm

Ура товарищи! После длительного "рихтования собственных рук", удачно кросскомпилировал LIRC с патчем для usb_irtoy под роутер TPLink TL-MR3020 на прошивке CyberWRT v.1.4 (билд @37816).

Установил на роутер, также установил модули kmod-usb-acm, kmod-usb-ohci, kmod-usb-uhci (не уверен, что последние два нужны для лирка, но всё равно поставил), при этом уже стояли kmod-usb-core и kmod-usb2.

Создал скрипт запуска/останова /etc/init.d/lirc:
#!/bin/sh /etc/rc.common
# Copyright (C) 2007 OpenWrt.org

START=95

start() {

# commands to launch application
# in case your lirc dev points are not created automatically, the next
# line will create them.
test -c /var/run/lirc || (mkdir -p -- . /var/run/lirc && /bin/mknod /var/run/lirc c 61 0)
# echo -n "Starting lirc daemon: lircd '\n'"

nice -n -10 /usr/sbin/lircd --device=/dev/ttyACM0 --listen=0.0.0.0:8765

}

stop() {

#echo -n "Stopping lirc daemon: lircd\n"
killall -sigkill lircd

}
Создал симлинк на него S95lirc в каталоге /etc/rc.d, на всякий случай скопировал (из Irdroidа, не знаю правда зачем) в /etc/hotplug.d/usb/ файл 10-usb:
#!/bin/sh
# Copyright (C) 2009 OpenWrt.org

case "$ACTION" in
add)
# update LEDs
/etc/init.d/./lirc start
;;
remove)
# update LEDs
/etc/init.d/./lirc stop
;;
esac
Залил свои пульты в /etc/lircd.conf, перезагрузил роутер, и вуаля, работает и скрипт из МДМ и клиент Amote на андроид-телефоне. Готовые пакеты LIRC для WRT (напоминаю, ревизия 37816) в аттаче, можно пользоваться. Пакеты LIRC прикидываются версией lirc-0.8.7, тогда как на самом деле соответствуют Trunk-ветке 0.9.1:
lirc_irtoy_mr3020_cyberwrt_v1.4.zip
(109.8 КБ) 295 скачиваний
spider
Сообщения: 17
Зарегистрирован: Вс фев 23, 2014 7:05 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Управляющий ИК модуль для MajorDoMo

Сообщение spider » Пт фев 28, 2014 11:05 am

Огромное спасибо! А то у меня так и ничего не получилось наваять.
Сегодня вечерком попробую протестирую
spider
Сообщения: 17
Зарегистрирован: Вс фев 23, 2014 7:05 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Управляющий ИК модуль для MajorDoMo

Сообщение spider » Пн мар 03, 2014 11:50 am

Решил перенести Ваш проект в модуль cyberwrt
Но для добавления Ваших пакетов в репозиторий, админ с форума cyber-place попросил фаил Pakages
Не поможете мне с этим файлом?
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: Управляющий ИК модуль для MajorDoMo

Сообщение binladin » Пн мар 03, 2014 7:03 pm

spider писал(а):Решил перенести Ваш проект в модуль cyberwrt
Но для добавления Ваших пакетов в репозиторий, админ с форума cyber-place попросил фаил Pakages
Не поможете мне с этим файлом?
Полчасика терпения, перезагружусь в Юбунту (я сейчас на Дебиане agocontrol мучаю) и разберусь как его получить.
Кстати, на форуме AgoControl один из участников выложил ссылку на вариант этой системы для платформы Openwrt AR71xx (https://github.com/jsimonetti/agocontro ... t/releases). Я задал вопрос, может ли он работать под MR3020.
Ответить