L'envoi de la Commande ASCII à l'aide de PySerial
Je suis en train d'envoyer la suite de la commande ASCII:
close1
à l'aide de PySerial, ci-dessous est ma tentative:
import serial
#Using pyserial Library to establish connection
#Global Variables
ser = 0
#Initialize Serial Port
def serial_connection():
COMPORT = 3
global ser
ser = serial.Serial()
ser.baudrate = 38400
ser.port = COMPORT - 1 #counter for port name starts at 0
#check to see if port is open or closed
if (ser.isOpen() == False):
print ('The Port %d is Open '%COMPORT + ser.portstr)
#timeout in seconds
ser.timeout = 10
ser.open()
else:
print ('The Port %d is closed' %COMPORT)
#call the serial_connection() function
serial_connection()
ser.write('open1\r\n')
mais comme un résultat, je reçois l'erreur suivante:
Traceback (most recent call last):
, line 31, in <module>
ser.write('open1\r\n')
, line 283, in write
data = to_bytes(data)
File "C:\Python34\lib\site-packages\serial\serialutil.py", line 76, in to_bytes
b.append(item) # this one handles int and str for our emulation and ints for Python 3.x
TypeError: an integer is required
Pas sûr de savoir comment je serais en mesure de résoudre ce problème. close1 est juste un exemple de la commande ASCII je veux envoyer il y a aussi statut1 pour voir si mon serrures sont d'ouvrir ou de fermer, etc.
Merci d'avance
OriginalL'auteur Jon220 | 2015-07-02
Vous devez vous connecter pour publier un commentaire.
Cette question se pose parce que Python 3 stocke ses chaînes en interne comme de l'unicode, mais Python 2.x ne l'est pas. PySerial est l'espoir d'obtenir un
bytes
oubytearray
en tant que paramètre àwrite
. En Python 2.x le type de chaîne serait parfait pour cela, mais en Python 3.x type chaîne de caractères Unicode et n'est donc pas compatible avec ce pySerialwrite
besoins.Afin d'utiliser pySerial avec Python 3, vous devez utiliser un bytearray. Ainsi, votre code ressemblerait besoin de ressembler à ceci à la place:
Je vous suggère d'avoir un aller à cela, et de poser une nouvelle question si vous êtes coincé.
OriginalL'auteur shuttle87