Problème de connexion sur le réseau

Bonjour,

J’ai un souci de connexion avec l’Ergo sur le réseau de mon établissement. Jusque là, j’ai expérimenté chez moi via le routeur de ma box mais ici, au collège, rien à faire.
J’accède bien au serveur et donc à la page d’accueil sur la Rapsberry mais sur Snap!, j’ai droit au sempiternel message : You may have connexion troubles…

Le réseau de mon établissement n’est pas des plus rapides, ceci pourrait-il expliquer cela ?

Merci pour toute info qui me permettrait d’avancer.
Sylvain

Non, ce message signifie plus probablement qu’il y a un problème de communication avec les moteurs.
Sur la page d’accueil, il y a un lien “Display logs”, en cliquant dessus du verra un message d’erreur.
Si il te dit que des moteurs sont manquant vérifie son connecteur. Dans les autres cas, un câble ou un moteur partiellement défectueux peut l’empêcher d’initier la connexion. Pour relancer l’API de Snap (si ça a échoué à cause d’un priblème de connexion), il faut cliquer sur le lien “Star Snap!” ou “Start Poppy-monitor”.

Dans une prochaine version de la page d’accueil il n’y aura plus à relancer à la main lorsque ça a échoué, mais ce n’est pas le cas aujourd’hui…

Bonjour,
juste une piste en passant : as-tu bien vérifié que la nappe de la PiCam est bien enfichée sur la Raspberry ?
Car il suffit qu’elle soit un peu relevée pour que tout semble Ok (accès à la carte + Snap! qui se lance) mais pour que la connection ne se fasse pas.

Gilles

Je viens de rentrer chez moi pour tester via le routeur de ma box et tout fonctionne. Donc, ça n’est pas un problème lié aux moteurs, à la caméra ou à la connectique.

Voici le contenu du log :

Traceback (most recent call last):
File “/home/poppy/miniconda/bin/poppy-services”, line 9, in
load_entry_point(‘poppy-creature==1.8.0rc1’, ‘console_scripts’, ‘poppy-services’)()
File “/home/poppy/miniconda/lib/python2.7/site-packages/poppy_creature-1.8.0rc1-py2.7.egg/WARNING:pypot.dynamixel.error:Communication error after sending DxlSyncReadDataPacket(ids=[1, 2, 3, 4, 5, 6], address=37, length=6)
/home/poppy/miniconda/lib/python2.7/site-packages/poppy_creature-1.8.0rc1-py2.7.egg/poppy/creatures/abstractcreature.py”, line 100, in new
poppy_creature = from_json(config, sync)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/robot/config.py”, line 244, in from_json
return from_config(config, sync=sync, strict=strict, use_dummy_io=use_dummy_io)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/robot/config.py”, line 60, in from_config
dxl_io = dxl_io_from_confignode(config, c_params, attached_ids, strict)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/robot/config.py”, line 162, in dxl_io_from_confignode
found_ids = dxl_io.scan(ids)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/dynamixel/io/abstract_io.py”, line 221, in scan
return [id for id in ids if self.ping(id)]
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/dynamixel/io/abstract_io.py”, line 214, in ping
self._send_packet(pp, error_handler=None)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/dynamixel/io/abstract_io.py”, line 527, in _send_packet
return self.__real_send(instruction_packet, wait_for_status_packet, _force_lock)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/dynamixel/io/abstract_io.py”, line 495, in __real_send
status_packet = self.__real_read(instruction_packet, _force_lock=True)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/dynamixel/io/abstract_io.py”, line 517, in _real_read
raise DxlCommunicationError(self, msg, instruction_packet)
pypot.dynamixel.io.abstract_io.DxlCommunicationError: could not parse received data ÿû¿ýó
< after sending DxlPingPacket(id=6)

Une idée ?

