値のリスト (80,539,345,677 など) を Arduino から RPi で実行されている Python アプリに送信しています。値を抽出して、アプリ内のそれぞれの変数またはオブジェクトに割り当てることに成功していません。
これが私のコードです:
def read_values():
#if DEBUG:
print "reading arduino data"
ser = serial.Serial('/dev/ttyUSB0', 9600)
print "receiving arduino data"
ser_line = ser.readline()
print ser_line
ser.close()
ser_list = [int(x) for x in ser_line.split(',')]
ambientLight = ser_list[1]
print ambientLight
return ambientLight
私がPythonから得ているのは次のとおりです。
reading arduino data
receiving arduino data
80,477,82,2
Traceback (most recent call last):
File "serialXivelyTest4c.py", line 77, in <module>
run()
File "serialXivelyTest4c.py", line 63, in run
ambientLight = read_values()
File "serialXivelyTest4c.py", line 27, in read_values
ser_list = [int(x) for x in ser_line.split(',')]
ValueError: invalid literal for int() with base 10: '8254\r80'
値を取得していますが、値が切り捨てられていることがわかります。ここでどこが間違っているのか誰か教えてください。本当にありがとう。