Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partagez
 

 nabsend : Script shell pour commander son lapin

Aller en bas 
AuteurMessage
naf
Nabz Junior
Nabz Junior


Nabaztag : naf
Nbr de messages : 77
Carottes : 5160

nabsend : Script shell pour commander son lapin Empty
MessageSujet: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeMar 1 Nov 2005 - 2:22

Bonjour,
Juste pour faire mentir le sondage en cours :cherry: , je viens de finir un petit script shell utilisant l'API du lapin grace à la commande wget, utilisable sous linux en l'état. Je lui ai donné le petit nom 'nabsend'.
Ainsi, je peux avoir des rappels réguliers via la crontab, ou alors être prévenu par mon lapin quand un processus critique est tombé yellownabzsmile
Exemples d'utilisation:
Code:
nabsend -m 10398
fera jouer 'les chariots de feu' au lapin.
Code:
nabsend -l 3 -r 13
lui mettra les oreilles de travers yellownabzsmile
Voici le code du script; tout est décrit dedans; pour l'adapter à votre lapin il faut remplir les variables sn et token.
Code:
#!/bin/sh

sn="00039DXXXXXX" # Remplacer les XX par le vrai no de serie du lapin
token="" # copier/coller le token du lapin

file=/dev/null # par defaut, la sortie n'est pas conservée
opt="-q"

Usage() {
  echo >&2
  echo >&2 "Usage: $0 option(s)"
  cat >&2 <<EOF
 Sends command to your nabaztag.
 The options are:
 
 Commands: At least one of these must be present.
 -m <idmessage> Message number to send.

 -l <position>  Position of left  ear, between 0 and 16
 -r <position>  Position of right ear, between 0 and 16
 
 Options:
 -f <filename>  Dumps nabaztag's server output to <filename> (- for stdout).
                Useful if something goes wrong.
 -h            Display this help and exit.
    
EOF
}

IsNum() {
# check that $1 is numeric
# there's got to be a better way than this.
  [ $1 -ge 0 ] && return 0 ;
  return 1 ;
}

Validate() {
  [ $1 -ge 0 ] && [ $1 -le 16 ] && return 0 ;
  return 1 ;
}


while getopts f:m:l:r:hd o ; do
   case "$o" in
      f)  file="$OPTARG" ;;
      
      m)  if IsNum $OPTARG ; then idmessage="$OPTARG" ;
          else echo >&2 "$0 : invalid argument to -m"
          Usage
          exit 1 ;
          fi ;;
         
      l)  if Validate $OPTARG ; then posleft="$OPTARG" ;
          else echo >&2 "$0 : invalid argument to -l"
          Usage
          exit 1 ;
          fi ;;
         
      r)  if Validate $OPTARG ; then posright="$OPTARG" ;
          else echo >&2 "$0 : invalid argument to -r"
          Usage
          exit 1 ;
          fi ;;
      d) opt="" ;;
          
      [?]|h) Usage
          exit 1;;
   esac
done

[ x$idmessage = x ] && [ x$posright = x ] && [ x$posleft = x ] && \
  echo >&2 "$0: at least one of the l, r or m command must be specified!!" && \
  Usage && exit 1 ;

wget $opt -O $file "http://www.nabaztag.com/vl/FR/api.jsp?sn=$sn&posleft=$posleft&posright=$posright&token=$token&idmessage=$idmessage"

Revenir en haut Aller en bas
starox
Lapin nain
Lapin nain


Nabaztag : starox
Nbr de messages : 5
Carottes : 5077

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Marche pô !!!   nabsend : Script shell pour commander son lapin Icon_minitimeDim 18 Déc 2005 - 18:40

Cela fait longtemps que j'ai mon lapin et je me suis enfin décidé à tripatouiller mon procmailrc.

Le premier réflexe que j'ai eu c'est de faire d'abord un test avec wget sur le lapin et j'ai eu une belle page d'erreur tomcat yellownabzsad
J'ai fait un autre test avec curl et j'obtiens la même chose ...

Je copie-colle l'adresse que j'ai confectionné dans firefox et ça passe sans problème !

Aurais-tu les mêmes soucis en ce moment ?
Revenir en haut Aller en bas
http://www.starox.org/
nabubuz
Lapin nain
Lapin nain
nabubuz

Nabaztag : Nabubuz
Nbr de messages : 26
Carottes : 5101

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeDim 18 Déc 2005 - 21:47

Afin de pouvoir envoyer des messages depuis mon domicile mais également depuis mon boulot où l'accès à Internet se fait via un proxy, je me suis permis de faire une petite modification du script de naf :

Code:
#!/bin/sh

sn="00039Dxxxxxx" # Remplacer les XX par le vrai no de serie du lapin
token="123456" # copier/coller le token du lapin

file=/dev/null # par defaut, la sortie n'est pas conservée
opt="-q"
proxy="--no-proxy"

Usage() {
  echo >&2
  echo >&2 "Usage: $0 option(s)"
  cat >&2 <<EOF
 Sends command to your nabaztag.
 The options are:
 
 Commands: At least one of these must be present.
 -m <idmessage> Message number to send.

 -l <position>  Position of left  ear, between 0 and 16
 -r <position>  Position of right ear, between 0 and 16
 
 Options:
 -f <filename>  Dumps nabaztag's server output to <filename> (- for stdout).
                Useful if something goes wrong.
 -p            Use proxy information from http_proxy environment variable.
 -h            Display this help and exit.
   
EOF
}

IsNum() {
# check that $1 is numeric
# there's got to be a better way than this.
  [ $1 -ge 0 ] && return 0 ;
  return 1 ;
}

Validate() {
  [ $1 -ge 0 ] && [ $1 -le 16 ] && return 0 ;
  return 1 ;
}


while getopts f:m:l:r:phd o ; do
  case "$o" in
      f)  file="$OPTARG" ;;

      p)  proxy="--proxy" ;;
     
      m)  if IsNum $OPTARG ; then idmessage="$OPTARG" ;
          else echo >&2 "$0 : invalid argument to -m"
          Usage
          exit 1 ;
          fi ;;
       
      l)  if Validate $OPTARG ; then posleft="$OPTARG" ;
          else echo >&2 "$0 : invalid argument to -l"
          Usage
          exit 1 ;
          fi ;;
       
      r)  if Validate $OPTARG ; then posright="$OPTARG" ;
          else echo >&2 "$0 : invalid argument to -r"
          Usage
          exit 1 ;
          fi ;;

      d)  opt="" ;;
         
      [?]|h) Usage
          exit 1;;
  esac
done

[ x$idmessage = x ] && [ x$posright = x ] && [ x$posleft = x ] && \
  echo >&2 "$0: at least one of the l, r or m command must be specified!!" && \
  Usage && exit 1 ;

wget $opt $proxy -O $file "http://www.nabaztag.com/vl/FR/api.jsp?sn=$sn&posleft=$posleft&posright=$posright&token=$token&idmessage=$idmessage"
Après, il suffit de passer le paramètre '-p' pour utiliser le proxy qui doit être définit (serveur + port) dans la variable d'environnement http_proxy comme ci-dessous :
Code:
export http_proxy=http://proxy.domain.com:8080

Sinon, Leroy, pour répondre à ta question, je n'ai pas de souci avec nabsend en ce moment mais il me semble que le site Nabaztag a encore eu quelques soucis aujourd'hui. As-tu refait une tentative récemment ?


Dernière édition par le Lun 19 Déc 2005 - 21:36, édité 1 fois
Revenir en haut Aller en bas
http://nabazlab.sourceforge.net
starox
Lapin nain
Lapin nain


Nabaztag : starox
Nbr de messages : 5
Carottes : 5077

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeDim 18 Déc 2005 - 22:15

C'ets moi LEROY ! C'est cool enfin un forum où on peut facilement changer de surnom quand on se plante ... j'étais pas réveillé tout à l'heure (Je le suis encore moins là )

Bon, je n'ai pas de problème de proxy, j'ai essayé depuis 2 machines différentes (2 provider différents).

Je viens de réessayer et ça me fait toujours la même chose en ce moment.
Cela marche sous mozilla-firefox, mais pas avec wget et curl.
J'ai changé le User-Agent sans succès, mais je vais refaire des essais.

Avez-vous essayé de vous envoyer un message à l'instant ?
Revenir en haut Aller en bas
http://www.starox.org/
starox
Lapin nain
Lapin nain


Nabaztag : starox
Nbr de messages : 5
Carottes : 5077

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Encore d'autre tests ...   nabsend : Script shell pour commander son lapin Icon_minitimeDim 18 Déc 2005 - 22:53

Bon voilà voilà :

Avec le même user agent que firefox, ça ne marche pas.
Sur firefox, après avoir viré tous les cookies, ça marche, donc ça ne nécessite pas un cookie.

Avec wget et surtout curl j'ai essayé en vrac http1.1 http1.0 post, get , avec ou sans referer, par telnet ...
ça ne marche pas 😕 , je commence à sérieusement sécher .

J'ai dû louper un truc
Revenir en haut Aller en bas
http://www.starox.org/
starox
Lapin nain
Lapin nain


Nabaztag : starox
Nbr de messages : 5
Carottes : 5077

nabsend : Script shell pour commander son lapin Empty
MessageSujet: ça marche !!!   nabsend : Script shell pour commander son lapin Icon_minitimeLun 19 Déc 2005 - 12:43

Le service technique de Violet est toujours aussi bon et rapide Like a Star @ heaven

En fait dans ma requête il manquait le champs Accept-Language et cela faisait planter les servlets.

Ils ont déjà corrigé le problème, tout est en ordre maintenant yellownabzsmile
Revenir en haut Aller en bas
http://www.starox.org/
kcud_dab
Lapin nain
Lapin nain


Nbr de messages : 1
Carottes : 5074

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeMer 21 Déc 2005 - 22:17

Question stupide... comment on connait les numéros qui conrespondent aux sons ?

par ex: nabsend -m 10398
Revenir en haut Aller en bas
naf
Nabz Junior
Nabz Junior


Nabaztag : naf
Nbr de messages : 77
Carottes : 5160

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeSam 24 Déc 2005 - 11:40

Bonjour,
ravi de voir que ce script vous sert, faut pas hésiter à y apporter des améliorations, c'est fait pour ça !

J'avais l'impression que depuis l'histoire du 'Accept-Language' à rajouter, ça ne marchait plus, et la je suis en vacances loin de mon lapin, donc je ne peux pas tester! yellownabzsmile

kcud_dab, Pour connaître le numéro du message (option -m), c'est inscirt dans la doc de l'API, il s'affiche dans une bulle quand tu passes dessus avec la souris depuis www.nabaztag.com.
Revenir en haut Aller en bas
starox
Lapin nain
Lapin nain


Nabaztag : starox
Nbr de messages : 5
Carottes : 5077

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeSam 24 Déc 2005 - 17:13

naf a écrit:
Bonjour,
ravi de voir que ce script vous sert, faut pas hésiter à y apporter des améliorations, c'est fait pour ça !
Oui oui ! ça sert, je l'ai un petit peu modifier surtout en ce qui concerne le '&item=' qui est vide quand on fait bouger les oreilles et la requête renvoie une erreur à ce moment. Mais bon, c'est la période des fêtes, je fais juste un rapide passage, je me manifesterais un peu plus tard.

Citation :

kcud_dab, Pour connaître le numéro du message (option -m), c'est inscirt dans la doc de l'API, il s'affiche dans une bulle quand tu passes dessus avec la souris depuis www.nabaztag.com.
Je pensais aussi faire une liste qu'on puisse télécharger pour faire des greps et trouver l'id du message qu'on veut envoyer, sans avoir à sortir le navigateur...
Faut voir comment créer cette liste automatiquement.
Revenir en haut Aller en bas
http://www.starox.org/
naf
Nabz Junior
Nabz Junior


Nabaztag : naf
Nbr de messages : 77
Carottes : 5160

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeVen 30 Déc 2005 - 11:52

starox a écrit:

Oui oui ! ça sert, je l'ai un petit peu modifier surtout en ce qui concerne le '&item=' qui est vide quand on fait bouger les oreilles et la requête renvoie une erreur à ce moment.

Je pensais aussi faire une liste qu'on puisse télécharger pour faire des greps et trouver l'id du message qu'on veut envoyer, sans avoir à sortir le navigateur...
Faut voir comment créer cette liste automatiquement.

Oui, j'ai fait la modif aussi, mais oublié de la publier.

