Go Down

Topic: [Résolu] Serial port et python - Reset (Read 729 times) previous topic - next topic

MrLeblanc

Dec 30, 2012, 12:47 pm Last Edit: Dec 30, 2012, 06:09 pm by MrLeblanc Reason: 1
Bonjour !

J'ai fait une alarme avec arduino et je récupère ses différents états (allumée - éteinte) avec un script python qui tourne sur un ordinateur.
Sous Windows, je lance le script python et sa marche nickel, le problème c'est que maintenant je suis sous Debian Squeeze et la carte (Uno) n'arrête pas de reset quand je lance le script python.
Je ne comprends pas pourquoi sous Windows ça marchait très bien et là plus du tout =(
J'ai fait un tour ici : http://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection

J'ai essayé le  stty -F /dev/usbACM0 -hupcl et de mettre un condo entre la masse et le reset mais rien n'y fait !

Merci de votre aide =)

numero_744

Bonjour,
Cela ne répond pas à votre question mais peut résoudre votre problème :
Voyez-vous sur votre UNO, coté face, il y a un rectangle "RESET EN".
Grattez entre les deux soudures et la carte ne devrait plus faire de reset lors du démarrage de la connexion série.
Vous pourrez remettre un point de soudure pour que la carte refasse des resets automatiquement.

Voir ce post de barbudor.
- Arduino UNO R3;
- PowerBook G4;
  - Arduino (C)
  - Eclipse (Java)
  - wxLua (µLua)
  - TextWrangler (HTML + JS)
- (3)DS et bientôt R4 (po

MrLeblanc

Ok ça marche merci numero_744 c'est résolu ;)

skywodd

Bonjour,

Vu que tu utilise stty je suppose que tu lit/écris directement dans /dev/usbACM0 dans ton script python ?
Si c'est le cas oublie de tout suite c'est une trés mauvaise méthode ;)

PySerial gére les ports série en python, la configuration (vitesse, mode, ...) et la gestion du reset (signal DTR) :
http://pyserial.sourceforge.net/

Comme ça pas de modification hardware à faire sur la carte et c'est de base multi-plateforme ;)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

MrLeblanc

Non non je n'utilise pas stty mais bien pyserial c'est juste que sur l'article que j'ai link dans mon premier post en solution ils proposent cette manip à rentrer dans le terminal Linux.

skywodd


Non non je n'utilise pas stty mais bien pyserial c'est juste que sur l'article que j'ai link dans mon premier post en solution ils proposent cette manip à rentrer dans le terminal Linux.

Fallait le dire dés le début dans ce cas ;)

Si tu lui demande rien PySerial garde la ligne DTR à "1" donc normalement pas de reset.
http://pyserial.sourceforge.net/pyserial_api.html#serial.Serial.setDTR

Fait voir ton code python mais c'est bizarre que tu ai un reset à l'ouverture du port ...
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Go Up