vendredi 11 août 2017

Un vrai jouet, ce télescope : le contrôle sans fil intégral via WiFi + bluetooth avec un joystick !

J'ai récemment découvert que le logiciel Nexremote fourni par Celestron avec le CPC 1100 proposait une option surprenante : le contrôle du télescope à partir d'une manette de jeu !

Amusant, et voilà qui tombait à pic puisque j'ai depuis quelques mois une manette bluetooth Microsoft Xbox One, qui me sert peu, mais que j'avais choisie car elle était non seulement compatible avec les PC sous Windows, mais aussi avec les Macbook...


Problème cependant : cette manette n'est pas reconnue par Nexremote, qui n'a dans ses paramètres que quelques très anciens modèles Logitech ou Trust, difficiles à trouver.

Voici donc en détail comment j'ai réglé le problème et réussi à remettre Nexremote "au goût du jour" avec cette manette Microsoft.

Tant qu'à faire dans le "sans fil", j'explique au préalable comment connecter le télescope au logiciel PC Nexremote via le module WiFi Celestron SkyPortal #93973, en utilisant le vieux pilote Celestron SkyQLinkPC, destiné au plus ancien adaptateur WiFi SkyQLink du constructeur.

Je rappelle que j'utilise, dans mon "observatoire à roulettes", un PC tournant sous Windows 10 64 bits, histoire de corser un peu l'affaire : ces logiciels Celestron sont en effet anciens, et les faire tourner sous un Windows récent en 64 bits n'était pas gagné d'avance. Et pourtant... ça marche parfaitement !


Premières difficultés, donc : réussir à installer les anciens logiciels Celestron sur ce PC récent, alors que leurs programmes d'installation nous bloquent tout au début de la procédure.

Heureusement, Windows 10 regorge d'astuces, dont celle-ci, pour assurer la compatibilité avec des logiciels plus anciens que lui. Il suffit donc de :
  • Dézipper les programmes d'installation, sans les exécuter : SkyQLink PC / Nexremote
  • Faire un clic droit sur le fichier dézippé, puis sélectionner "Résoudre les problèmes de compatibilité"
  • Sélectionner ensuite "Dépanner le programme"
  • Indiquer ensuite que le programme fonctionnait sous les anciennes versions de Windows, et préciser "Windows 7"
  • Il ne reste plus qu'à accepter le test proposé, ce qui "décoince" aussitôt la possibilité d'installer sous Windows 10.





