2010-11-20 26 views
1

J'essaie d'ouvrir un port série avec python. C'est sur Ubuntu. J'importer le openinterface.py et entrer dans ceComment ouvrir un port série avec pyserial?

ser = openinterface.CreateBot(com_port = "/dev/ttyUSB1", mode="full") 

je reçois une erreur « types d'opérandes non pris en charge pour les -: « str » et « int » » J'ai essayé le même appel avec des guillemets simples au lieu de deux, et sans citation du tout.

Comment puis-je résoudre ce problème? Ou existe-t-il une autre fonction à utiliser? Je ne connais que les bases de Python alors peut-être que c'est une petite syntaxe que je ne remarque pas? Toute aide serait appréciée Merci.

Répondre

2

Selon this page in Russian, il y a un bogue avec le fichier openinterface.py qui essaie de soustraire un à l'argument port. Il suggère de faire ce changement (la suppression - 1 en ligne 803) avec sed:

sed -ie "803s/ - 1//" openinterface.py 

Soit essayer, ou voir s'il y a une version mise à jour de openinterface.py.

+0

Cela a fonctionné, je vous remercie – Sterling

0

C'est ce que vous voulez si vous utilisez python 3:

import serial        #import pyserial lib 

ser = serial.Serial("/dev/ttyS0", 9600) #specify your port and braudrate 
data = ser.read()       #read byte from serial device 
print(data)        #display the read byte