Ce log vient donc de quand tu étais dans ton établissement ?
Ce message signifie ce que j’ai expliqué plus haut, un message erroné reçu par la raspberry pi au lancement de la créature.
Si cela est reproductible que la créature à du mal à se lancer dans ton école et qu’elle fonctionne correctement chez toi, il y a peut-être une source de pollution électromagnétique à côté de là où tu la branches, et que capte les moteurs. Essaie de changer de prise électrique ou de pièce.
J’ai déjà vu des cas de chargeur d’ordinateur de mauvaise qualité qui envoyaient allant jusqu’à brouiller un poste radio dans la même pièce.

Oui, c’est un log depuis l’établissement. D’ailleurs, les messages ne sont pas toujours identiques…
Je vais refaire un essai lundi en déplaçant l’Ergo Jr mais je ne vois pas ce qui pouvait “parasiter” son fonctionnement vu qu’il était sur une paillasse.
Je te tiens au courant.
Merci et bon week-end.

Bonjour,
Après plusieurs essais à différents endroits de la salle, loin de toute perturbation électromagnétique, toujours pas de connexion possible.
J’accède bien à la page d’accueil et à Snap! mais j’ai toujours droit au même message d’erreur lorsque je clique sur “Test connexion” après avoir renseigné la variable.

Les logs varient de ça :

Snap! is now running on: “Redirecting to Snap!

Services started
WARNING:pypot.dynamixel.error:Communication error after sending DxlSyncReadDataPacket(ids=[1, 2, 3, 4, 5, 6], address=37, length=6)

à ça :

libv4l2: error setting pixformat: Device or resource busy
VIDEOIO ERROR: libv4l unable to ioctl S_FMT
VIDEOIO ERROR: V4L: Initial Capture Error: Unable to load initial memory buffers.
Traceback (most recent call last):
File “/home/poppy/miniconda/bin/poppy-services”, line 9, in
load_entry_point(‘poppy-creature==1.8.0rc1’, ‘console_scripts’, ‘poppy-services’)()
File “/home/poppy/miniconda/lib/python2.7/site-packages/poppy_creature-1.8.0rc1-py2.7.egg/poppy/creatures/services_launcher.py”, line 104, in main
poppy = installed_poppy_creaturesargs.creature
File “/home/poppy/miniconda/lib/python2.7/site-packages/poppy_creature-1.8.0rc1-py2.7.egg/poppy/creatures/abstractcreature.py”, line 100, in new
poppy_creature = from_json(config, sync)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/robot/config.py”, line 244, in from_json
return from_config(config, sync=sync, strict=strict, use_dummy_io=use_dummy_io)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/robot/config.py”, line 84, in from_config
sensor = sensor_from_confignode(config, s_name, robot)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/robot/config.py”, line 132, in sensor_from_confignode
return SensorCls(name=s_name, **args)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/sensor/camera/opencvcam.py”, line 19, in init
AbstractCamera.init(self, name, resolution, fps)
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/sensor/camera/abstractcam.py”, line 15, in init
self._last_frame = self._grab_and_process()
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/sensor/camera/abstractcam.py”, line 32, in _grab_and_process
return self.post_processing(self.grab())
File “/home/poppy/miniconda/lib/python2.7/site-packages/pypot-2.11.0rc1-py2.7.egg/pypot/sensor/camera/opencvcam.py”, line 28, in grab
raise EnvironmentError(‘Can not grab image from the camera!’)
EnvironmentError: Can not grab image from the camera!
*** Error in `/home/poppy/miniconda/bin/python’: double free or corruption (!prev): 0x0128a410 ***
erialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

Mais j’ai aussi eu d’autres versions…

sans vouloir insister, tu es sûr pour le branchement de ta caméra ? tu peux tester avec une autre ?

J’ai vérifié plusieurs fois la caméra, au collège et chez moi, et tout fonctionne chez moi mais pas dans ma salle…

Les messages dans le log sont assez aléatoires en fait.

J’ai quand même l’impression que le problème vient bien du réseau de mon établissement.

A caju j’ai demandé à l’elib d’installer une carte réseau supplémentaire dans chaque ordinateur (15 €) et je me connecte directement à poppy ergo avec cette carte indépendante du réseau pédagogique. J’ai déjà fait une séance avec les élèves et pas de problème, ni de connexion, ni de lenteur…

Ça y est, ça fonctionne !

J’ai biaisé (entre autres) en appelant directement l’adresse IP de la Rapsberry.
Désolé pour le dérangement et merci pour vos conseils.

1 Like

Concernant les log au dessus :

Ici c’est bien un problème de caméra mal branché.

Et là :

Tout fonctionne correctement. Il y a des erreurs de communication de temps en temps mais c’est tout à fait normal et ça n’empêche pas le bon fonctionnement du robot.

Qu’entends tu par :

Je suis une peu à la “ramasse” par rapport à mes collègues de lycée pour tout ce qui concerne le réseau et même vis-à-vis de cet univers obscur qu’est Python de façon général. J’ai donc essayé d’éliminer les problèmes les uns après les autres, à commencer par l’accès en mode administrateur sur le réseau de notre établissement.
Celui-ci est géré par le rectorat et un assistant d’éducation en 1/3 temps… Autant dire que personne n’est vraiment dispo pour me donner un coup de main.
Après pas mal de temps, je me suis rendu compte que le service d’impression n’est pas disponible (ou accessible) sur les PC de ma salle. J’ai donc scanné toutes les adresses IP de mon établissement (pas manuellement, je te rassure) pour trouver celle de l’ErgoJr.
Depuis que je pointe directement sur cette IP dans Snap!, plus de souci de communication, à part un léger délai de temps en temps.

Le log de la caméra apparaît de façon erratique alors qu’elle est bien connectée. Je persiste à penser que c’est lié à notre réseau.

Bonne journée

bonjour Sylvain,
je pense que @Pierre et @Damien vont faire rapidement une annonce avec tambours et trompettes pour dire qu’effectivement, passer par l’adresse IP de l’ErgoJr et non par son nom semble résoudre significativement les problèmes de latence.
Ils étaient chez nous ce matin (François Mauriac) et les serveurs DNS du rectorat semblent directement en cause.
Mais ils le diront mieux que moi.

Gilles

Effectivement les tests effectués ont l’air assez concluant. C’est vraiment la résolution du host en adresse IP qui prend parfois un temps trèèèèèès long (~6s).

En utilisant l’IP directement tout semble très bien fonctionner. J’attends les retours de Gilles (et des autres) pour voir si ça règle effectivement bien les problèmes et on intégrera les modifications pour que ça soit transparent dans la prochaine version de Snap.

Je me sens moins seul :wink:

Bonjour à tous,
je reviens à la charge avec mes problèmes de réseau dans mon établissement.

Nous avons assemblé nos Ergo Jr, j’ai mis à jour ceux que j’avais et je me heurte à un problème récurrent de lancement de Snap!.

Les élèves, sur leur session, démarrent l’interface de l’Ergo Jr sur Firefox (via l’adresse IP), testent la connexion avec les différents scripts et lancent Snap!. Jusque-là tout va bien mais lorsqu’ils essaient d’ouvrir le fichiers Poppy-snap-blocks, Firefox finit par se planter.

J’ai fait la même manoeuvre sur ma session prof et là, ça fonctionne. Je pourrais ouvrir plusieurs sessions pour que les élèves travaillent ensemble mais, sur notre réseau, il n’est pas possible de lancer plusieurs fois Firefox sur la même session.

Si quelqu’un a une idée ou une solution, je suis preneur.

Merci

Bonjour,
Y a t il une erreur du type “le script ne réponds pas” ?
L’ouverture des blocks dans Snap demande un peu de ressources, et cela plante parfois firefox. Le moteur de rendu webkit (celui de Chromium/Chrome) est bien mieux optimisé et évite de rencontrer ce genre de soucis.
Si vous n’avez pas les droits administrateur sur les session d’élèves, Chromium est utilisable en version portable, ce qui lui permet de s’installer n’importe où sur la session élève (ou sur une clé USB).