Pour connecter SkyQLink PC au module SkyPortal branché au port AUX du CPC, il faut :
  • Mettre en position haute le petit switch sur le côté droit du SkyPortal, ce qui correspond au mode WiFi "Direct Connect" (par opposition au mode "Access Point")
  • Connecter le WiFi du PC à ce point d'accès : Celestron-AB
  • Démarrer SkyQLink PC, et dans le panneau "Settings" (clic droit pour l'afficher s'il ne s'ouvre pas tout seul), choisir :
    SkyQ Link IP : 1.2.3.4
    TCP Port : 2000
    COM Port : un numéro de port COM libre sur le PC, par ex. COM4
  • Le  "voyant" vert du bas sur la gauche de SkyQLink PC s'allume alors. Inconvénient, à ce stade, si tout est opérationnel pour prendre le contrôle à partir de Nexremote, il n'y a plus d'Internet sur le PC, puisqu'au lieu d'être connecté à son point d'accès WiFi habituel, il est connecté directement au télescope. Pour remédier à cela, il faut donc configurer le mode "Access Point" du SkyPortal, puis le rebooter :
    Clic droit sur SkyQLink PC
    Configure SkyQ Link Settings
    SkyQ Link Current IP : 1.2.3.4
    Check Connection
    Read Settings
    SSID : le nom de votre point d'accès WiFi habituel
    Passphrase : la clé WPA habituelle de votre point d'accès
    SkyQLink IP : une adresse livre, par exemple 192.168.1.99
    Gateway IP : l'adresse de votre routeur, chez moi 192.168.1.1
    Network mask : 255.255.255.0
    Write Settings : même si ça affiche une erreur à ce niveau, en général, c'est bon, ce dont on peut s'assurer en recommençant la procédure ci-dessus.
  • On referme alors cette fenêtre SkyQLink Configurator, puis on débranche SkyPortal sur le CPC 1100, et on met en position basse le petit switch sur le côté droit (mode "Access Point") avant de le rebrancher.
  • On reconnecte le WiFi du PC au point d'accès habituel, ce qui nous reconnecte à Internet.
  • Puis dans dans le panneau "Settings" de SkyQLink PC (clic droit pour l'afficher s'il ne s'ouvre pas tout seul), choisir :
    SkyQ Link IP : ce qu'on vient de paramétrer, par ex. 192.168.1.99
    TCP Port : 2000
    COM Port : on ne change rien, COM4
  • Le  "voyant" vert du bas sur la gauche de SkyQLink PC s'allume alors : et voilà, le CPC 1100, tout comme le PC, sont connectés entre eux via leur point d'accès WiFi commun (le routeur du lieu où on se trouve).



Au démarrage de Nexremote, on paramètre ainsi l'écran de configuration qui nous est présenté :
  • PC Port : COM4, soit le port COM choisi pour SkyQLink PC
  • Mount Model : CPC Series
  • Firmware : on ne change rien
  • Virtual Port : on peut laisser NONE, sauf si on envisage d'utiliser Nexremote depuis un autre logiciel, afin de donner à ce dernier le contrôle du télescope (via Nexremote, donc, ce qui suppose donc que cet autre logiciel ne sait pas piloter directement le CPC). Dans ce cas, on peut choisir ici un autre port COM non-utilisé sur le PC. Et dans l'autre logiciel, au lieu d'indiquer COM4, on lui indiquera que le port COM à utiliser est ce "Virtual Port".
  • OK
A ce stade, on entend une jolie voix de synthèse française lire en anglais ce qui est écrit sur "l'écran" de la télécommande Nexremote, avec un accent pas du tout approprié :) ! Mais peu importe, ça marche, et en cliquant sur les boutons fléchés, on contrôle sans fil les moteurs du télescope depuis le PC.

Parfait : mais il faut pour l'instant refermer Nexremote, le temps d'aller compléter son fichier de configuration de manettes de jeux avec notre manette Xbox One dont il ignore tout pour le moment.




A ce stade, il faut allumer la manette de jeu Xbox One. Elle doit évidemment avoir été appairée (bluetooth) au PC Sous Windows 10.

Il faut aussi repérer quel est le "véritable nom" de cette manette, dans les méandre de Windows. Pour cela :
  • On appelle la console "joy.cpl" en tapant simplement joy.cpl dans la barre de recherche "Taper ici pour rechercher" (Cortana) de Windows 10
  • Et on note simplement le nom du "contrôleur de jeu" présenté : sur ma machine, la Xbox One Wireless est ainsi baptisée du doux nom de "Bluetooth XINPUT compatible input device"
On ouvre ensuite dans le Bloc-Note de Windows, le fichier :
C:\Program Files (x86)\Celestron\NexRemote\Joysticks.ini

On se place tout à la fin du fichier, et on copie/colle ce contenu supplémentaire avant de sauvegarder le fichier :
[JOYSTICK]
Name = Bluetooth XINPUT compatible input device
; Ce nom correspond à ma manette Xbox One Wireless dans joy.cpl
Button1 = RateUp ;Button 3
Button2 = MenuUp ;Button 4
Button3 = RateDown ;Button 1
Button4 = MenuDown ;Button 2
Button5 = Align ;Button 5
Button6 = Info ;Button 6
Button7 = Shift ;Button 9 (Left Fire)
Button8 = Enter ;Button 8 (Right Fire)
Button9 =
Button10 =
Button11 =
sButton1 = SelectionUp ;Shift+Button 1
sButton2 = TourUp ;Shift+Button 2
sButton3 = Select ;Shift+Button 3
sButton4 = TourDown ;Shift+Button 4
sButton5 = ;Shift+Button 5
sButton6 = ;Shift+Button 6
sButton7 = ;Shift+Button 7 (Left Fire)
sButton8 = Undo ;Button 7 (Right Fire)
sButton9 =
sButton10 =
sButton11 =
Axis1 = ScopeX ;Joystick1 X
Axis2 = ScopeY ;Joystick1 Y
Axis3 = ;Joystick2 Y
Axis4 =
Axis5 =
Axis6 = ;Joystick2 X
Axis7 =
Axis8 =









On redémarre Nexremote avec le même paramétrage que ci-dessus, puis une fois connecté :
  • Clic droit sur l'interface
  • Joystick>
  • Et là, on retrouve notre "Bluetooth XINPUT compatible input device" que l'on sélectionne
Et c'est fini :
  • Le levier en haut à gauche de la manette permet, notamment, de contrôler le télescope dans toute les directions.
  • Le bouton A de la manette permet d'augmenter la vitesse des moteurs (jusqu'à x9, ce que la "jolie" voix de synthèse nous indique en disant "RATE 9" par ex.).
  • Le bouton X de la manette permet, lui, de baisser la vitesse des moteurs.
  • Le bouton Y de la manette correspond à la fonction "DOWN" de la touche 9 de la télécommande
  • Le bouton B de la manette correspond à la fonction "UP" de la touche 6 de la télécommande
  • Le bouton Fire (droite) de la manette (sur la tranche juste au-dessus du bouton Y) correspond à la fonction "Info" de la touche tout à fait en bas à gauche du clavier de la vraie télécommande
  • Le bouton Fire (gauche) de la manette (sur la tranche juste au-dessus du levier qui dirige les moteurs) correspond au bouton ALIGN de la télécommande


Aucun commentaire: