关于“Python 读取串口数据的示例”,我可以提供如下攻略:
1. 确定串口参数
在使用 Python 读取串口数据之前,首先需要确定所使用的串口参数,如串口号、波特率、数据位、停止位和奇偶校验等。Python 串口通信通常使用 PySerial 库,该库提供了一个 Serial 类来处理串口通信。下面是一个设定串口参数的示例:
import serial
# 打开串口
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
# 打印串口参数
print(ser.name)
print(ser.baudrate)
print(ser.bytesize)
print(ser.parity)
print(ser.stopbits)
2. 串口数据读取
设定完串口参数之后,就可以读取串口数据了。通常情况下,我们需要不停地读取串口数据,因此使用一个死循环来实现即可。下面是一个简单的读取串口数据并打印的示例:
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
while True:
# 读取串口数据
data = ser.readline().decode().strip()
# 打印串口数据
print(data)
这段代码会不停地读取串口数据并打印,直到程序被手动停止。
3. 示例1:控制 LED 灯
通过读取串口数据,我们可以实现控制外部硬件。下面是一个示例,通过串口发送字符串 "ON" 和 "OFF" 实现控制 LED 灯的亮灭:
import serial
import RPi.GPIO as GPIO
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(18, GPIO.OUT)
while True:
data = ser.readline().decode().strip()
if data == "ON":
GPIO.output(18, GPIO.HIGH)
elif data == "OFF":
GPIO.output(18, GPIO.LOW)
在这个示例中,当从串口收到字符串 "ON" 时,程序会将 GPIO 18 号引脚设为高电平,从而点亮 LED 灯;当收到字符串 "OFF" 时,则将 GPIO 18 号引脚设为低电平,从而熄灭 LED 灯。需要注意的是,该示例是基于树莓派的 GPIO 控制,因此需要在 Raspberry Pi 上运行。如果需要在其他平台上运行,需要根据具体的情况进行改写。
4. 示例2:采集传感器数据
另一个常见的应用是通过串口读取传感器数据。下面是一个示例,通过串口读取温湿度传感器的数据并打印:
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
while True:
data = ser.readline().decode().strip()
if data:
# 去除字符串末尾的空格
data = data.rstrip()
# 如果是温湿度数据
if data.startswith("Temp:"):
temp, humidity = data[5:].split(",")
print("温度:{}℃,湿度:{}%".format(temp, humidity))
在这个示例中,程序会不停地读取串口数据,并从中提取出温湿度数据,并打印出来。需要注意的是,该示例是基于特定传感器的数据通信格式,因此需要根据具体的传感器数据格式进行改写。
以上是有关“Python 读取串口数据的示例”的完整攻略,希望可以帮到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 读取串口数据的示例 - Python技术站