Nabnet - bibliothèque permettant d'utiliser l'api de nabaztag

Soyez le premier à donner votre avis sur cette source.

Vue 14 134 fois - Téléchargée 797 fois

Description

Cette bibliothèque permet d'utilise l'API de Nabaztag et Nabaztag/Tag (voir ici pour voir ce qu'est un Nabaztag :) : http://www.nabaztag.com/fr/index.html).
Elle permet d'utiliser les fonctions de l'API qui sont :
- l'envoi de message en Text To Speech (NabNET.Actions.TTSMessage)
- l'envoi de messages de la bibliothèque (NabNET.Actions.Message)
- l'envoi de chorégraphies (NabNET.Actions.Choreography)
- le changement de la position des oreilles (NabNET.Actions.EarsMoving)
- l'écoute de web radios ou de MP3 sur le lapin (NabNET.Actions.URLList)
- l'ajout de messages sur un Nabcast (NabNET.Actions.NabcastMessage)

La description de l'API se trouve ici : http://help.nabaztag.com/fiche.php?langue=2&fiche=29
Elle permet en plus d'enregistrer plusieurs lapins et d'enregistrer plusieurs actions que l'ont peut exécuter en une fois.

Les actions sont représentées par une interface IAction qu'implémente les classes de l'espace de nom NabNET.Actions

Source / Exemple :


class Program
    {
        static void Main(string[] args)
        {
            NabActionSender nas = new NabActionSender();
            //Abonnement à l'évènement Error            
            Console.WriteLine("Serial number : ");
            string sn = Console.ReadLine();
            Console.WriteLine("Token : ");
            string token = Console.ReadLine();
            Console.WriteLine("Nom du lapin : ");
            string name = Console.ReadLine();
            //Ajoute le nabaztag à la liste
            try
            {
                nas.AddNabaztag(ENabazTypes.TagTag, name, token, sn);                
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }            
            //On peut aussi ajouter une instance de NabNET.Nabaztag
            //Nabaztag nab = new Nabaztag(ENabazTypes.TagTag, name, token, sn);
            //nas.AddNabaztag(nab);

            //=======================================
            //Envoie d'un message en Text To Speech
            string message = Console.ReadLine();
            //On créé un nouveau message en Text To Speech avec la voix de Caroline et une vitesste de 200 
            //(la vitesse est comprise entre 0 et 16000, 100 étant la vitesse normale)
            TTSMessage ttsMessage = new TTSMessage(message, EVoices.caroline22k, 200);
            //Enfin on envoie le message au lapin enregistré précédemment
            
            nas.SendAction(ttsMessage, name);
            //On affiche les éventuelles erreurs qui se sont produites
            showErrors(nas);
            //on peut aussi l'envoyer à un lapin non enregistré en passant une instance de Nabaztag en paramètre 
            //ou en renseignant le serial number et le token :
            //Nabaztag nab = new Nabaztag(ENabazTypes.TagTag, name, token, sn);
            //nas.SendAction(ttsMessage, nab);
            

            //======================================
            //Envoie d'une chorégraphie
            //On créé d'abord une nouvelle instance de Choreography
            Choreography chor = new Choreography("Ma chorégraphie");
            //Ensuite on ajoute des étapes qui vont soit changer modifier les LEDs, soit faire bouger les oreilles
            //Pour faire bouger les oreilles :
            //Ici on fait bouger l'oreille gauche de 90° dans le sens haut-derrière-bas-devant
            chor.Steps.Add(new MotorStep(0, EEars.LeftEar, 90, ERotations.TopBackBottomFront));
            //Pour utilise une LED
            //Ici on allume la LED du milieu 1.5s après le début de la chorégraphie, et la LED sera rouge
            chor.Steps.Add(new LedStep(15, ELeds.Middle, System.Drawing.Color.Red));
            //etc...
            chor.Steps.Add(new MotorStep(45, EEars.RightEar, 45, ERotations.TopFrontBottomBack));
            chor.Steps.Add(new MotorStep(45, EEars.LeftEar, 45, ERotations.TopFrontBottomBack));
            chor.Steps.Add(new LedStep(30, ELeds.Top, System.Drawing.Color.Violet));
            chor.Steps.Add(new LedStep(20, ELeds.Top, System.Drawing.Color.Yellow));
            chor.Steps.Add(new MotorStep(15, EEars.LeftEar, 135, ERotations.TopBackBottomFront));
            chor.Sort();
            //Enfin on envoie la chorégraphie            
            //ajout d'un lapin
            try
            {
                nas.AddNabaztag(ENabazTypes.TagTag, "Toto", "0124456781", "13DFD265E3A");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            //Ici on va envoyer la chorégraphie à tous les lapins enregistrés            
            nas.SendToAll(chor);
            showErrors(nas);
            Console.ReadLine();
        }

        static void showErrors(NabActionSender nas)
        {
            if (nas.HasError)
            {
                foreach (ActionError err in nas.Errors)
                {
                    Console.WriteLine(err.ToString("%n - %a\nErreur : %e"));
                }
            }
            else
                Console.WriteLine("Toutes les actions ont été envoyées");
        }

Conclusion :


Vous pouvez aussi télécharger les sources et l'assembly ici : http://galadlesage.free.fr/nabnet/

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
30 décembre 2007

Salut Galaid ! très bien ta librairie et les sources !! C'est une super idée.
Messages postés
5
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
11 mai 2007

La source à été mise à jour :)

@shad78 > merci :) Tu peut toujours lui envoyer des messages sur son lapin.
Le seul hic c'est que le lapin met du temps à recevoir les messages (le lapin se connected toutes les 2 minutes), donc ça limite certaines applications, mais il y a moyen de changer ça en bidouillant un peu :p
Messages postés
10
Date d'inscription
mardi 13 mars 2007
Statut
Membre
Dernière intervention
31 juillet 2008

Il fallait y penser, perso je trouve l'idée géniale ! Les applications sont vraiment infinis, a chaque fois j'en trouve une nouvelle! (j'avais pensé à l'addin Outlook aussi ^^) Bref^, bravissimo pour la lib ! Seul regret: j'ai pas de lapin... :'(
> faut absolument que je vole celui de ma copine.. :D
Messages postés
5
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
11 mai 2007

Non pas déçu du tout (d'autant plus que c'est un cadeau :p), mais si tu veux écouter des web radio autant te diriger vers quelque chose qui est fait pour ça, et pas le lapin qui fait d'autres choses (lectures de flux RSS, envoi de messages...) et qui est pas conçu pour ça à la base. Et puis c'est marrant de programmer pour ça (je viens de faire un add-in, pour Outlook qui donne les alertes des tâches sur le lapin par exemple ^^).
En attendant personne commente la source :p
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

ha mince, j'espère qu'un jour je trouverai une solution, il y a aussi une platine webradio Noxon de terractec :
http://entertainfr.terratec.net/
Tu as l'air un peu déçu du lapin ?
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.