본문 바로가기
파이썬

파이썬 python3 pySerial TypeError : 유니 코드 문자열은 지원되지 않습니다. 바이트로 인코딩하세요.

by º기록 2020. 11. 9.
반응형

Python 3에서는 직렬 명령으로 Arduino Uno와 통신 할 수 있도록 pySerial 라이브러리를 가져 왔습니다.
Python 2.7에서는 잘 작동했지만 Python 3에서는 계속 오류가 발생합니다.

TypeError : 유니 코드 문자열은 지원되지 않습니다. 다음 바이트로 인코딩하세요. '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()

 

해결 방법

 

직렬에 쓰고있는 데이터를 인코딩합니다.이 경우 "serialcmd"는 bytes.try 다음을 시도하십시오.

ser.write (serialcmd.encode ())

 

참조 페이지 https://stackoverflow.com/questions/35642855

 

 

반응형

댓글