串行数据过滤

2024-05-20 08:45:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我在阿尔杜诺·莱昂纳多号上使用LM-35温度传感器。
然后用Python连接这个Arduino,通过串口下载温度值。在

代码正在工作,Arduino正在发送数据,但我需要做的是将数值与其他字符分开。 当我运行代码时,我会在我的监视器上得到这样的结果:

b'26.88\r\n'
<class 'bytes'>

我需要做的是将值26.88(摄氏温度)分离为一个浮点数,但我不知道如何才能做到这一点?在

下面是我的代码:

^{pr2}$

Tags: 代码bytes温度字符发送数据arduinoclass数值
1条回答
网友
1楼 · 发布于 2024-05-20 08:45:38

您需要去掉\r和\n字符。试试这个:

import serial, time

ser = serial.Serial('COM4', 9600)

while 1:
    str1 = ser.readline()

    finalValue = str1.decode('utf-8').replace('\r','').replace('\n','')
    print (float(finalValue))

相关问题 更多 >