Мне нужна помощь в устранении ошибки атрибута в моем коде Python.
Я работаю с последовательным устройством, подключенным / dev / ttyUSB0 к Raspberry Pi 2B . Моя цель этого кода - непрерывное чтение последовательных данных с последовательного устройства и выделение команд, обозначенных символом '@' вместо / n или /r.
Этот проект все еще на ранних стадиях, но из некоторых быстрых исследований я выполнил атрибут pyserial 'read_until' , который отлично бы работал в качестве основы. Это позволило бы мне читать по одному байту за раз и останавливаться на символе «@», а затем обрабатывать данные, прежде чем перейти к следующей части последовательных данных.
По какой-то причине я получаю Атрибут Ошибка при попытке использовать read_until, утверждая, что объект Serial не имеет этой функции. Ниже приведен тестовый код, который я использую, и ошибка, которую он выдает:
import serial
gc = serial.Serial('/dev/ttyUSB0', baudrate = 230400)
print(gc.name)
def getCommand():
gcData = gc.read_until('@', 1).decode('ascii')
print(gcData)
getCommand()
gc.close()
А вот вывод, который мне дал этот код:
>>>
/dev/ttyUSB0
Traceback (most recent call last):
File "/home/pi/Python/GC/serialRead1.py", line 10, in <module>
getCommand()
File "/home/pi/Python/GC/serialRead1.py", line 7, in getCommand
gcData = gc.read_until('@', 1).decode('ascii')
AttributeError: 'Serial' object has no attribute 'read_until'
>>>
Разочарование за этим этот read_until должен был быть импортирован вместе с последовательной библиотекой. Возможно, я упускаю что-то довольно простое, но было бы очень полезно, если бы я мог использовать этот атрибут. Большинство других вопросов о read_until ссылаются на telnetlib, который, насколько я знаю, не совпадает с тем, что есть в PySerial.
Вот ссылка на сайт, где я нашел документацию, в которой говорится, что read_until 'должен принадлежать PySerial: https://pyserial.readthedocs.io/en/latest/pyserial_api.html
Просто, чтобы вы знали, я очень новичок в программировании в целом. Некоторые из жаргонов, которые используют такие опытные программисты, как вы, могут go над моей головой, и поэтому я не знаю, как реализовать решения, которые у вас есть. Я прошу вашего терпения, поскольку я узнаю больше о программировании и Python в целом.
Большое спасибо за ваше время!