Блок Roku может управляться извне с помощью простой службы RESTful, доступ к которой осуществляется через протокол http на порту 8060, посмотреть здесь. Команды, которые мне нужно выполнить, отправляются через POST без тела. Они предоставляют примеры curl командной строки, например:
$ curl -d '' http://192.168.1.134:8060/keypress/home
Мне нужно написать это как PHP-скрипт, который будет выполнять ряд действий: нажатие клавиши / home, запуск / appid, нажатие клавиши / выбор, нажатие клавиши / вправо, нажатие клавиши / вправо, нажатие клавиши / выбор.
Смотрите ниже, что я придумал для одной команды. Два вопроса:
1) Мой Року не отвечает на это, так что я делаю не так?
2) Как лучше всего отправить несколько запросов POST один за другим?
<?php
$ch = curl_init('http://192.168.1.134:8060/keypress/home');
$data = '';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
?>
То, как вы пытаетесь это сделать, ваш веб / PHP-сервер должен иметь прямой доступ к вашему Roku, что обычно не так. Находится ли сервер в той же сети 192.168.1. *?
Пытаться http://remoku.tv/ чтобы узнать, можно ли напрямую управлять вашим Roku из браузера.
Я нашел лучший способ сделать это, на стороне клиента с помощью JavaScript.
<script>
function post1() {
xhr = new XMLHttpRequest();
xhr.onload=function()
{
alert(xhr.responseText);
}
xhr.open("POST", "http://192.168.1.134:8060/keypress/home");
xhr.send();
}
</script>
<body onload="post1()">