Born to be wired
699050 visites
Uptime 24 days

Archive pour août 2011

 Youba : release du back-end pour robot Youpi

 8 août 2011  Bricolage  52 commentaires
Le workbench pour tester le back-end Youba

Youba Logo

Une bonne nouvelle pour ceux qui attendaient désespérément un outil pour contrôler leur robot Youpi : je me suis botté le cul ces derniers jours, j’ai pu terminer la réalisation de mon back-end, le tester avec le robot, et même apprécier le résultat en générant un scénario de mouvements pour le robot en quelques secondes !

Le nom de cette merveille : Youba (pour YOUpi BAck-end), un petit programme de 500 lignes écrit en Python. Pour rappel, ce programme a été réalisé dans le contexte suivant :

  • Indépendance du front-end : le programme se contente d’attente ses ordres sur un port TCP. Les instructions en questions peuvent être envoyées par n’importe quel front-end (un terminal, un script, une page web, un programme analysant les commandes d’un joystick, tout ce que vous voulez).
  • Bufferisation : les ordres peuvent être envoyés en temps réel ou à l’avance.
  • Portabilité : au moins dans la mesure du possible. 99% du code est indépendant de la plate forme. Les 1% restants concernent l’envoi de données sur le port parallèle, que je n’ai pas su réaliser de manière totalement portable à l’heure actuelle. Les systèmes Linux et Windows sont supportés.
Le workbench pour tester le back-end Youba

Mon plan de travail : un PC, le robot, le câble de connexion adéquat, et un objet à saisir.

Le plan de travail qui m’a permis de valider mes tests se présente comme ceci : un PC avec une distrib Linux (Linux Mint dans ce cas), le robot, le câble de connexion parallèle fabriqué lors des étapes précédentes, et le tube en plastique d’un médicament générique quelconque préalablement lesté avec des contrepoids de touches de piano (j’ai pris ce que j’avais sous la main). Sur le PC, deux terminaux sont ouverts : à gauche le programme Youba qui écoute sur son socket et à droite le terminal d’envoi des instructions par netcat.

Les résultats des tests ont été au delà de mes espérances :

  • Fonctionnellement, le back-end rempli correctement son rôle, enquille les ordres et envoie leur traduction au robot.
  • Le mouvement sur plusieurs axes en simultané est possible. Cela peut paraitre anodin mais ce n’était pas forcément évident à concevoir.
  • Les mouvements sur chaque axe sont réalisés à une vitesse plutôt raisonnable. J’avais peur que le robot soit trop lent à réagir après avoir constaté des problèmes de mise en sommeil trop longue lors des essais avec mon programme Robotest. J’ai quand même réussi à minorer ce problème en revoyant complètement la gestion des intervalles d’envoi d’octets sur le port parallèle.
  • La précision sur les axes est au rendez-vous, et la pince dispose de suffisamment de pression pour tenir des objets cylindriques.

Et enfin, l’utilisation du back-end, grâce à la commande « I!! » qui affiche l’état des compteurs de demi-pas, permet de « cartographier » les déplacements sur chaque axe de manière très précise et d’utiliser ces informations pour scripter des scénarios très rapidement, dès qu’on connait un minimum la syntaxe attendue. J’ai réalisé le mien en moins de 5 minutes, c’est celui que j’utilise dans mon terminal de droite. Voici le script utilisé pour ordonner au robot de chopper mon tube cylindrique et de le déposer quelques centimètres plus loin :

#!/bin/bash
function sendyoupi {
	echo "$1" | nc localhost 12080
}

# Positionner le bras au-dessus du tube
sendyoupi 'C!W!0,R,H,750,1|1,L,H,999,1|2,R,H,4332,1|3,L,H,7334,1|5,R,H,2000,1'
# Serrer la pince
sendyoupi 'A!W!5,L,D,80,1'
# Lever le bras
sendyoupi 'A!W!1,R,D,30,1'
# Tourner la base de 60°
sendyoupi 'A!W!0,L,D,60,1'
# Baisser le bras
sendyoupi 'A!W!1,L,D,30,1'
# Desserrer la pince
sendyoupi 'A!W!5,R,D,80,1'
# Revenir en position de départ
sendyoupi 'A!W!A,I,S,1,1'

Et le résultat du script en images :

Attention, quelques conseils pour ceux qui souhaitent utiliser Youba :

Avant tout, il y a un fichier README.txt à la racine du projet. Si je me suis cassé la tête à l’écrire, c’est qu’il contient des tas d’informations intéressantes à respecter pour que tout puisse fonctionner. Donc, lisez-le. Vérifiez en particulier que le port parallèle est activé dans le BIOS, de préférence en mode EPP, que son driver est bien chargé par le système d’exploitation, et que vous avez correctement configuré son n° d’I/O dans le fichier de configuration. Si le robot ne répond pas aux ordres donnés, lancez Robotest (disponible en page de téléchargements) pour vous assurer que la partie matérielle fonctionne à minima. D’autre part, je n’ai pas eu l’occasion de tester l’intégralité du programme avec Windows (les 50% des 1% qui ne sont pas portables), j’ai bon espoir que cela fonctionne mais on ne sait jamais. Enfin, je rappelle que je ne réponds en général pas aux questions par mail car je préfère qu’elles soient abordées en commentaires afin que tous les intéressés puissent avoir accès aux réponses.

Voila, il est maintenant temps de dévoiler où il est possible de télécharger Youba : c’est sur la page de téléchargements !

Une dernière chose : je serai content de savoir si vous utilisez ce back-end, ce que vous en pensez, quel front-end vous utilisez, et surtout si vous avez de bonnes idées quand à l’utilisation du robot Youpi.

 Fibre optique : retour d’expérience sur la vitesse démesurée

 7 août 2011  Projet Web  Aucun commentaire
Cablage de la Freebox optique

Cela fait maintenant plusieurs semaines que j’ai troqué ma Freebox v5 contre une Freebox Optique. Maintenant que je peux me la raconter à mort grâce à mes débits de fou, et que j’ai fait le bilan sur ce changement, je pense qu’il est grand temps de communiquer à la face du monde mes ressentis sur la sensation de vitesse démesurée.

Ludicrous Speed

Ludicrous speed go!!!

Les premiers moments d’excitation

Ceux-ci sont arrivés durant l’été 2010 en arpentant les caves de l’immeuble : j’avais remarqué une nouvelle installation flambant neuve qui contrastait fortement avec l’environnement ambiant au sommet du glauque. Puis, plus rien, à part quelques affiches dans l’immeuble qui indiquaient un raccordement en cours, sans plus de détails quand à la date à laquelle l’installation serait opérationnelle. Enfin, en octobre, coup de téléphone de Free et prise de rendez-vous avec un technicien pour le raccordement dans l’appartement. L’aventure commence.

Arrivée de la fibre optique dans la cave

C’est par ici que tout transite…

Les délais de réception du matériel (ou l’acheminement à vitesse non-démesurée)

Le ressenti est assez négatif, puisque visiblement l’opérateur qui a tout compris n’a pas bien compris que j’aurais souhaité recevoir ma box *rapidement*. Le raccordement à mon domicile a été effectif le 20 octobre 2010. Le technicien m’a indiqué que je recevrais la nouvelle box sous deux semaines. Je l’ai reçue légèrement plus tard, alors que je ne l’attendais même plus, le 24 mai 2011. J’ai calculé, ça fait 216 jours de battement. J’ai déjà vu largement plus rapide comme délai d’acheminement, même chez Cdiscount. C’est dire à quel point j’ai dû patienter.

Freebox ADSL Vs Freebox Optique

Non, vous ne voyez pas double, et votre écran fonctionne très bien.

Déceptions en séries lors du branchement

Le feedback suivant, qui est directement lié à l’installation du boitier et a son utilisation immédiate, est mitigé tendance négative. Explications détaillées :

  • C’est vraiment tout con, mais le manuel devrait indiquer que pour le branchement du câble optique, il faut entendre un clic à chaque extrémité. Tout le monde n’a pas l’habitude de brancher des câbles optiques toute la journée. Et ça évitera à Madame Michu d’appeler la hotline qui coûte la peau du zob pour que dalle.
  • Le switch Ethernet intégré : 5 ports sur la Freebox v5 contre seulement 4 sur la version O. Pas de bol, je suis visiblement un des seuls geeks qui utilise l’intégralité des 5 ports. Obligé de brancher un switch externe en plus, juste pour une machine. Grrrrrrr.
  • Le même switch Ethernet est supposé être Gigabit, mais je suis un peu sceptique là dessus. En prenant bien soin de ne brancher que des machines Gigabit sur le réseau, pas moyen de le faire fonctionner le switch à la vitesse désirée.
  • L’embout supplémentaire du cordon d’alimentation, à utiliser impérativement sur l’une des deux box, rallonge l’encombrement et fragilise l’ensemble. Ça sent l’erreur de conception dans l’étage d’alimentation à plein nez.
  • Le manuel utilisateur décrit la procédure d’appairage valable pour l’ancienne version des Freeplugs. La procédure est différente pour la nouvelle version livrée dans mon pack, et surtout la couleur des voyants est inversée ! Dans la nouvelle version, l’absence d’appairage est signalée par un voyant orange, et l’appairage opérationnel par un voyant vert. Tout ergonome, tout conseiller en communication, et je dirais même plus toute personne normalement constituée, trouverait ça normal. Mais dans l’ancienne version des Freeplugs, c’est l’inverse. À se demander ce qui a bien pu leur passer par la tête au moment de la conception… Bref, si on ne remarque pas l’addendum à la notice d’utilisation des Freeplugs, et qu’on suit bêtement le manuel, on galère inutilement.
  • Conséquence d’utilisation des Freeplugs : ma vieille TV cathodique coréenne, qui n’est pas équipée de système de filtrage adéquat, subit le transfert d’information sur le réseau électrique comme elle subirait des parasites, en grésillant continuellement. Bon, pour ça j’aurai du mal à blâmer Rodolphe, mais c’est tout de même quelque chose qu’il est utile de rapporter pour ceux qui envisagent l’utilisation du CPL.
  • Il existe un mode « économie d’énergie » sur les Freeplugs. Concrètement, si le Freeplug détecte que le boitier est éteint, il passe en mode éco. Sauf qu’un boitier en veille (notamment le boitier TV) n’est pas éteint et consomme même goulûment. Et donc, à moins de débrancher son câble d’alimentation, vous pouvez vous asseoir sur le mode éco. Sachant que chaque reconnexion du câble d’alimentation équivaut à un reboot complet du bousin sur une durée qui donne un aperçu de ce qu’est l’éternité, pendant lesquelles on peut tout faire sauf regarder la TV, ça donne un intérêt somme toute très limité au mode éco.
  • Et puisqu’on parle de conso, j’ai fait des mesures au puissance-mètre. Pour le boitier Freebox O + un Freeplug, compter 13.3W. Pour le second boitier, Freebox TV + un Freeplug, 14.3W. Soit une puissance totale de 27.6W lorsque tout est branché et en veille. Ce ne sont pas des petits chiffres. J’espère sincèrement que des efforts seront faits pour réduire cette consommation électrique sur le matériel futur.
