Accueil > > > NABNET - BIBLIOTHÈQUE PERMETTANT D'UTILISER L'API DE NABAZTAG
NABNET - BIBLIOTHÈQUE PERMETTANT D'UTILISER L'API DE NABAZTAG
Information sur la source
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
- 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/
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
Commentaires et avis
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
|
Derniers Blogs
WP7 5K BELGIUM CHALLENGEWP7 5K BELGIUM CHALLENGE par junarnoalg
Bienvenue au Windows Phone 7 - 5K Challenge Belge. Développez une application mobile ou un jeu pour Windows Phone 7, publiez votre application sur le market place, et vous pourre...
Cliquez pour lire la suite de l'article par junarnoalg [WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7 par Audrey
L'émulateur Windows Phone 7, fourni avec la version Beta des outils développeurs n'inclut aucune image dans sa bibliothèque. Pas très pratique de tester son application lorsque l'on souhaite que l'utilisateur puisse choisir une image présente dans le télé...
Cliquez pour lire la suite de l'article par Audrey VIVE LES MOCKS ET LES POCOSVIVE LES MOCKS ET LES POCOS par vLabz
J'observe régulièrement autour de moi de la confusion à propos de ces deux termes et j'aimerais juste rappeler ce qu'ils signifient. Je ne suis bien sûr pas le mieux placé pour faire une leçon mais je vais faire de mon mieux pour mettre en valeur ce q...
Cliquez pour lire la suite de l'article par vLabz [WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5)[WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5) par JeremyJeanson
Vendredi dernier Microsoft a publié le quatrième épisode des bonnes pratiques pour coder ses activités custom dans WF4 : endpoint.tv - Workflow and Custom Activities - Best Practices (Part 4) . Tout comme pour les précédents épisodes, j'ai pris le temps d...
Cliquez pour lire la suite de l'article par JeremyJeanson DéVELOPPEMENT MOBILE : .NET COMPACT FRAMEWORK & LIMITATIONSDéVELOPPEMENT MOBILE : .NET COMPACT FRAMEWORK & LIMITATIONS par Pi-R
Introduction :
Le développement d'applications mobiles est quelque peu différent du développement d'applications sous Windows. En effet, le développement d'applications mobiles se base sur le .NET Compact Fra...
Cliquez pour lire la suite de l'article par Pi-R
Forum
RE : OPC CLIENT RE : OPC CLIENT par djpattsouls
Cliquez pour lire la suite par djpattsouls OPC HELP??OPC HELP?? par djpattsouls
Cliquez pour lire la suite par djpattsouls
Logiciels
Crystal Report (11)CRYSTAL REPORT (11)Crystal Reports est un outil de reporting souple et puissant, vous pouvez très facilement consult... Cliquez pour télécharger Crystal Report Academy System (12.0.2.0)ACADEMY SYSTEM (12.0.2.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft iPod Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPOD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPod Vidéo Convertisseur est un outil puissant de conversion d'iPod, facile à utiliser. ... Cliquez pour télécharger Xilisoft iPod Vidéo Convertisseur 6 Xilisoft iPhone Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPHONE VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPhone Vidéo Convertisseur est le meilleur logiciel de conversion iPhone qui peut facile... Cliquez pour télécharger Xilisoft iPhone Vidéo Convertisseur 6 Xilisoft iPad Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPAD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Il s'agit d'un logiciel polyvalent pour convertir les formats vidéo/audio populaires en formats p... Cliquez pour télécharger Xilisoft iPad Vidéo Convertisseur 6
|