Python串口通信-[基本语法]-[获取GPS定位器的串口名称]:Python 中进行串口通信,可以使用 pyserial 库

本文主要是介绍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 库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/168229

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

UE3脚本UnrealScript UC语法点滴

持续更新 目录 类定义修饰符  1.dependson(CLASSNAME) 2.config(ININAME) 3.native 4.notplaceable 5.inherits(CLASSNAME1[,CLASSNAME2,...]) 类对象实例创建 类默认属性设置 变量 1.声明 var local 2.修饰符 config  3.array 类型变量 以及

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

Python 字符串占位

在Python中,可以使用字符串的格式化方法来实现字符串的占位。常见的方法有百分号操作符 % 以及 str.format() 方法 百分号操作符 % name = "张三"age = 20message = "我叫%s,今年%d岁。" % (name, age)print(message) # 我叫张三,今年20岁。 str.format() 方法 name = "张三"age

通信系统网络架构_2.广域网网络架构

1.概述          通俗来讲,广域网是将分布于相比局域网络更广区域的计算机设备联接起来的网络。广域网由通信子网于资源子网组成。通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网构建,将分布在不同地区的局域网或计算机系统互连起来,实现资源子网的共享。 2.网络组成          广域网属于多级网络,通常由骨干网、分布网、接入网组成。在网络规模较小时,可仅由骨干网和接入网组成

ROS话题通信流程自定义数据格式

ROS话题通信流程自定义数据格式 需求流程实现步骤定义msg文件编辑配置文件编译 在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty… 但是,这些数据一般只包含一个 data 字段,结构的单一意味着功能上的局限性,当传输一些复杂的数据,比如: