Здравствуйте, форумчане!
Достался мне вот такой девайс GlobalCahe (WiFi to IR: WF2IR), для управления АV, ТВ по ИК каналу.
Подскажите, как мне отправить на него ИК команду из MJD по нажатию на созданную кнопку в меню.
Оборудование имеет IP адрес и порт по которому взаимодействует.
Формат команды для отправки ИК сигнала, судя по спецификации API iTach (можно посмотреть по ссылке https://yadi.sk/d/LgJHdLiehswrNg):
sendir, 1: 2,2445,40000,1,1,4,5,4,5,8,9,4,5,8,9,8,9
Помогите пожалуйста!
Нужна помощь по подключению оборудования GlobalCahe (WiFi to IR: WF2IR)
Модератор: immortal
Нужна помощь по подключению оборудования GlobalCahe (WiFi to IR: WF2IR)
Здравствуйте!
Вот нашел еще информацию.
Вот так отправка команд реализовано в iRidium (источник https:()//dev.iridi.com/Global_Cache/ru):
Цитата:
ИК команды можно отправить через JavaScript. Используйте для отправки метод .Set и .Send из Drivers API:
var device = IR.GetDevice("Global Cache");
var CommandString = 'sendir,1:1,1,36127,1,1,96,31,17,16,16,16,16,32,16,32,49,32,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,17,16,16,16,16,16,32,16,16,16,16,16,16,16,16,32,32,16,16,16,16,16,16,16,16,32,17,16,16,16,16,16,32,16,4624';
var CommandName = "COMMAND";
IR.AddListener(IR.EVENT_ONLINE , device, function()
{
device.Set(CommandName, ""); // .Set command by name
device.Send([CommandString,0x0D]); // .Send command as string
});
Оформление ИК команды для метода Send подробно описано в iTach API.
P.S.
Помогите, адаптировать данное решение к MJD!
Вот нашел еще информацию.
Вот так отправка команд реализовано в iRidium (источник https:()//dev.iridi.com/Global_Cache/ru):
Цитата:
ИК команды можно отправить через JavaScript. Используйте для отправки метод .Set и .Send из Drivers API:
var device = IR.GetDevice("Global Cache");
var CommandString = 'sendir,1:1,1,36127,1,1,96,31,17,16,16,16,16,32,16,32,49,32,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,17,16,16,16,16,16,32,16,16,16,16,16,16,16,16,32,32,16,16,16,16,16,16,16,16,32,17,16,16,16,16,16,32,16,4624';
var CommandName = "COMMAND";
IR.AddListener(IR.EVENT_ONLINE , device, function()
{
device.Set(CommandName, ""); // .Set command by name
device.Send([CommandString,0x0D]); // .Send command as string
});
Оформление ИК команды для метода Send подробно описано в iTach API.
P.S.
Помогите, адаптировать данное решение к MJD!
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1754 раза
- Контактная информация:
Re: Нужна помощь по подключению оборудования GlobalCahe (WiFi to IR: WF2IR)
Это лишь верхний уровень. На нижнем полноценная JS-библиотека, которая и реализует весь протокол обмена.
Парой-тройкой строчек на PHP интеграцию не сделать. Нужно писать полноценную PHP-библиотеку, которая реализует протокол работы с WF2IR.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Нужна помощь по подключению оборудования GlobalCahe (WiFi to IR: WF2IR)
Так в принципе если знаете что отправлять то через сокет попробуйте отправку. Подсматривал на джава - тут - https://github.com/estbeetoo/globalcache/
Чтото типа этого
Код: Выделить всё
// Default command
function sendcommand($command, $parameter) {
$this->reset_properties();
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if($socket === false) {
$this->success = FALSE;
$this->message = socket_strerror(socket_last_error());
$this->message = iconv('CP1251', 'UTF-8', $this->message);
} else {
$result = @socket_connect($socket, $IPDEVICE, 4998);
if($result === false) {
$this->success = FALSE;
$this->message = socket_strerror(socket_last_error($socket));
$this->message = iconv('CP1251', 'UTF-8', $this->message);
} else {
$packet = $command.(strlen($parameter)?':'.$parameter:'');
socket_write($socket, $packet, strlen($packet));
$this->success = TRUE;
$this->message = 'OK';
}
socket_close($socket);
}
return $this->success;
}
Спасибо нам ПОМОЖЕТ..!