Форум сайта python.su
1
Подключаю arduino к raspberry pi по usb.
Скрипты взяты из букваря
Ардуино
void setup() { Serial.begin(115200); } void loop() { Serial.println("hello world"); delay(100); }
import serial import time ser = serial.Serial('/dev/ttyUSB0', timeout=0.2) while 1: c=ser.readline() print(c)
b'' b'' b'' b'X\xd0\\\xd0X\xd0\xda\x1a\xe2\\Z\xbeZ\xba\x1aT\x1aTMX\xd0\\\xf2\\\xd0TZM\\\xf2\x1a\xba\x1a\xe2\\\xd0X\x1a\xfa]X\xf2\xfa\xfa\x1a\xfa\x1a\xfa\x1a\xba\x1a\xfa\n' b'\x1a\xfa\x1a\xe2\xba\x1a\xba\\\xf2X\xfa\x1aZ\xd0ZMM\xf2\n' b'\xd4\x1aT\x1a\xbaZT\x1a\xd4\x1aZ\\\xe2\xfa\x1a\xe2\\\n' b'\xd4X\xd4X\xd4]\xd0\n' b'\x1aM\xd0X\xd0\\M\\\x1a\xfa\n' b'\xd4\n' b'\xf2\\\xe2\\\xf2]\x1a\xba\\\xe2\\\xf2\\\xe2\\\\\x1a\xd0\x1a\xf2M\n' b'\xbeZ\xbe\xe2X\xd4\n' b'\xd4\n' b'\x1a\xf2\\\xd0\\\x1a\xe2\xd4\n' b'T\x1a\xd0\n'
Z▒▒Z▒\▒T▒X▒\▒\▒\ Z▒▒▒\▒ ▒▒\▒T▒Z▒\Z▒\\▒\▒\▒\▒\Z▒\▒▒\▒\▒Z\▒▒M▒ ▒▒\▒\▒\▒\▒]▒▒T\▒T▒\ZMZMMZ▒ ▒ZM Z▒\▒\▒▒Z▒▒▒\▒▒T▒M▒▒
Офлайн
1
Попробовал print(c.decode('utf-8'))
Ошибка
UnicodeDecodeError: ‘utf-8’ codec can't decode byte 0xf2 in position 0: invalid continuation byte
Офлайн
857
Это не utf-8. Не видно, что это вообще текст в какой-либо кодировке. Скорее всего, это данные, которые нужно распаковывать через модуль struct.
Офлайн
dnstuffа где baudrate?
import serial
import time
ser = serial.Serial('/dev/ttyUSB0', timeout=0.2)
while 1:
c=ser.readline()
print©
Отредактировано vic57 (Авг. 3, 2018 06:38:49)
Офлайн
1
Заработало, когда поставил небольшую задержку после print
И еще рекомендуют не указывать параметры порта в строке с открытием, а добавить ниже отдельными строками. Это, якобы, решает проблемы с некоторыми микросхемами.
Офлайн