Pour récupérer la liste, perl est ton ami, avec la palanquée de modules pour automatiser la récupération d'informations depuis le web.
Revenir en haut Aller en bas
naf
Nabz Junior
Nabz Junior


Nabaztag : naf
Nbr de messages : 77
Carottes : 5160

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeDim 26 Fév 2006 - 18:09

Hello,
voila la mise à jour de nabsend, qui supprime les parametres inutiles dans l'URL, inclus les modifs proxy de nabubuz, et supporte le TTS (option -t) :

Code:
#!/bin/sh

sn="00039DXXXXXX" # Remplacer les XX par le vrai no de serie du lapin
token= # copier/coller le token du lapin

file=/dev/null # par defaut, la sortie n'est pas conservée
opt="-q"
proxy="--no-proxy"

url="http://www.nabaztag.com/vl/FR/api.jsp?sn=$sn&token=$token"

okargs=0

Usage() {
  echo >&2
  echo >&2 "Usage: $0 option(s)"
  cat >&2 <<EOF
 Sends command to your nabaztag.
 The options are:
 
 Commands: At least one of these must be present.
 -m <idmessage> Message number to send.
 -l <position>  Position of left  ear, between 0 and 16
 -r <position>  Position of right ear, between 0 and 16
 -t "message"   Message to send via text-to-speech interface
 
 Options:
 -f <filename>  Dumps nabaztag's server output to <filename> (- for stdout).
                Useful if something goes wrong.
 -p            Use proxy information from http_proxy environment variable.
 -h            Display this help and exit.
    
EOF
}

IsNum() {
# check that $1 is numeric
# there's got to be a better way than this.
  [ $1 -ge 0 ] && return 0 ;
  return 1 ;
}

Validate() {
  [ $1 -ge 0 ] && [ $1 -le 16 ] && return 0 ;
  return 1 ;
}

while getopts f:m:l:r:t:phd o ; do
   case "$o" in
      f)  file="$OPTARG"
            ;;
      m)  if IsNum $OPTARG ; then
              url="$url&idmessage=$OPTARG" ;
         okargs=1 ;
          else echo >&2 "$0 : invalid argument to -m"
          Usage
          exit 1 ;
               fi
                ;;
           l)  if Validate $OPTARG ; then
              url="$url&posleft=$OPTARG" ;
         okargs=1 ;
          else echo >&2 "$0 : invalid argument to -l"
          Usage
          exit 1 ;
          fi
           ;;
      r)  if Validate $OPTARG ; then
                   url="$url&posright=$OPTARG" ;
          okargs=1 ;
          else echo >&2 "$0 : invalid argument to -r"
          Usage
          exit 1 ;
               fi
                ;;
      t) url="$url&tts=$OPTARG" ;
        okargs=1
                ;;
      d) opt=""
            ;;
      p) proxy="--proxy"
      ;;
      [?]|h) Usage
          exit 1
      ;;
   esac
done

if [ $okargs -ne 1 ] ; then
    echo >&2 "$0: at least one of the l,m, r or t command must be specified!!"
    Usage
    exit 1
fi

wget $opt $proxy -O $file "$url"
Revenir en haut Aller en bas
chrisemail
Lapin nain
Lapin nain


Nbr de messages : 1
Carottes : 5010

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeLun 27 Fév 2006 - 15:21

Excellent ce script merci beaucoup !!!!! yellownabzsmile
Revenir en haut Aller en bas
naf
Nabz Junior
Nabz Junior


Nabaztag : naf
Nbr de messages : 77
Carottes : 5160

nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitimeLun 27 Fév 2006 - 21:56

yapadkoi! yellownabzwink
Revenir en haut Aller en bas
Contenu sponsorisé




nabsend : Script shell pour commander son lapin Empty
MessageSujet: Re: nabsend : Script shell pour commander son lapin   nabsend : Script shell pour commander son lapin Icon_minitime

Revenir en haut Aller en bas
 
nabsend : Script shell pour commander son lapin
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Opéra pour 100 lapin
» 4 diodes ORANGES la suite (freebox/mac os x/lapin)
» [08032012] Les Super Junior dévoilent leur plan pour 2012
» lapin qui fait la gueule ????
» [S43-E10] Tirage pour la 5ème journée - Lille - 06 Octobre 2010

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: L'univers de Nabaztag :: Archives :: API-
Sauter vers: