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

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

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.