Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [NDS/Palib] Nds Remote Control  (Lu 985 fois)
0 Membres et 1 Invité sur ce fil de discussion.
cheff Hors ligne
Newbie
*
Messages: 21


Voir le profil
« 07 Septembre 2008, 12:34:48 »

Voici un projet sur lequel je suis en train de travailler.

Mon projet consiste à utiliser la nintendo DS pour contrôler un PC ( dans mon idée original pour la partie multimédia ). Il y a donc 2 partie dans ce projet : Le serveur sur PC et le client sur DS.
Cependant, nintendo DS oblige, il y 2 contraintes techniques de taille. Premièrement la communication entre DS et PC passe par un réseau local ( ou par internet sa doit marcher également ) mais la DS doit se connecter à une AP via le wifi,  et secondement l'AP doit proposer une connection wifi en WEP ( la DS ne gérant pas le WPA ).



1° Le serveur

Le serveur est codé en java, donc est indépendant de la plateforme ( Linux, windows, Mac ). Au début je pensais faire un programme qui simule l'appuie sur les touches multimédias, mais cela aurai surement rendu le serveur dépendant de la plateforme, et le programme absolument pas flexible. J'ai donc décider d'utiliser un fichier de 'configuration' qui permet d'associer facilement à chaque touche de la DS ( sauf start et select ), une commande exécuté en console et une description de cette commande ( affiché sur la DS )

Les commandes sont chargés par défaut dans le fichier 'COMMANDS', vous pouvez également utiliser un fichier que vous passez en argument au programme.
Les fichier de 'configuration' sont formé selon cette forme:
Code:
Nom_Touche:commande_a_lancer:Description de la commande

#Exemple
UP:rhythmbox-client --volume-up:Volume UP

Les touches peuvent être : A,B,Y,X,L,R,UP,DOWN,LEFT et RIGHT. Le programme ignore les lignes vides ainsi que celles qui commencent par #.
Les commandes peuvent comporter des espaces, il n'y a aucune limitation à propos de la commande.
Les descriptions sont limités à 26 caractères, vous pouvez donc en mettre plus mais le texte sera tronqué.

Vous pouvez passer en 1ier argument du programme, soit le port d'écoute, soit le fichier de 'configuration', soit le port suivi du fichier.

Code:
java NdsRemoteServeur 8000
java NdsRemoteServeur fichier
java NdsRemoteServeur 8000 fichier

Par défaut, le port d'écoute est 8000.



2° Le client

La connexion au wifi se fait plus ou moins 'automatiquement', il faut cependant pré-configurer la connexion WFC, par un jeu officiel ( exemple Mario Kart).Il vous faut également le fichier 'server' à la racine de votre Carte µSD, qui doit contenir une seule ligne sous la forme : 'ip:port', l'ip doit être celle du PC que vous souhaitez contrôler et le port d'écoute.

Exemple
Code:
192.168.0.10:8000

Sur l'écran de la DS vous verrez donc les commentaires liée à chaque touche, affiché de façon très moche pour le moment, j'essayerai de corriger cela dans les prochaines versions.

La touche SELECT permet de se déconnecter du serveur, mais éteindre la DS ne pose pas de problèmes non plus en fait Langue




Les problèmes et Bug connus

Pour le moment je n'ai pas vraiment trouvé de bug, cependant l'affichage est moche , le programme met un certain temps à se lancer ( mais je ne pense pas pouvoir y changer quelque chose ), et dès fois la connexion wifi n'aboutit pas ( idem). Si vous trouvez des bugs n'hésitez pas à m'en faire part.
Pour le moment, je n'ai pas tester si le serveur marche sous windows, mais normalement devrait pas avoir de problèmes.



La suite

Pour le moment je n'ai pas vraiment d'idée, mais il y aura surement des corrections et des ajouts à faire dans de futures versions.Encore une fois, si vous avez des idées.... ;-)


Les sources

Le serveur est codé en objet, le fichier NdsRemoteServeur.java contient le main, appelle l'objet Command.java pour lire dans le fichier de configuration, puis l'objet Serveur.java.
http://alzeimeur.free.fr/NdsRemoteControl/Serveur_src.zip

Le client pour DS... Pas grand chose à dire Smiley
http://alzeimeur.free.fr/NdsRemoteControl/DSRemoteCtrl_src.zip

Les sources sont assez commentés  police


Telecharger

Les fichier .class du serveur : http://alzeimeur.free.fr/NdsRemoteControl/Serveur.zip
Les fichier pour DS : http://alzeimeur.free.fr/NdsRemoteControl/DSRemoteCtrl.zip


Les screenshot

Comme pour le moment, il n'y a pas moyen de faire marcher mon client sur émulateur ( Wifi oblige ) , donc quand je trouve mon APN je fais quelques photos. Wink
Journalisée
Pages: [1]   Haut de page
Imprimer

Aller à: