Archives du blog

Instabilité de l’Arduino relié au WR703N

Comme je l’ai décris ici a plusieurs reprises, j’utilise un WR703N pour lire la liaison série de l’Arduino.

Cependant le montage s’arrête au bout d’un certain temps sans raison apparente. J’ai d’abord incriminé le matériel et le système, après tout le WR703N est du low cost Made in China ^^ et la version d’OpenWRT est en Bleeding Edge (danger Béta ^^).

L’Arduino me paraissait hors de cause vu qu’une fois branché sur l’USB du Linux il marche pendant des jours.

Il y a quelques jours je suis tombé sur l’article d’Andy Brown qui a eu le même soucis.

Lui a récupéré les données par un autre biais qu’un programme C, une lecture direct par le shell . Son hypothèse étant d’ouvrir à chaque lecture le port. Chez lui ça à l’air de fonctionner. Apres en avoir discuté ensemble je me suis mis en tete de modifier mon programme de lecture pour ré ouvrir le port périodiquement.

Mais hier, j’ai eu une autre idée (vous ne vous y attendiez pas hein ^^), et si le problème ne venait pas du système (un bug sur le driver cdc_acm qui m’aurait fort embetté) ? Hier j’ai donc fait le test en ajoutant une alimentation externe à l’Arduino.

 

Au moment où je vous parle (H+12), ça tourne toujours sans planter …

Est-ce la solution ? L’avenir le dira …

EDIT : J’ai parlé trop vite, en rentrant cet apres-midi j’ai trouvé la bête figée, plus d’accès au port ttyACM1 😦 Dans ces cas là obligé de relancer l’Arduino (électriquement)