本文主要是介绍Python串口通信-[基本语法]-[获取GPS定位器的串口名称]:Python 中进行串口通信,可以使用 pyserial 库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、安装依赖库
pip install pyserial
2、写一个基本的通信方法
import serialdef send_to_ser(name,baud):#name = 'COM1' 串口名称#baud = 9600 波特率ser = serial.Serial(name, baud)ser.write(b'start') #给串口写入数据,bytes类型recv = ser.read(10) #从串口读取10个字节数据 print(recv)if __name__ == '__main__':send_to_ser('COM1',9600)
3、获取usb定位在电脑的端口
import serial.tools.list_portsdef get_ser_port_name(chip_name = 'CH340'):'''chip_name: gps定位使用的芯片名,不同型号的gps的芯片是不一样的。return: name=COM6 等串口名字'''# 获取可用串口列表ports = serial.tools.list_ports.comports()# 遍历并打印可用串口信息for port in ports:try:ser = serial.Serial(port.device)ser.close()is_connected = Trueexcept serial.SerialException:is_connected = Falsedesc = port.descriptionname = port.nameif (chip_name in desc) and is_connected and name!='COM1':# print(name)return name# print(f"串口名称: {port.name}")# print(f"描述: {port.description}")# print(f"设备: {port.device}")# print(f"厂商: {port.manufacturer}")# print(f"产品: {port.product}")# print(f"序列号: {port.serial_number}")# print(f"是否已连接: {is_connected}")# print("--------------------------")else:#代表搜索不到了return None
注意:
1、CH340 芯片,不止应用在GPS定位器上,还可能有其他usb设备也会使用,如果电脑上插入的usb设备中,有多个使用了CH340芯片时,就无法区分开来。
2、可以通过更多的信息来区别:制造商id=port.pid,供应商id=port.vid
3、在调试的时候,可以一个一个设备进行信息获取,获取到对应usb设备对应的 port.description,port.pid和port.vid 。 为后续脚本的运行设置好对应usb设备的信息。
4、具体操作还是要根据具体业务来操作,不能拿来即用
这篇关于Python串口通信-[基本语法]-[获取GPS定位器的串口名称]:Python 中进行串口通信,可以使用 pyserial 库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!