NXT-G, leçon n°12 : Bluetooth

Pour expliquer certains fonctionnements, principes et fondements.
Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Jeu Mai 14, 2009 5:21 pm

NXT-G, Leçon n°12: Bluetooth…

1. Introduction
Qu’est ce que Bluetooth ?
La traduction intégrale de cette expression signifie « dent bleue ». Quel rapport existe-t-il entre Bluetooth et la brique NXT ?

Pour répondre à cette question, commençons par un peu d’histoire.
Bluetooth est une spécification de l'industrie des télécommunications. Elle utilise une technologie sans fils, radio courte distance destinée à simplifier les connexions entre les appareils électroniques. Elle a été conçue dans le but de remplacer les câbles entre les ordinateurs et les imprimantes, les scanners, les claviers, les souris, les téléphones portables, les assistants personnels (PDA), les autoradios et les appareils photo numériques.
La technologie à été créée en 1994 par le fabricant suédois Ericsson, entreprise de télécommunications fondée en 1876. Cette marque est devenue (avec Sony Corporation) Sony Ericsson.

En 1998, Plusieurs grandes sociétés (Agere, IBM, Intel, Microsoft, Motorola, Nokia et Toshiba) s'associent pour former le Bluetooth Special Interest Group (SIG).
Ce nom est directement inspiré du roi danois Harald Ier (an 940) surnommé Harald Blåtand (« à la dent bleue »),

connu pour avoir réussi à unifier les États du Danemark, de Norvège et de Suède. Le logo de Bluetooth, est d'ailleurs inspiré des initiales en alphabet runique de Harald Blåtand.
En 2008 Le SIG, pour fêter les 10 ans de Bluetooth, annonce la prochaine génération de cette technologie sans fil, qui sera capable d'assurer des débits cent fois supérieurs à la version actuelle, passant donc de 1 Mb/s à 100 Mb/s (soit 12,5 Mo/s). Cette technologie - utilisée dans les téléphones mobiles, périphériques informatiques et autres appareils portables comme les assistants personnels (PDA) - va voir sa vitesse de transmission augmenter dans les années à venir, lui permettant alors d'être utilisée pour les vidéos haute définition et l'échange de fichiers avec un baladeur MP3 par exemple. La nouvelle norme incorporera une technologie radio, connue comme l'ultra wideband ou UWB.
Quelques explications
Revenons en arrière de plusieurs années, au port série ; notre bon vieux port série.
Il a été inventé dans les années 60 pour permettre de relier des périphériques, claviers, terminaux, matériels de mesures à des ordinateurs: le RS232.
Depuis, ce standard de l’EIA (Electronic Industries Association) a été rebaptisé en 1991 EIA232 et quelques modifications y ont été apportées. Les ports PS2 et claviers sont tous deux des ports série simplifiés. Le RS232 a été utilisé énormément pendant de nombreuses années et encore aujourd’hui, il est présent sur toutes les cartes mères.
Son évolution sans fil est l’IrDA, un protocole qui utilise les ondes lumineuses infrarouges pour transmettre des informations, la même technologie que dans nos télécommandes de télé. Ce protocole tout comme le RS232 ne permet que de connecter un seul périphérique à la fois. Un port série ne permet de ne relier qu’une souris ou qu’une imprimante (oui, il y a bien longtemps, les imprimantes se branchaient sur les ports séries) ou un autre périphérique. Moyennant bricolage matériel et logiciel, il est possible d’en relier plusieurs mais cela reste du bricolage.
C’est ainsi que l’USB (Universal Serial Bus) naquis. Pour permettre de brancher plusieurs périphériques en même temps sur le même port. Quand on regarde les spécifications de l’USB, on se rend d’ailleurs compte que ce n’est qu’un port série amélioré.
Restait donc à trouver l’équivalent de l’USB mais sans fil.
Bluetooth est l’évolution lointaine, sans fil du port série !
L’utilisation de périphériques Bluetooth est donc la même que celle des périphériques USB : relier un ordinateur à de petits périphériques personnels ou relier entre eux des périphériques personnels. Ce n’est donc pas une technologie permettant de monter des réseaux ou de relier entre eux de nombreux ordinateurs.
sur le site officiel Bluetooth http://www.bluetooth.com vous y trouverez beaucoup d’informations utiles.

Les fonctionnalités
Le NXT est donc équipé d’un dispositif Bluetooth, et pour communiquer sans fil, il a besoin d’un dispositif semblable installé chez ses correspondants.
Cela signifie entre autre, que l’ordinateur doit en être pourvu.
Dans le cas contraire, il est possible d’acquérir une clé spéciale qui se branche sur un port USB de l’ordinateur ( acquisition sur le site de LEGO®).

En utilisant bluetooth vous pouvez échanger des programmes entre plusieurs NXT, vous pouvez établir des connections sans fils entre votre robot et votre ordinateur, tester les programmes immédiatement, même si votre robot se trouve à l’autre bout du local.
Si vous disposez d’un téléphone portable équipé d’un dispositif bluetooth, vous pouvez l’utiliser pour contrôler votre robot, et même l’employer comme un capteur perfectionné tel que capteur d’images.
Il existe diverses applications « mobiles » ; aussi je vous invite à consulter le site LEGO®, vous y trouverez des idées et des tutoriaux très utiles.
Pour résumer, les capacités du NXT se définissent ainsi :

♣ Peut-être connecté jusqu’à 3 appareils en même temps, mais ne communique qu’avec un seul appareil Bluetooth à la fois.
♣ Recherche et se raccorde aux autre appareils Bluetooth.
♣ Mémorise la connexion avec le dernier appareil pour un raccordement plus rapide.
♣ Rend le NXT « visible » ou « invisible » par d’autres appareils.
♣ La fonction Bluetooth peut-être désactivée pour économiser la batterie.

Compatibilité
Utilisateurs PC ou MAC:
Les informations de ce paragraphe proviennent du site LEGO® http://mindstorms.lego.com/Overview/Bluetooth.aspx.

LEGO MINDSTORMS NXT est compatible avec Bluetooth Software inclus dans Microsoft Windows XP Service Pack 2 et WIDCOMM Bluetooth Software pour Windows v 1.4.2.10 SPS ou plus récent.

MINDSTORMS NXT est compatible avec Bluetooth Software inclus dans Apple MacOS X 10.3.9, 10.4 et 10.5
Il est nécessaire de disposer de l’une de ces versions, pour établir une connexion entre votre ordinateur et la brique intelligente MINDSTORMS NXT.

Le tableau ci-dessous liste les appareils disposants de la technologie sans fil Bluetooth qui a été testé par LEGO® et ses partenaires.

Nota : ces appareils ont été testés seulement avec Widcomm® Bluetooth pour la version Windows plus récente que v. 1.4.2.10 SP5 et Bluetooth stacks inclus dans Microsoft Windows XP - Service Pack 2 / Apple MacOS X 10.3.9 et 10.4.

Tableau des compatibilités Bluetooth et MINDSTORMS NXT

Appareils Bluetooth Compatibilité
Abe UB22S ***
Belkin F8T003 ver. 2 (short range) ***
BlueFRITZ! AVM BT adapter, BlueFRITZ! USB v2.0 ***
Cables Unlimited USB-1520 ***
Dell TrueMobile Bluetooth Module *
Dell Wireless 350 Bluetooth Internal Card ***
Dlink DBT-120 ***
MSI Btoes ***
MSI StartKey 3X-faster ***
TDK GoBlue ***
Qtrek, Bluetooth USB Adapter v2.0 ***

(Compatible / Bonne performance : ***
Non compatible / Maigre Performance : *)

2. Mettre plusieurs NXT en communication
Vous avez peut-être envisagé de mettre votre robot NXT en communication ou en partage d'informations avec d'autres robots NXT. Ou alors, si vous possédez un deuxième kit NXT, vous envisagez d'associer une télécommande à votre robot, afin qu'il puisse commander cette seconde brique NXT.
Pour réaliser ce dispositif, vous devez utiliser un couple de blocs NXT-G que nous allons étudier dans cette leçon.
Certains trouvent ces blocs compliqués, mais en réalité ils sont simples, à condition de bien comprendre le concept de base de l'expédition et de la réception des messages.
Mais pour utiliser ce concept, il est nécessaire, d'abord, de mettre en communication via Bluetooth deux ou plusieurs briques NXT. C'est ce que je vais tenter de vous expliquer à présent.

1ère étape:
Vous allez d'abord travailler directement sur les menus internes du NXT et les boutons, en utilisant le petit écran.
a) Activation de bluetooth (si cette fonction n’est pas activée).
ce travail est à faire sur les deux NXT .
Allumez le premier NXT (le maître).
Image
- à l’aide de la flèche droite gris clair, déplacez-vous dans les sous-menus jusqu’à BLUETOOTH . Sélectionnez BLUETOOTH en appuyant sur le bouton orange.
- Puis, sur ON/OFF en utilisant les flèche droite gris clair.
Image

Pour activer Bluetooth, sélectionnez ON/OFF en appuyant sur le bouton orange. Quand vous sélectionnez ON, un petit symbole Bluetooth apparaît dans le coin haut à gauche de l’écran du NXT. (voir ci-dessous).
Image
b) Renommez le NXT si nécessaire.
Pour identifier plus facilement vos NXT donnez leur des noms différents. A faire sur votre ordinateur en utilisant le logiciel Lego® Mindstorms® NXT-G.
c) Mise en place d’une connexion Bluetooth NXT-à-NXT.
1. Assurez-vous que BLUETOOTH est activé sur les 2 NXT (voir ci-dessus)
2. Sur l’un des 2 NXT (le maître), déplacez-vous et sélectionnez le menu BLUETOOTH à l’aide des flèches gris clair.
3. Puis, choisir SEARCH. Image
Activez SEARCH puis à l’aide des flèches gris clair choisir l’autre NXT (NXT 2). Cela demande à être fait par seulement l’un des deux NXT (le maître). ImageAcceptez NXT2. Vous serez alors invité à choisir un numéro de ligne de communication (le NXT peut être connecté à 3 appareils différents en même temps). Choisissez l’un des 3 numéros ; pour notre exemple n°2. ImageSi cela est fait correctement, chaque NXT émettra un beep sonore et vous invitera à saisir un mot de passe. Ce mot est 1234 et doit être saisi automatiquement sur l’écran du NXT (à faire seulement pour la première fois).Image Sélectionnez la coche encadrée sur les deux NXT et cliquer sur le bouton orange pour établir la connexion. Cette Connexion peut être vérifiée en examinant l’angle haut à gauche de l’écran. ImageSi le symbole Bluetooth n’est suivi que par le signe <, la communication n’est pas établie. Si par contre il est suivi par le signe <>, alors la connexion est établie (voir cercle rouge ).Image Cette communication est "silencieuse", c'est à dire établie sans top sonore. Pour vous assurer qu'elle est bien active, il faut vérifier constamment les symboles entourés d'un cercle rouge.
Après avoir établi la connexion, vous pourrez effectuer une vérification en choisissant CONNECTIONS du sous-menu BLUETOOTH ; les 2 NXT devraient être associés.

2ème étape:
Assurez-vous que les 2 robots NXT sont câblés correctement.
Assurez-vous que les programmes respectifs sont bien installés sur chaque NXT
Placez vos robots sur une surface d’évolution dégagée.
Lancez l’exécution des programmes correspondants sur chaque NXT, en commençant par le NXT esclave.

Remarque:
Pour de plus amples explications, je vous invite à consulter le menu "Aide et support" du logiciel NXT-G dans les rubriques "Bloc Envoyer message" et "Bloc Recevoir message".

3. Les blocs "Message"

Pour communiquer entre eux, 2 NXT s'envoient et reçoivent des messages. Celui qui envoie est considéré comme "maître" et celui qui reçoit comme "esclave".
Le NXT (maître) qui communique avec d'autres NXT, par l'intermédiaire de canaux de communications, choisit le numéro de connexion (1, 2 ou 3) sous lequel le second NXT (esclave) est identifié. Sur le NXT (esclave), le NXT (maître) est identifié sous le numéro 0.
Numéro de connexion
Le numéro de connexion de chaque NXT peut être considéré comme son adresse dans l'univers sans fil. On peut donc envoyer un message à un NXT précis en indiquant son numéro de connexion.
Remarque:
Il n'y a pas de différence fondamentale entre un maître et un esclave. Tous deux disposent de bluetooth pour communiquer, mais il est judicieux de confier le rôle de maître à celui qui a le plus de responsabilités. Un exemple est celui d'un robot qui envoie un signal à un autre robot pour le déplacer, ou pour qu'il émette un son ou encore pour relever une valeur d'un capteur.
Parfois plusieurs robots peuvent évoluer à l'aide d'un même programme et s'envoient des signaux dans les deux sens; dans ce cas, choisissez l'un d'entre eux comme maître, et les autres (à concurrence de 3) seront configurés comme esclaves. Comme vous disposez de 4 valeurs possibles, les 3 briques NXT seront en communication avec une brique NXT maîtresse. Ainsi, un robot NXT pourra en contrôler jusqu'à 3.

Un NXT dispose donc d'un moyen très intéressant pour adresser une simple information à un autre NXT. Par exemple relever le nombre d'activations du capteur tactile, et l'envoyer à un autre NXT. Et s'il était nécessaire d'envoyer plus d'informations? Par exemple la valeur du niveau de luminosité du capteur photosensible ainsi que que le nombre de rotations du moteur B à un autre robot. Cela est-il possible?
Si on admet que chaque message potentiel se comporte comme une variable, alors la réponse est oui.
Les blocs "Envoyer un message" et "recevoir un message" peuvent échanger entre eux jusqu'à 10 messages à l'aide de boîtes aux lettres.

Numéro de boîte aux lettres
Chaque NXT possède 10 numéros de boîtes aux lettres où des messages sans fil peuvent être déposés. Chaque numéro de boîte aux lettres peut contenir 5 messages. Si un numéro de boîte aux lettres contient déjà 5 messages, l'ajout d'un message supplémentaire forcera le NXT à effacer le plus ancien.

Bloc "Envoyer un message"
Ce bloc est disponible dans la "palette entière" série "action". C'est un bloc actif, émetteur comme le bloc son ou moteur.
Fig.10
Image
L'icône présente une flèche sortante précisant qu'il s'agit d'un départ.

Pour envoyer un message sans fil (lorsque tous les NXT ont reçu un numéro de connexion), sélectionner tout d'abord le numéro de connexion du NXT de destination. Choisir ensuite le format du message (texte, numérique ou logique). Entrer le message en tapant du texte ou un nombre, ou en choisissant une condition logique (vrai ou faux). Enfin, choisir le numéro de boîte aux lettres (où le message sera stocké) sur le NXT de destination. Le format du message et le message proprement dit peuvent également être définis à l'aide de fils de données en entrée.

1. Utiliser les cases d'option pour choisir le numéro de connexion du NXT de destination.
2. Le menu déroulant permet de sélectionner le type (Texte, Numérique ou Logique).
3. Entrer le message en tapant du texte ou un nombre (selon le format choisi Texte ou Numérique), ou utiliser les cases d'option pour choisir une valeur logique (vrai ou faux).
4. Choisir le numéro de boîte aux lettres sur le NXT de destination.

Le bloc Envoyer un message peut être contrôlé de manière dynamique en connectant à son plot de données des fils de données (provenant des plots de données d'autres blocs).
Fig.11
Image

Bloc "Recevoir un message"
Ce bloc est disponible dans la "palette entière", série "capteur". Il fait donc partie de cette famille et se comporte comme un conteneur de messages, un peu comme un bloc Variable.
Fig.12
Image
L'icône présente une flèche entrante précisant qu'il s'agit d'une arrivée.

Pour recevoir un message sans fil, fixer le type et le numéro de boîte aux lettres afin qu'ils correspondent à ceux du NXT source. La sortie de ce bloc peut être le message entrant ou une valeur logique « vrai/faux » (si on compare le message entrant à un message de test).

Réception d'un message

Pour recevoir un message sans fil (lorsque tous les NXT ont reçu un numéro de connexion), indiquer tout d'abord le format du message entrant (texte, numérique ou logique).
Si vous voulez définir un test qui vérifie si un message précis a été reçu (ce qui amène le bloc Recevoir message à envoyer un signal « vrai »), entrez le texte ou le nombre de test dans la zone de saisie, ou sélectionnez l'option Vrai ou Faux. Si le message entrant correspond au message de test, le bloc envoie un signal « vrai » via sa prise « √/x ».

1. Le menu déroulant permet de sélectionner le type (Texte, Numérique ou Logique) du message reçu.
2. Si on souhaite comparer le message entrant à un message de test, entrer le texte ou le nombre de test (si vous avez respectivement choisi le format Texte ou Numérique), ou utilisez les cases d'option pour choisir la valeur logique (vrai ou faux) du test.
3. Choisissez le numéro de boîte aux lettres où le message entrant sera stocké.

Le bloc Recevoir un message peut être contrôlé de manière dynamique en connectant à son plot de données des fils de données (provenant des plots de données d'autres blocs).
Fig.13
Image

Voici à présent un exemple, pour illustrer ce dispositif d'envoi et de réception de messages.
Commençons par le pseudo code:

LEO :cri: > BONG, avance jusqu'à ce que le capteur US détecte un objet à 25 cm, puis arrête-toi.
LEO :cri: > BONG, lit la valeur de ton capteur photosensible.
LEO :cri: > BONG, envoie la valeur relevée de ce capteur à BONGbis, en utilisant la boîte aux lettres 3.

Voici à quoi ressemble le programme écrit en NXT-G:
Fig. 14
Image

La valeur du capteur photosensible est adressé au bloc Envoyer un message dans la boîte aux lettres 3, à l'aide d'un fil de données reliant le plot Intensité du capteur photosensible au plot numérique du bloc Envoyer un message.

Maintenant, si je dispose d'un second robot appelé BONGbis, je peux imaginer un autre pseudo code:

LEO :cri: > BONGbis, vérifie la valeur numérique déposée dans ta boîte aux lettres 3.
LEO :cri: > BONGbis, compare cette valeur à celle lue par ton capteur photosensible
LEO :cri: > BONGbis, si ces deux valeurs sont égales, avance de 8 rotations.

Et la traduction en programme NXT-G est la suivante:
Fig.15
Image

On observe que BONGbis relève la valeur de son capteur photosensible et cette valeur est transmise au bloc Recevoir un message. Puis, BONGbis vérifie et lit le contenu de sa boîte aux lettres 3. Une comparaison est alors faite entre la valeur stockée et celle lue sur son capteur photosensible. Cette comparaison est faite automatiquement, parce qu'une valeur numérique a été fournie par le capteur au moyen d'un fil de données en entrée, relié au bloc Recevoir un message, et qu'un autre fil de données en sortie logique est relié au plot logique du bloc Commutateur. Cette disposition force le bloc Recevoir un message à comparer ces 2 valeurs. Si ces 2 valeurs sont égales, un valeur logique VRAI est alors transmise au bloc Commutateur par le plot OUI/NON (à ne pas confondre avec le plot logique en sortie), qui sélectionne le chemin correspondant; c'est à dire le déplacement de BONGbis (8 rotations).

Les blocs Envoyer un message et Recevoir un message sont absolument nécessaires pour que 2 robots NXT ou plus, puissent communiquer et échanger des informations.
Il est intéressant de signaler qu'avec un deuxième kit NXT, il est possible de réaliser une télécommande pour contrôler un autre robot. Pour cela vous utiliserez dans la télécommande, les blocs Envoyer un message qui adresseront des valeurs numériques au robot, comme le nombre de rotations ou de degrés aux moteurs B et C ou d'autres paramètres comme la vitesse ou la puissance.

Vous trouverez un exemple de télécommande en visitant mon site…
http://web.mac.com/roboleo/Roboleo/Bluetooth_2.html



Edit : suite de la leçon : post34096.html#p34096
Dernière édition par roboleo le Ven Mai 15, 2009 4:53 pm, édité 2 fois au total.
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

cybermaster
Level 11
Level 11
 
Messages: 2205
Localisation: Valence
Âge: 29 ans

Messagepar cybermaster » Ven Mai 15, 2009 12:37 pm

Donc par exemple, je peut envoyer un message bluetooth de mon portable au NXT, qui lui dit de faire une certaine action, prévue à l'avance dans le NXT ?
Image

Le jour où on mettra les con* sur orbite, j'en connait qui n'ont pas fini de tourner

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Ven Mai 15, 2009 2:08 pm

cybermaster a écrit:Donc par exemple, je peut envoyer un message bluetooth de mon portable au NXT, qui lui dit de faire une certaine action, prévue à l'avance dans le NXT ?

Oui, en effet, mais je n'ai pas traité encore le sujet des téléphones portables.
J'ai l'intention de demander à Thibaud (qui est un spécialiste de la question) de rédiger un petit texte.

Thibaud… si tu m'entends, fais moi savoir si tu es d'accord! ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 55 ans

Messagepar semtou » Sam Mai 16, 2009 10:05 pm

Oui le bluetooth c'est génial et Thibaud nous à fait une démo avec son pad asses sympa et surtout beaucoup plus simple avec qu'avec un téléphone portable. Du coup, j'ai essayer sur mon portable Sony Ericsson j'ai pu mettre un logiciel qui transforme mon téléphone en télécommande. le truc qui est pas mal c'est que le téléphone regarde les programmes disponibles sur le NXT et propose de les lancés par un simple appuis sur une touche.
Image
L'avantage des sony c'est qu'il ont un joystick qui permet le déplacement dans les menus et que dans mon cas il sers à déplacer le robot dans tous les sens.
Seul bémol pour arrêter le mouvement il faut appuyer sur le stick.
j'ai un fichier .pdf des téléphones compatibles avec le NXT le mien n'étais pas sur la liste mais j'ai réussi à le faire fonctionner quand même. Si ça vous intéresse ? C'est une liste qui date de la sorti du NXT 2006 et donc les téléphones de cette génération sont rares.
A bientôt
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

cybermaster
Level 11
Level 11
 
Messages: 2205
Localisation: Valence
Âge: 29 ans

Messagepar cybermaster » Dim Mai 17, 2009 12:04 pm

Moi non plus il n'y est pas sur la liste, pourtant j'ai enregistré le programme (qui fonctionne comme un jeu sur mon portable) et il se lance correctement. J'ai pas encore testé avec un vrai programme sur le nxt ;)

Y'a tout ce qu'il faut pour en savoir plus avec les téléphones là : http://mindstorms.lego.com/Overview/Mob ... ation.aspx ;)

edit :
semtou a écrit:j'ai un fichier .pdf des téléphones compatibles avec le NXT le mien n'étais pas sur la liste mais j'ai réussi à le faire fonctionner quand même.


En fait les téléphones de la liste ont étés testés et approuvés par lego avec le nxt, mais rien ne dit que d'autres ne sont pas compatibles ;)
Image

Le jour où on mettra les con* sur orbite, j'en connait qui n'ont pas fini de tourner

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Dim Mai 17, 2009 2:16 pm

cybermaster a écrit:En fait les téléphones de la liste ont étés testés et approuvés par lego avec le nxt, mais rien ne dit que d'autres ne sont pas compatibles ;)

En effet, LEGO a testé un certain nombre d'appareils; rien ne dit que cette liste, qui date un peu, est toujours valable. Il est probable que d'autres appareils soient communiquants.
Je vous prépare la suite dans la leçon n°12. J'aborde la liaison avec un portable. J'espère qu'elle répondra à vos interrogations. Seul problème: je n'ai pas de portable (j'en ai pas l'usage), donc je n'ai pas la possibilité de m'assurer du bon fonctionnement. il faudra que vous vérifiez par vous mêmes, et surtout me faire savoir si la procédure que je décrirai fonctionne correctement. ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Dim Mai 17, 2009 8:24 pm

NXT-G, Leçon n°12: Bluetooth…(suite et fin)

Comment faire communiquer un téléphone portable avec un NXT?
Comment commander un NXT à partir d'un portable?
Nous voici devant quelques paris très intéressant qui offrent encore plus de possibilités à vos robots.

Contrôler le NXT de la paume de la main ! Télécommander un robot NXT comme un véritable racer LEGO®.
Contrôler quelques programmes personnalisés ou faire prendre des photos par un NXT en utilisant un téléphone portable.
Tout cela est possible à l'aide d'un NXT et d'un mobile. Et tout se passe comme si ce mobile se comportait comme un 2ème NXT (et il peut être maître ou esclave).

Télécharger le logiciel 'NXT Mobile Application':

Pour qu'une liaison Bluetooth entre un portable et un NXT soit possible, il est nécessaire d'installer sur le portable un logiciel particulier conçu par LEGO®. Pour que cette installation soit possible, le portable doit être en mesure de supporter le téléchargement, c'est-à-dire être compatible.
Cette liste fournie par LEGO® contient les types d'appareils courants compatibles avec le logiciel NXT Mobile Application:
Nokia http://www.nokia.com/
6680
3230
Sony Ericsson http://www.sonyericsson.com
W800i
W550i
K610i
K800i
K750i
Z710i
Z550i
K510i
BenQ-Siemens http://communications.siemens.com/
CX75
S65
Ces appareils téléphoniques, ont été vérifiés par LEGO® et fonctionnent avec le logiciel NXT MOBILE APPLICATION.
D'autres appareils sont susceptibles de fonctionner, en particulier ceux qui disposent une zone réservée pour télécharger des applications et qui acceptent le langage Java.
Il faudra donc vérifier ce service en examinant le manuel de l'utilisateur du portable.

Le logiciel NXT Mobile Application
A télécharger à partir du site LEGO®
http://mindstorms.lego.com/eng/Overview ... ation.aspx

Usage
Ce logiciel propose 2 manières pour contrôler le NXT: par télécommande ou par programmation.
En télécommande, il suffit de déplacer la molette d'orientation pour faire évoluer le robot.
En programmation, la molette d'orientation sert à sélectionner le bon programme, puis en appuyant sur un numéro, envoie le programme correspondant sur le NXT.

Procédure
1 - Vous devez pouvoir disposer de bluetooth sur votre ordinateur afin d'installer le logiciel NXT Mobile Application sur votre appareil téléphonique portable.
2 - Votre téléphone portable doit pouvoir fonctionner en bluetooth et interpréter le langage Java (JSR-82).
Assurez vous que votre opérateur vous alloue une zone réservée aux applications et que la configuration de votre appareil vous permet d'installer java. Vous devrez peut-être modifier la configuration pour utiliser les applications java; (consulter le manuel de l'appareil).
http://www.mindstorms.com/bluetooth/
Un tableau récapitulatif des appareils compatibles est inclus dans le paquet de téléchargement du logiciel.
3 - Le logiciel NXT Mobile Application est compatibles avec la brique NXT, versions FW 1.03, AVR 1.01, BC4 1.01 et suivantes.

Téléchargement et installation
1 - Assurez-vous que votre téléphone portable est en mesure de fonctionner avec cette application.
2 - Téléchargez le logiciel NXT Mobile Application sur votre ordinateur.
3 - Assurez vous que la liaison Bluetooth est activée sur votre téléphone et le NXT
4 - Recherchez sur votre ordinateur le fichier NXTmobile.jar spécifique à votre appareil (ils sont rangés dans des dossiers par type et marque), puis installez le sur votre téléphone:
PC: rechercher l'application téléchargée puis clic droit sur le fichier. Choisir 'Send to' (envoyer à) dans le menu et choisir 'Bluetooth unit'. Trouver et sélectionnez votre appareil, puis suivez les instructions.
MAC: Click sur l'icône Bluetooth de la barre de menu, puis choisir 'Envoyer un fichier'. Sélectionnez le NXTmobile.jar de votre appareil, puis clic sur 'Envoyer'. Rechercher votre téléphone dans la liste des appareils et clic sur 'Envoyer'. Suivre ensuite les instructions.

Désinstallation du logiciel NXT Mobile Application
Se référer au manuel d'instructions de votre appareil téléphonique pour désinstaller le logiciel. En général, il suffit de supprimer le programme du mobile.

Se connecter
1 - lancer le logiciel NXT Mobile Application de votre portable en navigant vers le dossier le contenant (généralement 'games' ou 'Applications'). Dès le lancement, le programme cherchera automatiquement les appareils NXT. La première fois que vous connecterez un nouveau NXT, il sera nécessaire de 'jumeler' ce NXT et le logiciel NXT Mobile Application:
- Sur le NXT: accepter la connexion à l'aide de la coche (mot de passe)
- Sur le Mobile: Saisir le mot de passe (défaut du NXT étant 1,2,3,4)
La fois suivante, le logiciel trouvera automatiquement votre NXT; vous n'aurez alors, qu'à le sélectionner pour se connecter.
Astuce: personnalisez votre NXT et votre Mobile en leur donnant des noms distincts. Cela évitera toute confusion avec d'autres NXT ou Mobiles au moment d'une connexion Bluetooth.

Utilisation courante
Une fois le logiciel NXT Mobile Application lancé, vous disposez des options suivantes à partir du menu principal:
Info
Une brève description du logiciel NXT Mobile Application, où trouver de l'aide plus quelques informations - et la terminologie employée dans le logiciel.
Télécommande
Elle permet de contrôler 2 moteurs sur le NXT. Utiliser la molette d'orientation du portable pour avancer, reculer et arrêter. On peut également choisir de contrôler un moteur à la fois. Si votre robot est conçu comme un tribot, il pourra fonctionner comme un engin téléguidé.
Contrôle par programme
Ce mode vous permet de contrôler tous les programmes enregistrés sur le NXT. D'abord, choisir le programme à contrôler. Ensuite vous pouvez déclencher un ordre par un message envoyé à votre NXT, en appuyant sur une touche numérique du portable. Ce que fera le NXT après avoir appuyé sur une touche, dépend entièrement de votre programme.
Données enregistrées (Collected data)
Si le NXT est conçu pour que votre portable prenne des photos, c'est l'endroit où vous récupérerez les fichiers, aussi bien par exemple, que les relevés des capteurs.
Remarque: les données récupérées, ainsi que les photos sont supprimées de la caméra quand on quitte l'application.

Utilisation avancée et exemples de programmes
En complément des informations précédentes, la molette de navigation peut être complétée par les touches du portable:
[1] [4] [7] et [*] contrôle le moteur A
[2] [5] [8] et [0] contrôle le moteur B
[3] [6] [9] et [#] contrôle le moteur C
Ces touches permettent d'affiner les rotations des moteurs, bien mieux que la molette. Par exemple, faire suivre un trajet courbe par un véhicule, ou contrôler les 3 moteurs en même temps.
Exemple
Appuyer sur [3] active l'avancée du moteur C. Appuyer sur [6] fait démarrer le moteur C et en répétant le geste sur ce même bouton accroît la vitesse. Appuyer sur [9] fera décroître la vitesse. Pour arrêter le moteur, appuyer sur [3].
Pour activer la marche arrière du moteur C, appuyer sur [#]. Appuyer à nouveau sur [6] augmentera la vitesse et [9] diminuera cette vitesse en marche arrière. Appuyer sur [3] stoppe le moteur.
Astuce: pour arrêter et réinitialiser les moteurs, appuyer sur OK de la molette de navigation.
Vous pouvez également changer les paramètres de défaut en choisissant "Options" dans le mode "télécommande (remote control)". La valeur de défaut est moteurs B+C, mais si votre robot est branché différemment, le changement est réalisé en utilisant ce mode.

Contrôle par programmation
Lorsque le logiciel NXT Mobile Application démarre, il recherche tous les programmes de votre NXT de manière à les rendre accessibles. Vous pouvez alors activer l'un d'entre eux, en sélectionnant dans le menu "options" du portable, ou utiliser ces raccourcis:
Sur la molette de navigation: Up, Down, Left, Right
Sur le clavier: [*] [+] [#]
Pour personnaliser les raccourcis:
1 - choisir "Options"
2 - sélectionner le programme concerné et appuyer sur "More" puis sur "Move Prg"
3 - Sélectionner la touche à associer au programme et choisir "More" puis sur "Place Prg"
Quand un programme est activé, des messages peuvent être adressés en appuyant sur les touches numériques de [0] à [9].

Exemples:
A télécharger à partir du site LEGO®
http://mindstorms.lego.com/eng/Overview ... ation.aspx
(NXT Mobile Application Documentation.zip (zip 1MB))
Ouvrir à partir de votre ordinateur, les 2 programmes tests en utilisant le logiciel NXT-G, puis installez les sur votre NXT (vous savez comment faire, n'est-ce pas?).

SendMsg.rbt
Image

Raccorder le capteur tactile au port 1? Quand le capteur est appuyé, le NXT adresse un message à votre portable pour prendre une photo (si votre potable dispose de cette fonction).
Raccorder ce même capteur au port 2 et appuyer. Cela déclenche une sonnerie sur votre portable.
Raccordé au port 3, appuyer sur le capteur déclenche l'envoi d'un message texte vers le portable: "hello".
Remarque: vous pouvez retrouver les données reçues par le portable dans "Collected data".

RecieveMsg.rbt
Image

En appuyant sur les touches [1] [2] ou [3] du portable, fait dire par le NXT le numéro activé.
Remarque: essayez de personnaliser ces 2 programmes tests pour en savoir plus sur la manière de rendre les programmes compatibles avec le logiciel NXT Mobile Application.

Et maintenant, j'attends vos réactions… Ne disposant pas de téléphone portable, je n'ai pas pu tester les procédures. ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 55 ans

Messagepar semtou » Mar Aoû 11, 2009 10:24 am

Super roboléo alors pour être honnête cette fois-ci j'imprime (scusez pour l'environnement) et j'emporte pour lire sur la plage car rien n'est plus nul que la plage quant on passionné de légo comme moi. Si j'osais prendre une excavatrice motorisé pour jouer dans le sable... mais bon j'ai 2 filles et elles auraient honte de voir ça. :( merci à toi pour ses explications et pour m'offrir de la lecture estivale. A +
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Avatar de l’utilisateur
rollacool
Level 4
Level 4
 
Messages: 82
Localisation: dierre
Âge: 26 ans

Messagepar rollacool » Lun Nov 02, 2009 6:07 pm

salut

Comme je vais avoir le nxt 2.0 a noel j'aimerais savoir si on pouvait le diriger avec le telephone qui a le bluetooth?
Sur brickshelf il y a un gars qui a mis une photo de son portable est a mis des couleurs sur les touches et leur correspondances a coté, mais c'est pas en francais et je comprend rien...
Donc ceux qui ont le nxt et qui s'y connaisse: est-ce qu'il faut un logiciel a installer sur le portable ou si ca se fait tout seul??
A+
rollacool
"Si j'avais le portefeuille de Manu Chao j'acheterai des lego"

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Mar Nov 03, 2009 1:06 pm

rollacool a écrit:est-ce qu'il faut un logiciel a installer sur le portable ou si ca se fait tout seul??

C'est dit plus haut…

Le logiciel NXT Mobile Application
A télécharger à partir du site LEGO®
http://mindstorms.lego.com/eng/Overview ... ation.aspx
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
rollacool
Level 4
Level 4
 
Messages: 82
Localisation: dierre
Âge: 26 ans

Messagepar rollacool » Mar Nov 03, 2009 1:40 pm

Merci roboleo mais je sais pas si avec mon portable sa marche il est pas dans la liste lego...
"Si j'avais le portefeuille de Manu Chao j'acheterai des lego"

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Mar Nov 03, 2009 4:20 pm

rollacool a écrit: je sais pas si avec mon portable sa marche il est pas dans la liste lego...

Cette liste est en effet ancienne. Cela ne signifie pas que d'autres appareils plus récents ne puissent fonctionner.
Tu n'as qu'à essayer le téléchargement (voir plus haut).
Ton portable doit pouvoir recevoir des fichiers .jar rangés dans des dossiers par type et marque. ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
cityzen
Level 3
Level 3
 
Messages: 45
Âge: 44 ans

Messagepar cityzen » Lun Nov 08, 2010 12:25 pm

Mode déterrage de post sur ON.

Je viens de trouver ca:

http://mindstorms.lego.com/en-us/News/R ... ?id=227417

En gros il me suffit de pencher mon tel dans un sens ou dans un autre pour faire prendre vie au NXT. Le tel fais office de télécommande proportionnel, plus je penche mon tel en avant et plus il avance vite et idem sur les cotés. Et enfin en bas de l'écran se trouve un bouton action.

Je ferais une vidéo dés que possible!
Plus tu pédale moins vite et moins t'avance plus vite.

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Lun Nov 08, 2010 5:21 pm

cityzen a écrit:Mode déterrage de post sur ON.

Je viens de trouver ca:

http://mindstorms.lego.com/en-us/News/R ... ?id=227417

En gros il me suffit de pencher mon tel dans un sens ou dans un autre pour faire prendre vie au NXT. Le tel fais office de télécommande proportionnel, plus je penche mon tel en avant et plus il avance vite et idem sur les cotés. Et enfin en bas de l'écran se trouve un bouton action.

Je ferais une vidéo dés que possible!

En effet, j'avais déjà vu cet article dans les News.
La technologie se développe à grande vitesse, et il y a de plus en plus de nouveaux matériels qui permettent de piloter les robots Mindstorms NXT. La liste est difficile à établir pour l'instant. Je pense que nous allons vers une sorte de standardisation des portables nouvelle génération.
Si tu as expérimenté, rédige un topo pour expliquer la procédure. J'en tiendrai compte dans la révision de la leçon. ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

jc_renaud
Level 1
Level 1
 
Messages: 3

Messagepar jc_renaud » Ven Jan 07, 2011 11:42 am

Bonjour à tous !

Cela fait maintenant un petit bout de temps que je me bats avec mon PC et ma brique pour les faire communiquer grâce au Bluetooth.
J'ai essayé avec une clé Belkin et une carte bluetooth intégrée avec différents drivers (Natif HP, WIDCOMM et Microsoft generic driver). L'appairage se faisait mais aucune communication possible: message "Line is Busy" avec seulement le signe "<" en haut à gauche de la brique.

J'ai acheté une autre clé bluetooth (TrendNet) donc le chipset est différent de la Belkin (Chipset CSR) et BlueSoleil. Cette fois, l'appairage se fait et la communication semble être établie. C'est à dire que le signe "<>" est affiché en haut à gauche de la brique. (J'ai d'aileurs pu obtenir le même résultat avec la clé Belkin et la carte intégrée en installant la dernière version de BlueSoleil). La communication semble donc établie mais lorsque je souhaite utilisé NXT-G, il m'annonce qu'aucune brique n'est connectée... Y'a-t-il une manipulation particulière à faire pour établir la connexion ???

J'avoue que je ne sais plus trop quoi faire... Mon PC tourne sous Vista et j'ai tenté NXT-G 1.1 ainsi que la version Edu de NXT-G 2.0.

Par avance, merci de votre aide

Jc !


Retourner vers De la théorie à la pratique

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités