Dans Python 3 j'ai importé la bibliothèque pySerial afin de pouvoir communiquer avec mon Arduino Uno par des commandes en série.
Cela a très bien fonctionné dans Python 2.7 mais dans Python 3
TypeError: les chaînes unicode ne sont pas supportées, veuillez encoder en octets: 'allon'
Dans Python 2.7, la seule chose que j'ai faite différemment est d'utiliser raw_input
mais je ne sais pas ce qui se passe dans Python 3. Voici mon code
import serial, time
import tkinter
import os
def serialcmdw():
os.system('clear')
serialcmd = input("serial command: ")
ser.write (serialcmd)
serialcmdw()
ser = serial.Serial()
os.system('clear')
ser.port = "/dev/cu.usbmodem4321"
ser.baudrate = 9600
ser.open()
time.sleep(1)
serialcmdw()
Encodez vos données que vous écrivez en série, dans votre cas "serialcmd" en octets.try ce qui suit:
ser.write (serialcmd.encode ())
j'ai trouvé même votre problème pour apprendre "Arduino Python Série"
Vous pouvez faire autrement:
ser.write(str.encode('allon'))