L'envoi de la communication en série à partir de la Raspberry pi

Je suis l'envoi de données en série à partir d'un Raspberry Pi à un Arduino à l'aide d'un programme Python. Je suis en cours d'exécution Python 2.7.3. Le programme est:

import serial

ser = serial.Serial('/dev/ttyACM0', 115200)

ser.write(b'\x4c\xff\x46')

Le problème est que rien ne semble être envoyé par ces trois lignes, si elles sont exécutées dans un programme. Mais si je les exécuter ligne par ligne dans une interface Python, qu'ils fonctionnent très bien.

Aussi, si j'ai l'Arduino en Série d'ouverture de l'écran, le programme fonctionne très bien ainsi, sans courir les lignes une par une dans le shell.

MODIFIÉES AFIN D'AJOUTER:

Il semble qu'il y a un peu de retard dans l'envoi de l'Arduino. Donc, quand je lance le code dans l'interprétation de la mode, il fonctionne, mais si, comme programme, ça ne marche pas. Je pense que parce que j'ai essayé le même programme sur une machine Windows.

import serial

ser = serial.Serial('COM8', 115200)

ser.write(b'\x4c\x20\x46')

Si je lance le programme d'interprétation de la mode, ou même en mode de débogage avec un point d'arrêt sur la ser.commande d'écriture, il fonctionne. Mais pas s'exécuter comme un programme.

ÉDITÉ POUR AJOUTER PLUS DE:

Il s'avère que l'Arduino a une auto-reset sur les communications en série qui doit être désactivé:

http://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection#.UwP_wfldV8E

http://forum.arduino.cc/index.php/topic,28723.0.html

J'ai utilisé un 220 uF condensateur entre la broche RESET et le sol. Qui fonctionne.

Dur d'être mordu par un bug comme ça! - Il encore smarts.

Exécutez-vous que le même utilisateur avec les mêmes autorisations?
Oui, je suis en cours d'exécution en tant qu'utilisateur même, même dans la même coquille. Si j'utilise l'interpréteur de ligne, il fonctionne. Dans le même shell, si je l'exécuter comme un programme, il ne fonctionne pas, sauf si j'ai l'Arduino en Série d'ouverture de l'écran.
Si vous deviez ajouter un condensateur pour envoyer des données à partir d'un pi à un arduino?

OriginalL'auteur Daanii | 2014-02-18