
Contrôler le Raspberry Pi depuis votre mobile
Aujourd’hui, je vais mettre un post de ceux que j’aime, Ils sont très simples et ont l’air très cool! Puits, si nous avons un Raspberry Pi et que nous avons une commande que nous voulons exécuter facilement depuis le mobile, comme allumer une lumière de maison, ou changer de chaîne de télévision sur notre Kodi, Ceci est votre message! Facile, Simple et familial!
Ce que j’ai dit, Si nous avons un script et que nous voulons pouvoir l’exécuter à partir de n’importe quel appareil mobile (Ios, Androïde…) ou depuis n’importe quel navigateur… la première chose à faire sera d’avoir installé Apache2 et de créer un fichier PHP, un JS et téléchargez une image PNG pour l’icône. Lorsque vous appuyez sur le bouton ON du navigateur qui apparaîtra sur le Web, il exécutera le fichier .sh nous disons, Ce que nous allons faire, c’est « Ajouter à l’écran d’accueil »’ ce raccourci vers cette URL et le mobile soit l’iPhone/iPad/Android créera une application avec l’icône, qui, lorsqu’il est pressé, exécutera notre programme sur le Pi.
Je vous laisse quelques captures d’écran de mon téléphone portable sur la façon dont vous pouvez contrôler n’importe quelle chaîne de télévision, tout appareil que nous possédons, Comment allumer/éteindre le chauffage, Lever/Abaisser les stores, Allumer/éteindre/tamiser les lumières de la maison, Activer/désactiver l’alarme…
Ce que j’ai dit, Nous installerons d’abord les exigences:
[Code source]sudo apt-get install apache2 php5 libapache2-mod-php5[/Code source]
Nous allons changer l’utilisateur qui exécutera apache2 (optionnel, Il me semble me souvenir que je l’ai fait pour les commandes qui transportent de l’audio), Nous modifions le fichier '/etc/apache2/envvars', Correction de l’utilisateur:
[Code source]Exportation APACHE_RUN_USER=pi
Exportation APACHE_RUN_GROUP=pi[/Code source]
Et nous avons redémarré Apache:
[Code source]sudo /etc/init.d/apache2 redémarrer[/Code source]
Voici quelques fichiers, un PHP et un JS, Maintenant que je les documente, je vois aussi des lignes qui restent, Si vous le souhaitez, vous pouvez les corriger 😉 si vous ne le faites pas, Peu importe que cela fonctionne aussi pour vous! Este archivo PHP es un formulario que al pulsar el boton “Sur” ejecutará el script '/home/pi/la6_enciende.sh’ que veréis más adelante que pone La Sexta en mi TV. Tout cela, obviamente fr '/var/www/':
la6.php
[Code source]
<HTML>
<tête>
<titre>Domotica casa</titre>
<link rel="feuille de style" type="texte/css" href="./css/style.css" />
<link rel="apple-touch-icon" href="la6.png »>
<meta http-equiv="Type-de-contenu" content="texte/html;charset=UTF-8">
<script src="http://code.jquery.com/jquery-1.9.1.min.js »></script>
<script src="./amcharts/amcharts.js" type="texte/javascript »></script>
<script type="texte/javascript" src= »./js/common.js »></script>
<script type="texte/javascript" src="la6.js »></script>
</tête>
<corps>
<form id="relais" action="remote_relay.php" method="OBTENIR »>
<input type="Caché" name="total" id="total" valeur=" »>
<input type="bouton" id="La6submitOn" style="bordure:1px solide #000; taille_police:40Px;" value="Sur" onClick="La6relayOn()"/>
</Forme>
<?php
$état = _GET $[« total »];
si ($state == « La6on »){
Exec(« /accueil/pi/la6_enciende.sh »);
}
?>
<script type='texte/javascript'>
self.close();
</script>
</corps>
</HTML>
[/Code source]
la6.js
[Code source]window.onload = fonction(){
buttonOff = document.getElementById('La6submitOn');
buttonOff.onClick = La6relayOn;
}
fonction La6relayOn(){
hidden = document.getElementById(« total »);
hidden.value="La6on »;
form = document.getElementById(« relais »);
form.method = « OBTENIR »;
form.action="la6.php »;
formulaire.soumettre();
}[/Code source]
Pas mal, avec cela, nous avons déjà la possibilité d’exécuter n’importe quel script de nos Raspberrys depuis n’importe quel mobile de manière agréable pour le reste de la famille 😉 N’oubliez pas de mettre le fichier PNG avec l’icône que vous voulez voir!
Une chose, le site web PHP a 3 lignes que vous devrez commenter la première fois! Puisque l’idée du site Web PHP est que lorsque vous cliquez depuis le téléphone mobile et que vous l’ouvrez,, Exécutez la commande, puis le site Web se ferme automatiquement afin de ne pas être laissé résiduel dans le navigateur mobile. Et si nous ne le commentons pas, nous ne pourrons pas l’ajouter en tant qu’application à la’ du mobile puisqu’il se fermera et ne nous laissera pas le temps! Ainsi: Discuté > Nous l’épinglons à l’écran d’accueil > Nous décommentons. Lignes en question:
[Code source]#≪script type='texte/javascript'≫
# self.close();
#≪/script≫[/Code source]
Que nous reste-t-il ?? Quelque chose d’intéressant, si nous avons Kodi et que l’accès à distance est activé, Nous saurons que nous pouvons le gérer avec des applications telles que: Télécommande Kodi, Yacht, Coré… nous pouvons le gérer avec JSON de la même manière depuis le shell de notre Pi, et créer un script qui exécute ce que nous voulons, comme passer à une chaîne de télévision, changer la langue du téléviseur, enregistrer TV…
La première chose à faire sera de savoir ce que notre application iOS/Android envoie à Kodi, pour cela, à partir d’un PC, nous entendrons le port 9090 à partir de Kodi, pour voir ce que notre yacht lui envoie, Télécommande Kodi… Nous avons donc exécuté:
[Code source]NC DIRECCION_IP_RASPBERRY 9090[/Code source]
Et nous espérons…
Avoir netcat pour écouter, Nous pourrons appuyer sur la chaîne que nous voulons depuis notre application mobile et sur l’écran, Le NC recevra la commande que nous devrons exécuter plus tard, ou au moins une aide pour connaître l’identifiant de chaque chaîne de télévision!
Dans mon cas,, pour mettre La Sexta il va falloir exécuter la commande suivante:
[Code source]écho '{« Pièce d’identité »:1,« jsonrpc »:"2.0",« méthode »:« Player.Open »,« Params »:{« article »:{« ChannelID »:93}}}’ | Nc 192.168.1.200 9090[/Code source]
Exemple d’arrêt de la télévision:
[Code source]écho '{ « Pièce d’identité »: 1, « jsonrpc »: "2.0", « méthode »: « Player.Stop », « Params »: { « PlayerID »: 1 } }’ | Nc 192.168.1.200 9090[/Code source]
Exemple pour changer l’audio de la télévision afin que nous pratiquions l’anglais!
[Code source]écho '{« jsonrpc »: "2.0", « méthode »: « Player.SetAudioStream », « Params »: { « PlayerID »: 1, « cours d’eau »: « Suivant »}, « Pièce d’identité »: 1}’ | Nc 192.168.1.200 9090[/Code source]
Etc, etc… nous enregistrons cette commande dans un fichier .sh que nous pouvons exécuter lorsque nous ouvrons le site Web PHP depuis notre mobile! Jouir!