begin process at 2010 07 30 13:00:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > NABNET - BIBLIOTHÈQUE PERMETTANT D'UTILISER L'API DE NABAZTAG

NABNET - BIBLIOTHÈQUE PERMETTANT D'UTILISER L'API DE NABAZTAG


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Source .NET ( DotNet ) Classé sous :nabaztag, api, nabaztagtag Niveau :Débutant Date de création :06/05/2007 Date de mise à jour :20/05/2007 19:25:13 Vu / téléchargé :8 854 / 230

Auteur : Galaid

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • 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");
  • }
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/

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

11 mai 2007 18:54:15 :
- Support des nabcast - Envoi des messages de la bibliothèque - Nouvelle gestion des erreurs : la propriété HasError indique si il y a eu des erreurs durant le dernier envoi, et la propriété Errors contient la liste des erreurs. - Ajout d'une interface graphique (qui permet d'envoyer des messages en TTS, bouger les oreilles et envoyer des web radios) - Ajout d'une capture d'écran - Correction de bugs
20 mai 2007 19:25:13 :
- Les accents et certains autres caractères spéciaux qui ne passait pas fonctionnent maintenant - Ajout des méthodes SaveNabaztags et LoadNabaztags qui permettent de sauvegarder la liste des Nabaztags dans un fichier et de les charger - Changements dans la façon dont l'URL est construite

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) [C#2008] OBSERVER L'ACTIVITÉ INPUT (CLAVIER SOURIS) DE L'UTI... par PCPT
Source avec Zip Source avec une capture Source .NET (Dotnet) UTILISATION DE L'API VIRTUAL DISK IMAGE DE WINDOWS 7 par Willi
Source avec Zip Source .NET (Dotnet) CHESS GAME CORE - LIBRAIRIE JEU D'ÉCHEC EN C# par Bidou
Source .NET (Dotnet) CHANGER LA RESOLUTION DE VOTRE ECRAN, UTILISATION DES API WI... par mechtaly
Source avec Zip Source .NET (Dotnet) CRÉER SON PROPRE DESIGNER COMME CELUI DE VISUAL STUDIO par ShareVB

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) WRAPPER COMPLET SUR L'API DE BIOMÉTRIE DE WINDOWS 7 par Willi
Source avec Zip Source .NET (Dotnet) DEEPZOOMAPI par SharpMao
Source .NET (Dotnet) CHANGER LA RESOLUTION DE VOTRE ECRAN, UTILISATION DES API WI... par mechtaly
Source avec Zip Source avec une capture Source .NET (Dotnet) UNE FORM QUI S'INSÈRE PARTOUT par Yxion
Source avec Zip Source .NET (Dotnet) EXTINCTION D'UN PC EN FONCTION DU RÉSEAU par Bidou

Commentaires et avis

Commentaire de Patrice99 le 07/05/2007 12:33:22

Salut, j'ai une freebox V3 (décembre 2005) sans wifi et pas de TV, mais je voudrais écouter les webradios PC éteint : est-ce que ce lapin-matique pourrait me permettre d'écouter les webradios ? (impossible de piloter la freebox avec sa télécommande, qui n'est conçue pour fonctionner qu'avec une TV)

Commentaire de Galaid le 07/05/2007 21:10:44

Salut, Non il ne marche qu'en Wi-Fi, et il faut un PC pour pouvoir lui envoyer une web radio autre que celles qui sont présélectionnées. En fait le lapin est plutôt un gadget, d'autant plus que le son n'est pas très bon.

Commentaire de Patrice99 le 08/05/2007 09:21:20

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 ?

Commentaire de Galaid le 09/05/2007 10:31:58

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

Commentaire de Shad78 le 10/05/2007 20:35:45

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

Commentaire de Galaid le 11/05/2007 19:05:17

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

Commentaire de theafter le 30/12/2007 10:09:43 9/10

Salut Galaid ! très bien ta librairie et les sources !! C'est une super idée.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

API? [ par BlackWizzard ] en C, j'avait un prog du genre ::SetWindowPos(FindWindow("ConsoleWindowClass",NULL),HWND_TOP,0,0,0,0,SWP_SHOWWINDOW); (C pour chacher le console dos d Conversion API Win32 -> C# [ par merlintintin ] J'aimerais utiliser des fonctions de l'APIen C#. Il faut pour cela redefinir les fonctions et les structures de l'API en C#. Malheureusement, je ne sa api??? [ par dragoneyes ] j'ai fait pas mal de recherche sur le net. Et a part un deux exemples g pas trouvé grand chose sur lutilisation de api avec le c#.Esque qqun pe me don Une autre question du newbie [ par PsyCaDi ] ReEst-ce que quelqu'un sait comment on fait pour qu'un formulaire soit toujours "visible"? Qu'il passe par-dessus les autres applis même s'il n'est pa Utilisation de l'api Windows... [ par welc ] Bonjour,Je début en C#, et je m'entraine à utiliser DllImport avec l'api. Pour faire simple j'ai essayé de faire un appel MessageBoxA :[DllImport("use Mise en oeuvre d'une API [ par jacma ] Bonjour Est-il possible d'utiliser l'API sendMessageByString en C# et dans l'affirmative, comment la mettre en oeuvre (déclaration, appel...). Je l'ai Constante et énumération LVITEM dans API SendMessage [ par jacma ] BonjourDans la déclaration ci-dessous de l'API SendMessage employée avec une ListView, à quelle constante correspond Int32 wMsg?static extern Int32 Se API [ par T103 ] je n'arrive po a utiliser l API getcursorposition en C#si kelkun sait komen la declarer et l'utiliser merci beaucoup WndProc, API Windows [ par Frederyck ] Salut,alor smon soucis c'est que j'aimerai créer un composant ListView qui accepte une image en fond L'ennui c'est que lorsque que j'essai avec les ap Problème avec l'API SetSysColors [ par bob94700 ] Bonjour,   J'utilise la fonction suivante : SetSysColorsavec comme paramètre COLOR_BACKGROUND afin de changer la couleur de fond d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,574 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales