Bonjour à tous
Voici un nouveau tuto pyton.
Après le tuto DOMOTIQUE pour commander une prise éléctrique, voici une autre approche de la domotique avec notre InMoov
Cette fois-ci l’idée est de commander votre télévision avec votre robot InMoov.
Ce qu il vous faut :
Une box et un décodeur ORANGE .(car nous allons utiliser API de Orange)
Pour les autres fournisseurs d’accès en fouillant sur internet vous trouverez surement.
Comme à chaque fois nous devrons créer un programme python et pour donner les ordres un programme AIML.
voici le programme python qui consiste juste à envoyer une commande http.
def decodeur(commande):
try:
url='http://192.168.1.35:8080/remoteControl/cmd?operation=01&key='+commande+'&mode=0'
urllib.urlopen(url)
except IOError:
talk("le serveur est hors service ")
except OSError:
talkBlocking("oups il y a une erreur")
except ValueError:
talkBlocking("oups il y a une erreur ")
except:
print(sys.exc_info()[0])
raise
explication :
la procédure def decodeur à en paramétre un code qui sera transmis par le fichier aiml
il vous faudra saisir l’adresse IP de votre décodeur . pour moi 192.168.1.35
vous trouverai l’adresse du décodeur dans votre box.
Voici maintenant le contenu du fichier AIML
<category><pattern>PROGRAMME *</pattern>
<template><think>
<set name="chaine"><star index="1"/></set>
</think>
<condition>
<li name="chaine" value="0"><think><set name="chaine">512</set></think></li>
<li name="chaine" value="un"><think><set name="chaine">513</set></think>ok voici TF1</li>
<li name="chaine" value="de"><think><set name="chaine">514</set></think>ok voici france 2</li>
<li name="chaine" value="trois"><think><set name="chaine">515</set></think>ok voici france 3</li>
<li name="chaine" value="4"><think><set name="chaine">516</set></think>ok voici canal plus</li>
<li name="chaine" value="5"><think><set name="chaine">517</set></think>ok voici france 5</li>
<li name="chaine" value="6"><think><set name="chaine">518</set></think>ok voici aime 6</li>
<li name="chaine" value="cette"><think><set name="chaine">519</set></think>ok voici arté</li>
<li name="chaine" value="8"><think><set name="chaine">520</set></think>ok voici Ces huit</li>
<li name="chaine" value="neuf"><think><set name="chaine">521</set></think>ok voici W 9</li>
<li name="chaine" value="suivant"><think><set name="chaine">402</set></think>ok voici la chaîne suivante</li>
<li name="chaine" value="précédent"><think><set name="chaine">403</set></think>ok voici chaîne précédente</li>
<li name="chaine" value="vidéo"><think><set name="chaine">393</set></think>ok voici la vidéo à la demande</li>
</condition>
<oob>
<mrl>
<service>python</service>
<method>exec</method>
<param>decodeur('<get name="chaine"/>')</param>
</mrl>
</oob></template>
</category>
<category><pattern>ARRÊTE LE DÉCODEUR</pattern>
<template><oob>
<mrl>
<service>python</service>
<method>exec</method>
<param>decodeur('116')</param>
</mrl>
</oob>
décodeur arrêté</template>
</category>
<category><pattern>DÉMARRE LE DÉCODEUR</pattern>
<template><oob>
<mrl>
<service>python</service>
<method>exec</method>
<param>decodeur('116')</param>
</mrl>
</oob>
décodeur démarré</template>
</category>
<category><pattern>AUGMENTE LE SON</pattern>
<template><oob>
<mrl>
<service>python</service>
<method>exec</method>
<param>decodeur('115')</param>
</mrl>
</oob>ok</template>
</category>
<category><pattern>DIMINUE LE SON</pattern>
<template><oob>
<mrl>
<service>python</service>
<method>exec</method>
<param>decodeur('114')</param>
</mrl>
</oob>ok</template>
</category>
<category><pattern>COUPE LE SON</pattern>
<template><oob>
<mrl>
<service>python</service>
<method>exec</method>
<param>decodeur('113')</param>
</mrl>
</oob>mute activé</template>
</category>
<category><pattern>SOURIS #</pattern>
<template><think>
<set name="curseur"><star index="1"/></set>
</think>
<condition>
<li name="curseur" value="en"><think><set name="curseur">103</set></think>ok</li>
<li name="curseur" value="en bas"><think><set name="curseur">108</set></think>ok</li>
<li name="curseur" value="à gauche"><think><set name="curseur">105</set></think>ok</li>
<li name="curseur" value="à droite"><think><set name="curseur">106</set></think>ok</li>
<li name="curseur" value="retour"><think><set name="curseur">158</set></think>ok</li>
<li name="curseur" value="valide"><think><set name="curseur">352</set></think>ok</li>
<li name="curseur" value="menu"><think><set name="curseur">139</set></think>ok</li>
</condition>
<oob>
<mrl>
<service>python</service>
<method>exec</method>
<param>decodeur('<get name="curseur"/>')</param>
</mrl>
</oob></template>
</category>
Pour changer de chaine dire “PROGRAMME X” jusqu’à 9
après dire “PROGRAMME SUIVANT”
Pour lancer la Vidéo à la demande dire “PROGRAMME VIDEO”
AUTRE COMMANDE
– ARRETE LE DECODEUR
– DEMARRE LE DECODEUR
– AUGMENTE LE SON
– DIMINUE LE SON
– COUPE LE SON
POUR NAVIGUER DANS LES MENUS
– SOURIS EN HAUT
– SOURIS EN BAS
– SOURIS A GAUCHE
– SOURIS A DROITE
– SOURIS VALIDE (ok)
– SOURIS RETOUR
– SOURIS MENU
Bien sur vous pouvez modifier le nom des commandes en modifiant le fichier AIML
En pièces jointe les fichiers : (vu que l’éditeur à des problèmes avec certains caractères)
– aiml.txt ( à intégrer dans vos propres aiml)
– la copie d’écran du programme python ( à intégrer dans vos script python)
– copie écran d une box pour trouve adresse ip ( sinon utiliser un sniffer adresse ip)
-
This topic was modified 6 years, 10 months ago by lecagnois.
-
This topic was modified 6 years, 10 months ago by lecagnois.
-
This topic was modified 6 years, 10 months ago by lecagnois.
-
This topic was modified 6 years, 10 months ago by lecagnois.
-
This topic was modified 6 years, 10 months ago by lecagnois.
Attachments:
You must be
logged in to view attached files.