Controlando la Raspberry Pi desde el móvil

Hoy os voy a poner un post de los que me gustan, son sencillísimos y quedan chulísimos! Poço, si tenemos algum Raspberry Pi y temos algum comando que queremos que se pueda executar facilmente desde el móvil como encender alguma luz de casa, o mudar um canal de TV de nuestro Kodi, Esta é a sua postagem! Facil, Simples e familiar!

 

Manejar-Raspberry-por-Web-00-Bujarra

O que eu disse, si tenemos algún script por ahí y queremos poder executar desde qualquer dispositivo móvil (Ios, Andróide…) o desde qualquer navegador… lo primero será tener instalado Apache2 y criar um arquivo PHP, un JS y subir una imagem PNG para el icono. Al pulsar desde el navegador el botón ON que saldrá en la web executará el arquivo .sh que digamos, lo que haremos será 'añadir a la tela de inicio’ said acceso directo a esa URL y el móvil bien el iPhone/iPad/Androide nos criará uma app com o ícone, que o pulsarlo executará o nosso programa na Pi.

 

Os dejo unos ecranzos de mi móvel de como se pode controlar qualquer canal de TV, qualquer dispositivo que tengamos, como encender/apagar la calefacción, Subir/Bajar las Persianas, Encender/Apagar/Regular Las Luces de la Casa, Encender/Apagar la Alarma…

 

O que eu disse, Primeiro instalaremos os requisitos:

[Código-fonte]sudo apt-get install apache2 php5 libapache2-mod-php5[/Código-fonte]

 

Cambiaremos el usuario que ejecutará apache2 (opcional, Recordamos que o hice para los comandos que llevan audio), editamos el fichero '/etc/apache2/envvars', corrigiendo el usuario:

[Código-fonte]export APACHE_RUN_USER=pi
export APACHE_RUN_GROUP=pi[/Código-fonte]

 

E reiniciamos o Apache:

[Código-fonte]sudo /etc/init.d/apache2 restart[/Código-fonte]

 

Os paso un par de archivos, un PHP y un JS, ahora que los documentos también veo lineas que sobran, si queréis las corregís 😉 si no, da igual que os funcionará también! Este archivo PHP es un formulario que al pulsar el boton “On” ejecutará el script '/home/pi/la6_enciende.sh’ que veréis más adelante que pone La Sexta en mi TV. Todo ello, obviamente en '/var/www/':

la6.php

[Código-fonte]
<HTML>
<head>
<título>Domotica casa</título>
<link rel="stylesheet" type="text/css" href="./css/style.css" />
<link rel="apple-touch-icon" href="la6.png">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></roteiro>
<script src="./amcharts/amcharts.js" type="text/javascript"></roteiro>
<script type="text/javascript" src="./js/common.js"></roteiro>
<script type="text/javascript" src="la6.js"></roteiro>
</head>
<body>
<form id="relay" action="remote_relay.php" method="GET">
<input type="hidden" name="total" id="total" value="">
<input type="button" id="La6submitOn" style="border:1px solid #000; font-size:40Px;" value="On" onClick="La6relayOn()"/>
</form>
<?php

$state = $_GET["total"];

se ($state == "La6on"){
exec("/home/pi/la6_enciende.sh");
}
?>
<script type=’text/javascript’>
self.close();
</roteiro>
</body>
</HTML>
[/Código-fonte]

la6.js

[Código-fonte]window.onload = function(){
buttonOff = document.getElementById(‘La6submitOn’);
buttonOff.onClick = La6relayOn;
}

function La6relayOn(){

hidden = document.getElementById("total");
hidden.value = "La6on";

form = document.getElementById("relay");
form.method = "GET";
form.action = "la6.php";
form.submit();
}[/Código-fonte]

Nada mau, com isto já temos a possibilidade de executar qualquer script das nossas Raspberrys a partir de qualquer telemóvel de uma forma agradável para o resto da família 😉 Lembrem-se de colocar o ficheiro PNG com o ícone que querem que apareça!

Uma coisa, o site PHP tem 3 linhas que deverão comentar à primeira vez! Uma vez que a ideia do site PHP é que ao carregar a partir do telemóvel e abrir-se, execute o comando e depois o site se feche automaticamente para não ficar residual no navegador do telemóvel. E se não a comentarmos, não conseguiremos da primeira vez adicioná-la como app ao ‘Ambiente de Trabalho’ del móvil ya que se cerrará y no nos dará tiempo! Portanto: Comentamos > La anclamos en pantalla de Inicio > Descomentamos. Líneas en cuestión:

[Código-fonte]#&Tenente;script type=’text/javascript’&Gt;
# self.close();
#&Tenente;/roteiro&Gt;[/Código-fonte]

 

Que nos queda? Algo interessante, si tenemos Kodi y tenemos el remoto habilitado, sabremos que podemos manejarlo con aplicaciones tipo: Kodi Remote, Yatse, Kore… podemos con JSON administrarlo igual forma desde la shell de nuestra Pi, y criarnos un script que execute lo que queramos como es mudar a un canal de TV, mudar el idioma de la TV, grabar la TV…

 

Manejar-Raspberry-por-Web-01-Bujarra

Lo primero será saber qué está mandando nuestra app de iOS/Android al Kodi, por isso, desde un PC escucharemos el puerto 9090 de Kodi, para ver qué le manda nuestro Yatse, Kodi Remote… así que executamos:

[Código-fonte]nc DIRECCION_IP_RASPBERRY 9090[/Código-fonte]

Y esperamos…

 

Manejar-Raspberry-por-Web-02-Bujarra

Teniendo netcat a la escucha, ya podremos pulsar el canal que querramos desde nuestra app del móvil y en pantalla, el nc nos sacará el comando que necesitaremos ejecutar posteriormente, o al menos una ayuda para saber el ID de cada canal de TV!

En mi caso pues, para poner La Sexta tendré que ejecutar el siguiente comando:

[Código-fonte]echo ‘{"id":1,"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"channelid":93}}}’ | nc 192.168.1.200 9090[/Código-fonte]

 

Ejemplo de parar TV:

[Código-fonte]echo ‘{ "id": 1, "jsonrpc": "2.0", "method": "Player.Stop", "params": { "playerid": 1 } }’ | nc 192.168.1.200 9090[/Código-fonte]

Ejemplo para cambiar el audio de la TV para que practiquemos el inglés!

[Código-fonte]echo ‘{"jsonrpc": "2.0", "method": "Player.SetAudioStream", "params": { "playerid": 1, "stream": "next"}, "id": 1}’ | nc 192.168.1.200 9090[/Código-fonte]

 

Etc, etc… guardamos dicho comando en un archivo .sh que podremos ejecutar al abrir la web PHP desde nuestro móvil! Desfrutar!

 

Postagens recomendadas

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Não hesite em contactar-me, Vou tentar ajudá-lo sempre que puder, Compartilhar é viver ;) . Desfrute de documentos!!!