Страница 1 из 1

Нужна помощь по подключению оборудования GlobalCahe (WiFi to IR: WF2IR)

Добавлено: Чт окт 29, 2020 7:50 pm
AVB
Здравствуйте, форумчане!

Достался мне вот такой девайс 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)

Добавлено: Вт ноя 03, 2020 9:35 am
AVB
Здравствуйте!

Вот нашел еще информацию.
Вот так отправка команд реализовано в 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!

Re: Нужна помощь по подключению оборудования GlobalCahe (WiFi to IR: WF2IR)

Добавлено: Вт ноя 03, 2020 10:47 am
skysilver
AVB писал(а):
Вт ноя 03, 2020 9:35 am
Вот так отправка команд реализовано в iRidium (источник https:()//dev.iridi.com/Global_Cache/ru):
Это лишь верхний уровень. На нижнем полноценная JS-библиотека, которая и реализует весь протокол обмена.

Парой-тройкой строчек на PHP интеграцию не сделать. Нужно писать полноценную PHP-библиотеку, которая реализует протокол работы с WF2IR.

Re: Нужна помощь по подключению оборудования GlobalCahe (WiFi to IR: WF2IR)

Добавлено: Вт ноя 03, 2020 11:34 am
tarasfrompir
skysilver писал(а):
Вт ноя 03, 2020 10:47 am
AVB писал(а):
Вт ноя 03, 2020 9:35 am
Вот так отправка команд реализовано в iRidium (источник https:()//dev.iridi.com/Global_Cache/ru):
Это лишь верхний уровень. На нижнем полноценная JS-библиотека, которая и реализует весь протокол обмена.

Парой-тройкой строчек на PHP интеграцию не сделать. Нужно писать полноценную PHP-библиотеку, которая реализует протокол работы с 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;
	}