Я пишу скрипт python, который будет связываться с измерителем Fluke через COM-порт. Я могу получить данные, но хочу разобрать их в полезный поплавок. Код выглядит следующим образом:Преобразование bytearray из последовательного порта в float
import serial
ser = serial.Serial('COM3', 115200, timeout=1)
#Decalring some variables
FlukeID = b'ID\r'
FlukeQM = b'QM\r'
#Requesting the meters ID to verify connection on terminal
ser.writelines(FlukeID)
line = ser.readline()
print(line)
#Declaring variables for my while loop
thermdata = 0
t=1
ser.writelines(FlukeQM)
thermdata = ser.readline()
while(t < 5):
ser.writelines(FlukeQM)
#thermdata = (thermdata + ser.readline()) /2
thermdata = ser.readline()
print(thermdata)
t+=1
Данные, возвращаемые устройства выглядит следующим образом на консоли:
8.597E3, OHM, NORMAL, NONEINCORRECT
EDIT: Данные на самом деле выглядят так же, как на терминале л: В'0 \ r8.597E3, OHM, NORMAL, NONE \ г»
Я просто хочу, чтобы иметь возможность использовать числовое значение в начале, так что я могу сделать некоторые расчеты с течением времени. Мне также нужно иметь возможность использовать часть научного понятия в моем номере, поскольку я не буду знать диапазон моих измерений перед началом работы. Я знаю, что должен быть простой способ сделать это и будет очень признателен за любую помощь.
На стороне примечания, я также хотел бы иметь возможность отображать эти значения или помещать их в какой-то CSV-файл. Если у вас есть какие-либо комментарии о том, где искать, как это сделать, это было бы здорово, но я в основном занимаюсь обработкой bytearray.
Где находится ByteArray? – unutbu
'float ('8.597E3')' -> '8597.0'. Также, если вы можете просто написать строки, такие как «8.597E3, OHM, NORMAL, NONE» '+ newline для файла, и он будет в формате csv. – martineau
Ну, CSV-часть кажется довольно очевидной теперь ха-ха. Благодарю. – Menimitz