mardi 27 janvier 2015

Python temps réel

Le script motorJoy.py permettait à l'origine d'envoyer des ordres vers les moteurs à partir d'un joystick (via une carte arduino et un module de puissance).
Je l'ai modifié pour le rendre robuste au déconnexion, reconnexion du joystick et de la carte arduino, mais le script reste simple (boucles while imbriquées).
Je l'ai modifié fin Novembre pour pouvoir recevoir les données transmises sans fil depuis une "centrale inertielle" embarquée sur le cerf-volant.

Il manque aujourd'hui deux fonctionnalités importantes dans ce script :
  • un enregistrement des données pour un post-traitement ultérieur.
  • une interface (pour régler des gains, visualiser les données etc...)

J'aimerais également rentre ce script plus asynchrone.

Je m'étais déjà intéressé l'année dernière à l'utilisation d'une interface dans une page web grâce aux possibilités offertes par html5.
J'avais pour cela fait des essais assez concluants avec le serveur python asynchrone tornado qui implémentait notamment les websockets.
Je m'étais heurté à des problèmes de robustesse dans l'intégration de la bibliothèque pyserial qui bloquait le fonctionnement asynchrone.

Voici un article discutant de manière général de la problématique du "temps réel" avec python
http://mrjoes.github.io/2013/06/21/python-realtime.html

Aucun commentaire:

Enregistrer un commentaire