In Python 3 I imported the pySerial library so I could communicate with my Arduino Uno by serial commands.
It worked very well in Python 2.7 but in Python 3 I keep running into a error it says this
TypeError: unicode strings are not supported, please encode to bytes: 'allon'
In Python 2.7 the only thing I did differently is use raw_input
but I don't know what is happening in Python 3. Here is my 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()
Encode your data which you are writing to serial,in your case "serialcmd" to bytes.try the following :
ser.write(serialcmd.encode())
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With