parler à un port Programmatically série dans OS X ou Linux

voix
15

Je signe LED Prolite que je tiens à mettre en place pour montrer le défilement des requêtes de recherche à partir d'un des journaux apache et d'autres statistiques amusantes. Le problème est, mon G5 ne dispose pas d'un port série, donc je dois utiliser un dongle USB vers série. Il apparaît comme /dev/cu.usbserial et /dev/tty.usbserial.

Quand je fais tout semble être 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 également lorsque j'utilise l' outil de port série pour lui parler.

Si je lance ce morceau de code alors que l'outil de port série mentionnée ci-dessus, everthing fonctionne également. Mais dès que je déconnecte l'outil la connexion se perd.

#!/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? De plus, quelle est la différence entre /dev/cu.usbserial et /dev/tty.usbserial?


Non, aucun numéro de série. La chose est, le problème persiste même avec sudo-exécution du script python, et la seule chose qui le fait passer à travers si j'ouvre la connexion dans l'outil graphique qui je l'ai mentionné.

Créé 06/08/2008 à 20:00
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

Avez-vous essayé de regarder le trafic entre l'interface et le port série pour voir s'il y a une sorte de commandement spécial d'être envoyé à travers? Aussi curieux, Python envoie ASCII et non UTF-8 ou quelque chose d'autre droit? La raison pour laquelle je demande est parce que je remarqué vos modifications de devis pour les chaînes et dans certaines langues qui est en fait la différence entre ASCII et UTF-8.

Créé 06/08/2008 à 22:40
source utilisateur

voix
5

/dev/cu.xxxxxest le dispositif « callout », c'est ce que vous utilisez lorsque vous établissez une connexion au périphérique série et commencer à lui parler. /dev/tty.xxxxxest le dispositif « dialin », utilisé pour la surveillance d' un port pour les appels entrants pour par exemple , un auditeur de fax.

Créé 06/08/2008 à 23:19
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more