Управляющий ИК модуль для MajorDoMo
Модератор: immortal
-
- Сообщения: 143
- Зарегистрирован: Чт фев 06, 2014 9:32 pm
- Благодарил (а): 0
- Поблагодарили: 5 раз
Re: Управляющий ИК модуль для MajorDoMo
Ковыряние в репозитории winlirc, привело меня к следующим строкам в файле changes.txt:Vip писал(а): - управление железкой возможно из под WinLirc (http://sourceforge.net/projects/winlirc ... p/download) с дальнейшим задействованием- (http://www.bellinux.com/httpirc) она есть но у меня не заработала.1) бесплатной php библиотеки
Смысл php библиотеки в том что она отправляет на серевер WinLirc (TCP сокет по localhost:8765) пакет вида
<password> <НазваниеПультаИзФайлаКонфигурацииWinLirc> <НазваниеКнопкиПультаИзФайлаКонфигурацииWinLirc> <КолличествоПовторов>
Пароль устанавливается в реестре HKLM->SOFTWARE->LIRC и там Строковой параметр password="password"
и ниже: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
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Управляющий ИК модуль для MajorDoMo
Правильно ли я понял, что чёрная коробочка — это не только приёмник, но и передатчик?В теории пульт windows MCE умеет управлять техникой через ИК.
у меня так дома сделано. пульт в комплекте с передатчиком стоят пару десятков долларов. на ебее их куча. программ под windows Irserver (от mediaportal). Передает команды на исполнения через командную строку.
Само устройство имеет 2 отдельные выхода для управления ИК устройствами.
можно подключить неограниченное количество бластеров
как доп. плюс получаем красивый пульт и нативное управление ПК сервером.
По-подробнее можно? Что, как, куда.
-
- Сообщения: 143
- Зарегистрирован: Чт фев 06, 2014 9:32 pm
- Благодарил (а): 0
- Поблагодарили: 5 раз
Re: Управляющий ИК модуль для MajorDoMo
Спешу поделиться - эта 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 - и опаньки, наш телек заткнулся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"
Слегка рихтованная мною библиотека - .
Для Мажордома интересен будет только код в файле 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");
?>
-
- Сообщения: 143
- Зарегистрирован: Чт фев 06, 2014 9:32 pm
- Благодарил (а): 0
- Поблагодарили: 5 раз
Re: Управляющий ИК модуль для MajorDoMo
Набросал библиотеку для работы с LIRC-серверами - кладём в ../htdocs/lib/ и можно пользоваться в сценариях вызывая функцию send2lirc, например:
Проверено с WinLIRCом 0.9.0h - работает. Но почему-то нестабильно у меня ведёт себя Winlirc в связке с IRToy - виснет прога, отваливается бластер, перестаёт реагировать сервер... Настрою сеть на Irdroid, попробую с ним.
.send2lirc('192.168.1.7','8765','SEND_ONCE','BN59-00412','Pre-Ch',1)
Проверено с WinLIRCом 0.9.0h - работает. Но почему-то нестабильно у меня ведёт себя Winlirc в связке с IRToy - виснет прога, отваливается бластер, перестаёт реагировать сервер... Настрою сеть на Irdroid, попробую с ним.
-
- Сообщения: 143
- Зарегистрирован: Чт фев 06, 2014 9:32 pm
- Благодарил (а): 0
- Поблагодарили: 5 раз
Re: Управляющий ИК модуль для MajorDoMo
Проверил Irdroid целиком - настроил его роутер в качестве вайфай-клиента, залил в /etc свежий lirc.conf с кодами моего самсунга и вызывая заранее созданный скрипт http://127.0.0.1:80/objects/?script=lirc оттестировал управление телеком. В отличие от WinLIRCа - без нареканий. Очередь за MR-3020.
-
- Сообщения: 143
- Зарегистрирован: Чт фев 06, 2014 9:32 pm
- Благодарил (а): 0
- Поблагодарили: 5 раз
Re: Управляющий ИК модуль для MajorDoMo
Ура товарищи! После длительного "рихтования собственных рук", удачно кросскомпилировал 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:
Установил на роутер, также установил модули kmod-usb-acm, kmod-usb-ohci, kmod-usb-uhci (не уверен, что последние два нужны для лирка, но всё равно поставил), при этом уже стояли kmod-usb-core и kmod-usb2.
Создал скрипт запуска/останова /etc/init.d/lirc:
Создал симлинк на него S95lirc в каталоге /etc/rc.d, на всякий случай скопировал (из Irdroidа, не знаю правда зачем) в /etc/hotplug.d/usb/ файл 10-usb:#!/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
}
Залил свои пульты в /etc/lircd.conf, перезагрузил роутер, и вуаля, работает и скрипт из МДМ и клиент Amote на андроид-телефоне. Готовые пакеты LIRC для WRT (напоминаю, ревизия 37816) в аттаче, можно пользоваться. Пакеты LIRC прикидываются версией lirc-0.8.7, тогда как на самом деле соответствуют Trunk-ветке 0.9.1:#!/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
Re: Управляющий ИК модуль для MajorDoMo
Огромное спасибо! А то у меня так и ничего не получилось наваять.
Сегодня вечерком попробую протестирую
Сегодня вечерком попробую протестирую
Re: Управляющий ИК модуль для MajorDoMo
Решил перенести Ваш проект в модуль cyberwrt
Но для добавления Ваших пакетов в репозиторий, админ с форума cyber-place попросил фаил Pakages
Не поможете мне с этим файлом?
Но для добавления Ваших пакетов в репозиторий, админ с форума cyber-place попросил фаил Pakages
Не поможете мне с этим файлом?
-
- Сообщения: 143
- Зарегистрирован: Чт фев 06, 2014 9:32 pm
- Благодарил (а): 0
- Поблагодарили: 5 раз
Re: Управляющий ИК модуль для MajorDoMo
Полчасика терпения, перезагружусь в Юбунту (я сейчас на Дебиане agocontrol мучаю) и разберусь как его получить.spider писал(а):Решил перенести Ваш проект в модуль cyberwrt
Но для добавления Ваших пакетов в репозиторий, админ с форума cyber-place попросил фаил Pakages
Не поможете мне с этим файлом?
Кстати, на форуме AgoControl один из участников выложил ссылку на вариант этой системы для платформы Openwrt AR71xx (https://github.com/jsimonetti/agocontro ... t/releases). Я задал вопрос, может ли он работать под MR3020.