Cablage de la Freebox optique

Aaaaaargh ! Comment je fais pour connecter tous mes câbles RJ-45 ?

Annexe relative au Gigabit, ci-dessous : mon serveur clame haut et fort qu’il supporte le 1000baseT, mais le switch Freebox (ici le link partner) persiste à ne pas vouloir dépasser le 100baseT.

Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
        Link detected: yes

Des aspects positifs

Heureusement, tout n’est pas tout noir dans cette histoire, car malgré les petits désagréments rencontrés, la Freebox Optique remplit le rôle pour lequel elle est principalement attendue, et elle le fait bien.

Fin de zone 30 Mbits/s

Tout d’abord, grâce au Wifi MIMO, terminé les trois antennes moches et encombrantes sur le boitier optique, et la connectivité est impec.

Ensuite, les temps de synchronisation du boitier optique sont extrêmement réduits. De parfois plus d’une minute sur l’ancien boitier ADSL, on passe à la dizaine de secondes, pas plus. Bien que je redémarre extrêmement rarement ce boitier, c’est un excellent avantage (surtout dans le cas il faut redémarrer la babasse pour descendre un nouveau firmware, ou pire encore, appliquer un paramètre sur la configuration active. Beurk).

Et enfin, les débits. Ils sont bien là, et ça dépote. Première impression sur l’utilisation de la TV (hors TNT), la latence légèrement crispante lors d’un changement de chaîne est fortement réduite. On peut zapper de manière plus fluide, avec moins de lag, et c’est pas du luxe.

Concernant les chiffres bruts, le débit théorique est à 100 Mbits/50 Mbits, et le réel constaté n’est pas très loin. Il est même extrêmement proche concernant l’upload, ce qui est une bénédiction quand on héberge son propre serveur web. Le ping suit lui aussi une belle évolution : je vais devoir assurer grâve dans les FPS car je n’aurai dorénavant plus l’excuse du lag si je me fais fragguer à répétition. Pour le détail, les chiffres et les graphes de Grenouille parleront d’eux-même.

Graphes montrant l’évolution sur mai 2011

À l’heure de la rédaction de cet article, les chiffres mesurés montrent encore une amélioration par rapport à la date de branchement de l’équipement. Chiffres moyens actuels :

Download : ADSL 1950 Ko/s, Optique 10063 Ko/s --> (x 5)
Upload : ADSL 106.1 Ko/s, Optique 5731 Ko/s --> (x 54 !)
Ping : ADSL 27 ms, Optique 8 ms --> (-70%)

Bien sûr, derrière, il faut que les autres serveurs dépotent aussi fort pour que l’expérience utilisateur globale suinte la béatitude, ce qui n’est pas forcément le cas. Mais c’est néanmoins une grande et plaisante avancée. Je rappelle d’ailleurs que Free anticipe un minimum en prenant soin de déployer une fibre par abonné lors du fibrage horizontal, ce que ne font pas forcément ses concurrents.

Chronique d’une utilisation temporellement limitée

La petite anecdote dans toute cette histoire, c’est que je ne vais pas pouvoir profiter de ces débits merveilleux ad vitam aeternam, car je déménagerai dans quelques mois dans un nouveau logement qui n’est lui pas raccordé à la fibre :(

Cela dit, les copropriétaires ont donné leur accord pour que le raccordement soit effectué, et les travaux de déploiement semblent aller bon train dans les rues alentours, j’ai donc bon espoir de ne pas subir ce downgrade trop longtemps. Bah oui, le confort, on y prend goût…