Wiimote
ldci9-Mar-2011/22:01:39+1:00
Qui aurait une idée sympa pour accéder aux manettes WII à partir de Rebol sans passer par un wrapping de dll ou autre?. La wwimote, c'est du bluetooth avant tout.
sameeg21-Mar-2011/0:58:55+1:00
passer par un port serie BT ?
ldci21-Mar-2011/8:58:08+1:00
Oui c'est ça, mais cela ne semble pas aussi simple qu'un seul port série. Cela marche avec les commandes HCI et pour l'instant la doc est assez sommaire
ldci28-Mar-2011/18:37:37+2:00
Voici quelques infos intéressantes glanées sur le net
http://abdessel.iiens.net/wiimote/iimonde/article
Une wiimote est un peripherique bluetooth, et elle a une adresse pour l'identifier.


#!/usr/bin/python import bluetooth
peripheriques=bluetooth.discover_devices(lookup_names=True) for appareil in peripheriques :
if (appareil[1] == "Nintendo RVL-CNT-01") : fileHandle = open("wiimote.mac", "w") fileHandle.write(appareil[0]) fileHandle.close()
print("wiimote MAC address saved in wiimote.mac")

Quand on a récupéré l' adresse de la Wiimote, on ouvre deux socket :
- input pour recevoir des données de la wiimote (port 0x13) - output pour lui envoyer des données (port 0x11)

Après c'est assez trivial, le seul problème a résoudre est simplement de récupérer l'adresse mac de la wIImote sous rebol sans avoir à passer par un script python qui demande aussi la lib bluez (sous linux ) pour fonctionner
Sait on faire ça en Rebol?
A +
Didec28-Mar-2011/22:32:04+2:00
Il y a une API Windows socket depuis XP SP2 :

http://msdn.microsoft.com/en-us/library/Aa362928

N'y aurait-il pas moyen de passer par là ?
ldci29-Mar-2011/21:31:45+2:00
Salut Didec
C'est une option intéressante, mais dans l'absolu je voulais faire une version non dépendante de l'OS comme j'avais réussi à le faire avec les capteurs bluetooth que nous avons développés et qui fonctionnent ansi sous Mac OS, Linux et Windows. Je regarderai en détail quand j'aurai un peu plus de temps.
A +
Didec30-Mar-2011/9:57:35+2:00
Comment ça marche avec tes capteurs ?

D'après ce que j'ai compris là difficulté et de trouver l'adresse du matériel. Après je comprend qu'on peut communiquer sur cette adresse avec Rebol. "Me trompe je" ?
ldci30-Mar-2011/11:04:56+2:00
@Didec
Trés simple: les capteurs offrent un service SPP (Serial Port Profile). C'est pour ça qu'avec Rebol c'est hyper simple
Bien évidemment les capteurs ont été jumelés auparavant par l'OS

Voici un exemple

; for bluetooth access: depends on OS
; for mac OSX
system/ports/serial: [cu.GREYSOFTAccelerator02-S]
;for windows
; nb de ports 10 max car après Rebol pédale dans la semoule
nbp: 10
for i 3 nbp 1 [append system/ports/serial to-word join 'com i]
;on adapte ensuite en fonction exemple AC1 on com3

ensuite une simple activation

Activate_BT: does [
   fl: flash info8
   wait 0.01
   
   if error? try [
                p: open/no-wait serial://port3/115200/8/none/1
                connected: true
                insert p join "ENABLE" newline
              unview/only fl
                ] [unview/only fl alert info7]
            
]

Mon capteur attend cette chaine "Enable" et ensuite se met à envoyer les données (dans ce cas X, Y, Z) en ascii


En revanche, c'est moins simple avec la wiimote qui utilise le protocole Bluetooth L2CAP: dans ce cas on est obligé de "taper" dans la stack bluetooth et c'est donc pour cette raison (du moins je pense) qu'a besoin de l'adresse mac de la wiimote

De toute façon si c'est trop compliqué, je passerai par des solutions dépendante de l'OS pour me pas avoir a réinventer la roue.
ldci30-Mar-2011/11:54:58+2:00
Au fait, je n'ai pas dit pourquoi je m'intéressais à la Wii: c'est essentiellement pour réaliser des programmes ludiques de restauration motrice chez des enfants et des adolescents infirmes moteurs cérébraux et ce sans passer par le SDK de Nitendo (payant).
J'ai déja commencé créer en rebol les structures nécessaires pour traiter les différentes extension de la wii (y compris Guitar Hero !)
Avis aux amateurs: c'est une opération d'aide pour tous ces enfants qui sont trop souvent laissés de côté.
jocko30-Mar-2011/12:08:29+2:00
Bravo,

j'ai beaucoup travaillé ces questions il y a plus de 10 ans, étant à cette époque personnellement touché par cette situation. Je n'utilisais pas Rebol, qui démarrait juste, mais un basic qui me permettait de faire facilement des jeux multimedia et de communication. Mon expérience me fait penser que Rebol est un bon environnement pour ce type d'applications : nécessité de sur-mesure, simplicité du code, y compris pour des applications interactives, avec de l'image, du son , de la musique. Depuis, j'ai fait pour une autre personne IMC quelques interfaces et applications basées sur Rebol. http://www.colineau.fr/rebol/logiciels_adaptes.html .
J'ai également, à l'époque, testé une multitude d'interfaces (détecteurs de mouvement, du son de la voix etc ...)
François, tiens-nous au courant ...
ldci30-Mar-2011/14:52:31+2:00
@jocko
Je me souviens très bien de ton travail et des discussions qu'on avait à cette époque (héroïque, non). Je vous donnerai plus d'infos dans quelques temps sur un projet institutionnel que je suis en train de mettre en place, mais il y aura de la place pour du code adapté sur mesure en Red ou en Rebol
A +
shadwolf30-Mar-2011/15:07:47+2:00
hum ... Miaou ? LDCI fais un serveur en C pour faire l'interface entre blutooth wiimote et application graphique en REBOL/View... Rebol adore parler le TCP, adore discequer les chaine ASCII et adore déssiner des trucs a l'écran utilise rebol pour ce qu'il adore faire et évite d'essayer de lui faire faire ce qu'il aime pas faire au final ce sera 10 fois plus compliqué d'essayer de convaincre rebol de faire ce qu'il a pas envi de faire.
shadwolf30-Mar-2011/15:09:33+2:00
et tu as de la chance les données blutooth générée par la wiimote ne sont pas cryptées ... Joies et Rires avec les systèmes proprio...
ldci30-Mar-2011/16:42:50+2:00
Salut Shad
J'ai pensé à cette technique, mais je suis un emm... (lol)
J'adore demander à Rebol de faire les choses qu'il n'aime pas faire à l'origine
et jusqu'alors j'ai toujours réussi.
shadwolf30-Mar-2011/18:15:26+2:00
Hum rien ne t'empeche de faire ton app avec un pont sous forme de serveur C servant au braodcast TCP des informations Blutooth. De batir ton GUI dessus avec rebol et une fois que tout marche tu serres le cou de rebol pour qu'il aille chercher les données dans la pile blutooth... C'est a mon avis plus cool de se prendre le chou avec rebol alors qu'on a deja une solution alternative qui fonctionne.

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2