반응형
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 urllib2.urlopen을 사용할 때 최종 리디렉션 URL을 어떻게 얻을 수 있습니까? (0) | 2020.11.09 |
---|---|
파이썬 gensim word2vec: Find number of words in vocabulary (0) | 2020.11.09 |
파이썬 문자열, 크로스 플랫폼에 줄 바꿈 추가 (0) | 2020.11.09 |
파이썬 Jupyter Notebook에서 작업 디렉토리를 변경하는 방법은 무엇입니까? (0) | 2020.11.09 |
파이썬 TensorFlow, 왜 파이썬이 선택된 언어입니까? (0) | 2020.11.09 |
댓글