Python使用pyserial进行串口通信的实例


Posted in Python onJuly 02, 2019

安装pyserial

pip install pyserial

查看可用的端口

# coding:utf-8

import serial.tools.list_ports

plist = list(serial.tools.list_ports.comports())

if len(plist) <= 0:
  print("没有发现端口!")
else:
  plist_0 = list(plist[0])
  serialName = plist_0[0]
  serialFd = serial.Serial(serialName, 9600, timeout=60)
  print("可用端口名>>>", serialFd.name)

所发十六进制需转换为以下格式

# 所发十六进制字符串010591F50000F104
cmd = [0x01, 0x05, 0x91, 0xF5, 0x00, 0x00, 0xF1, 0x04]

串口通信

Windows下端口为COM*, Ubuntu下为/dev/ttyS0

import serial

class Ser(object):
  def __init__(self):
    # 打开端口
    self.port = serial.Serial(port='COM4', baudrate=9600, bytesize=8, parity='E', stopbits=1, timeout=2)

  # 发送指令的完整流程
  def send_cmd(self, cmd):
    self.port.write(cmd)
    response = self.port.readall()
    response = self.convert_hex(response)
    return response

  # 转成16进制的函数
  def convert_hex(self, string):
    res = []
    result = []
    for item in string:
      res.append(item)
    for i in res:
      result.append(hex(i))
    return result

以上这篇Python使用pyserial进行串口通信的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算一个序列的平均值的方法
Jul 11 Python
Python基于有道实现英汉字典功能
Jul 25 Python
Python 中 Virtualenv 和 pip 的简单用法详解
Aug 18 Python
利用pandas读取中文数据集的方法
Jul 25 Python
详解django2中关于时间处理策略
Mar 06 Python
pandas.DataFrame的pivot()和unstack()实现行转列
Jul 06 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
python实现图像全景拼接
Mar 27 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
Apr 27 Python
你需要学会的8个Python列表技巧
Jun 24 Python
python3代码输出嵌套式对象实例详解
Dec 03 Python
python图片灰度化处理的几种方法
Jun 23 Python
Python函数中参数是传递值还是引用详解
Jul 02 #Python
Python 运行.py文件和交互式运行代码的区别详解
Jul 02 #Python
python 函数中的内置函数及用法详解
Jul 02 #Python
使用python serial 获取所有的串口名称的实例
Jul 02 #Python
Python中那些 Pythonic的写法详解
Jul 02 #Python
python 中如何获取列表的索引
Jul 02 #Python
python 缺失值处理的方法(Imputation)
Jul 02 #Python
You might like
如何正确理解PHP的错误信息
2006/10/09 PHP
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
php中Snoopy类用法实例
2015/06/19 PHP
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
jquery replace方法去空格
2017/05/08 jQuery
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
跟老齐学Python之正规地说一句话
2014/09/28 Python
python使用pil生成缩略图的方法
2015/03/26 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
天巡全球:Skyscanner Global
2017/06/20 全球购物
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
禁止酒驾标语
2014/06/25 职场文书
改革共识倡议书
2014/08/29 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
学生抄袭作业的检讨书
2014/10/02 职场文书
庆七一宣传标语
2014/10/08 职场文书
留学推荐信中文范文
2015/03/26 职场文书
如何书写邀请函?
2019/06/24 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python
Redis+AOP+自定义注解实现限流
2022/06/28 Redis