Viewing 13 reply threads
  • Author
    Posts
    • #10507
      lecagnois
      Participant

      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, 7 months ago by lecagnois.
      • This topic was modified 6 years, 7 months ago by lecagnois.
      • This topic was modified 6 years, 7 months ago by lecagnois.
      • This topic was modified 6 years, 7 months ago by lecagnois.
      • This topic was modified 6 years, 7 months ago by lecagnois.
      Attachments:
      You must be logged in to view attached files.
    • #10519
      Dominique
      Participant

      Super, bonne idée.

      Bon après, il faut absolument une box avec API, ce qui n’est pas toujours le cas…

      • #10524
        lecagnois
        Participant

        Hello dominique
        je crois qu il y a une API sur la FREEBOX .

        Hello Anthony
        Oui inMoov va devenir le compagnon des nos vieux jours …..
        nous rappeler de prendre nos pilules et choisir nos programmes tv . (lol)

        • This reply was modified 6 years, 7 months ago by lecagnois.
    • #10521
      anthony
      Moderator

      cool, il va falloir compter sur un membre de plus dans la famille pour choisir le programme tv 🙂

    • #10544
      laurent
      Participant

      bonjour a tous super cette idée, j’aimerai essayer j’ai une box orange, mais comme toujours je suis mal a l’aise avec ou mettre ceci et ou mettre cela, ou doit je crée le programme python ? la la suite d’un autre crée un nouveau fichier ? le nommé comment , le mettre ou et pour AILM pareille ou le mettre ?, une petite procédure est elle envisageable ?

      Merci a tous

      • #10545
        lecagnois
        Participant

        hello @ Laurent
        Quelle version de mrl as-tu installé ?

    • #10546
      laurent
      Participant

      Bonjour lecagnois version 1.0.2693

    • #10547
      laurent
      Participant

      c’est bien la dernière ?

      • #10549
        lecagnois
        Participant

        Oui c’est la dernière mouture de Anthony .
        Pour le fichier AIML
        il faut le mettre dans le répertoire :
        ../InMoov/chatbot/bots/fr/aiml
        la se trouve tous les fichiers du bots
        tu peux modifier un aiml existant , mais je te conseil d’en créer un.

        (attention depuis la dernière version des fichiers csv , dans le répertoire … aimlif sont générés automatiquement et peuvent modifier ton fichier aiml) .
        par précaution avant de lancer Inmoov vide le dossier aimlif
        (Une moulinette va générer le fichier csv de ton nouveau fichier aiml)

        Après ton programme python
        il faut le mettre dans
        ../InMoov/custom/tonfichier.py

        Il te faudra modifier le fichier InMoov_custom.py
        # — coding: utf-8 —
        # #############################################################################
        # YOUR INMOOV CUSTOM
        # Here you can add your own commands to play and test with inmoov
        # If you udpate the whole script, don’t worry, those commands are safe
        # ##############################################################################

        #sample
        # play a neopixel animation while the robot speaking
        #PlayNeopixelAnimation(“Flash Random”, 255, 255, 255, 1)
        # talk something
        #talkBlocking(“she’s a replicant, isn’t she?”)
        # stop neopixel
        #StopNeopixelAnimation()
        execfile(RuningFolder+’custom/tonfichier.py’)
        # arret des servos
        i01.detach()

        Voila j’espère que cela va t’aider !….

        • This reply was modified 6 years, 7 months ago by lecagnois.
    • #10551
      lecagnois
      Participant

      j’ai modifié depuis hier le programme et le fichier aim pour avoir les chaînes au dessus de 9
      si tu veux je les mets ici.
      Ou sinon cela te fera un exercice de programmation python .

    • #10552
      laurent
      Participant

      merci lecagnois, je veux bien que tu les mette ici , moi la programmation pour l’instant peu de Temp je vais a l’essentiel , encore merci 😉

    • #10554
      laurent
      Participant

      bonjour bon alors j’ai suivie la procédure a savoir, j’ai crée un fichier nommé orange.py dans aiml, j’y ai coller l’aiml en (fichier attachement du tuto), enregistrer, vider aimlif, recopier le python jpg joint dans le tuto, sans erreur,puis j’ai entrer l’ip de ma box, puis crée dans custome, un fichier nommé monfichier, puis lui coller ce qu’il y a dans le tuto, puis enregistré,

      je démarre MRL et la au moment de changer les aiml il me marque une erreur dans le fichier orange.py

      euu j’ai louper un truc ?

    • #10555
      lecagnois
      Participant

      hello @laurent

      le fichier jpg est juste une image pour montrer comment trouver l adresse ip de ton décodeur
      en aucun cas il faut l utiliser dans mrl

      je te joint les fichiers :

      orange.py à mettre custom
      orange.aiml à mettre ../InMoov/chatbot/bots/fr/aiml
      Import_Librairies.py (j ai modifier ce fichier pour les différents programmes que j’ai crée) à mettre dans
      …/InMoov/system/..

      Pour changer de chaine dire “PROGRAMME X” jusqu’à 27
      Programme 0 affiche la grille des chaines orange
      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

      NOTA :
      je t’ai zipper les 3 fichiers car le site interdit le déposer les fichiers avec extension .py et .aiml par sécurité
      je pense que tu sais décompresser des fichiers !…

      • This reply was modified 6 years, 7 months ago by lecagnois.
      • This reply was modified 6 years, 7 months ago by lecagnois.
      • This reply was modified 6 years, 7 months ago by lecagnois.
      Attachments:
      You must be logged in to view attached files.
    • #10560
      laurent
      Participant

      Bonjour lecagnois, oui je sais décompresser, je sais même faire plein d’autres choses aussi :), merci pour le temps que tu as passé à me répondre.
      je suis désolé defois d’insisté pour avoir une procédure complète, mais pas le choix,! si celui d’apprendre, le python, cela est en projet, mais absolument pas possible au niveau temps pour moi, en ce moment, ça viendra, donc on va dire que je suis un simple utilisateur, et oui bien souvent dépendant de vous et de vos réponses, et vos bonnes volontés, désolées pour cela.
      je viens d’installer les 3 fichiers, aux endroits que tu m’as dits, mais cela fonctionne pas, MRL démarre bien pas de soucis, mais quand je lui demande programme x (1.2.3), il y a une erreur, me disant nom du décodeur non défini, pour info l’ip est 192.168.1.13, voila bon ba tampi, je vais reprendre ma zapette, merci quand même

    • #10561
      BIGIARINI Vincent
      Participant

      Laurent, c’est parce qu’il faut coller le contenu du fichier orange.py dans le fichier inmoov custom.py (désolé ce n’eet peut-être pas exactement ce nom là)

      J’ai eu le soucis 🙂

      Sinon c’est génial vraiment ! Bravo !

    • #10562
      laurent
      Participant

      merci Vincent c’était effectivement ça, merci également lecagnois, bizarre juste la 1 et la 2 et la 3 ne fonctionne pas tous le reste est ok

      • #10566
        lecagnois
        Participant

        Super vous y êtes arrivés.
        pour le chaines un , deux et trois cela dépend de ton micro ou de ta prononciation.
        Moi j’ai un accent parisien alors des fois j’adapte le fichier aiml à ma prononciation (lol)

        lorsque tu parle à inMoov regarde ce que Google interprète et modifie ton fichier aiml en conséquence.

        regarde le fichier orange.aiml les lignes 72 à 75 :

        name=”chaine” value=”un“><think><set name=”chaine”>513</set></think>ok voici TF1
        name=”chaine” value=”de“><think><set name=”chaine”>514</set></think>ok voici france 2
        name=”chaine” value=”trois“><think><set name=”chaine”>515</set></think>ok voici france 3

        exemple
        après le mot value=”de” pour la chaine 2 , si ton micro interprète le mot deux ou 2
        il te faut remplacer par value=”deux” ou “2” selon ce que Google à compris

        Autre solution rajouter tous les cas possibles
        name=”chaine” value=”de“><think><set name=”chaine”>514</set></think>ok voici france 2
        name=”chaine” value=”deux“><think><set name=”chaine”>514</set></think>ok voici france 2
        name=”chaine” value=”2“><think><set name=”chaine”>514</set></think>ok voici france 2

        Voila j’espère que je suis pas trop brouillon dans mes explications.

        Nota penser à supprimer le fichier orange.csv avant de relancer dans le répertoire aimlif

        • This reply was modified 6 years, 7 months ago by lecagnois.
        • This reply was modified 6 years, 7 months ago by lecagnois.
        • This reply was modified 6 years, 7 months ago by lecagnois.
        • This reply was modified 6 years, 7 months ago by lecagnois.
        • This reply was modified 6 years, 7 months ago by lecagnois.
    • #10572
      laurent
      Participant

      BONSOIR LECAGNOIS , oui c’est la première chose que j’ai modifié,un,deux,trois par 1.2.3, le soucis c’est que j’ai pas encore essayer avec le micro, j’ai fait mes essais avec le chabot en faisant des copier coller de ta liste ci-dessus, mais la 1-2-3 reste sans action, pas grave bonne soirée merci

Viewing 13 reply threads
  • You must be logged in to reply to this topic.