J'ai un signe LED Prolite que j'aime configurer pour afficher les requêtes de recherche défilantes à partir de journaux apache et d'autres statistiques amusantes. Le problème est, mon G5 n'a pas de port série, donc je dois utiliser un USB pour dongle série. Il apparaît comme /dev/cu.usbserial et /dev/tty.usbserial.Parler à un port série sous OS X ou Linux
Quand je fais tout semble Hunky Dory:
stty -f /dev/cu.usbserial
speed 9600 baud;
lflags: -icanon -isig -iexten -echo
iflags: -icrnl -ixon -ixany -imaxbel -brkint
oflags: -opost -onlcr -oxtabs
cflags: cs8 -parenb
Tout fonctionne aussi quand je l'utilise serial port tool pour lui parler.
Si j'exécute ce morceau de code alors que l'outil port série mentionné ci-dessus, everthing fonctionne également. Mais dès que je déconnecte l'outil, la connexion est perdue.
#!/usr/bin/python
import serial
ser = serial.Serial('/dev/cu.usbserial', 9600, timeout=10)
ser.write("<ID01><PA> \r\n")
read_chars = ser.read(20)
print read_chars
ser.close()
La question est, ce que magies dois-je faire pour commencer à parler au port série sans l'outil de port série? Est-ce un problème de permissions? Aussi, quelle est la différence entre /dev/cu.usbserial et /dev/tty.usbserial?
Non, aucun numéro de série. Le problème est que le problème persiste même avec sudo-exécutant le script python, et la seule chose qui le fait passer si j'ouvre la connexion dans l'outil gui que j'ai mentionné.
La semaine dernière, j'ai écrit un petit utilitaire Python pour m'aider à déboguer une application C embarquée en lisant les informations de débogage d'un dongle USB-Serial, donc je pense que je comprends assez bien PySerial. Des informations supplémentaires peuvent aider à diagnostiquer le problème: * Quel pilote USB-Serial utilisez-vous? * Etes-vous certain que vous avez correctement configuré toutes les options série (débit en bauds, contrôle de flux, parité, bits d'arrêt, etc.) avant d'ouvrir la connexion série à partir de Python? * Quelle version de PySerial utilisez-vous? – Matt
Vous ne voyez pas de numéros de série après eux? Tels que: /dev/cu.usbserial-xxxxxxxxA /dev/tty.usbserial-xxxxxxxxA /dev/cu.usbserial-xxxxxxxxB /dev/tty.usbserial-xxxxxxxxB Mon autre par était peut-être il y a un problème de permissions de python parler à la port série. Savez-vous quel utilisateur utilise votre instance python? Et peut-être quels rôles il a? –