#python #pyserial
#python #pyserial
Вопрос:
Я работаю над созданием системы регистрации данных для массива фотоэлектрических панелей. Две из моих желаемых измеряемых величин — это напряжение и ток, которые я измеряю с помощью следующего устройства. http://www.westmountainradio.com/pdf/PWRcheckManual.pdf
Моя цель — прочитать значения, последовательно выводимые с устройства PWRcheck, отформатировать в файл .csv и сохранить на raspberry pi.
В настоящее время я собрал следующий код, который может считывать данные в файл .xml. Моя конечная цель — прочитать последовательный ввод с устройства, затем записать данные в файл .csv с mV в одном столбце и mA во втором столбце.
Проблема, с которой я сталкиваюсь, заключается в том, что таким образом форматируется последовательный вывод с устройства PWRcheck. Мне не удалось записать эти данные ни в какой файл, кроме файла .xml.
numoflines=0
f = open("test.xml","wb")
while numoflines<2:
db = ser.readline()
numoflines = numoflines 1
ser.flushInput()
while True:
try:
data = ser.readline()
print(db)
f.write(db)
f.flush()
except(KeyboardInterrupt):
print("Keyboard Interrupt")
break
Данные с устройства PWRcheck печатаются в следующем формате.
6027,13
6027,13
6026,13
6024,13
6028,13
6024,13
6028,13
6027,12
6031,12
6027,13
6027,13
6028,13
6027,13
Я пытался использовать функцию разделения, но получал следующую ошибку:
TypeError: a bytes-like object is required, not 'str'
Кажется, что каждая строка записана как отдельная строка, которую я не смог разобрать. Любой совет был бы высоко оценен.
Комментарии:
1. Первый цикл while предназначен для игнорирования некоторых строк с устройства, которые мне не нужны.
2. использовать
f.write(db.encode())