Подтвердить что ты не робот

Python3 pySerial TypeError: строки в Unicode не поддерживаются, пожалуйста, закодируйте в байтах:

В Python 3 я импортировал библиотеку pySerial, чтобы я мог общаться с моим Arduino Uno с помощью последовательных команд.
Это работало очень хорошо в Python 2.7, но в Python 3 я продолжаю сталкиваться с ошибкой, которая говорит это

Ошибка типа: Unicode-строки не поддерживаются, пожалуйста, закодируйте в байтах: 'allon'

В Python 2.7 единственное, что я сделал по-другому, это использовал raw_input но я не знаю, что происходит в Python 3. Вот мой код

    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()
4b9b3361

Ответ 1

Кодируйте свои данные, которые вы пишете на последовательный, в вашем случае "serialcmd" на bytes.try:

ser.write(serialcmd.encode())

Ответ 2

Я нашел такую же проблему для изучения "Arduino Python Serial"
Вы можете сделать это по-другому:

ser.write(str.encode('allon'))