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实现代理服务功能实例
Nov 15 Python
在Django的模板中使用认证数据的方法
Jul 23 Python
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
如何优雅地处理Django中的favicon.ico图标详解
Jul 05 Python
python 找出list中最大或者最小几个数的索引方法
Oct 30 Python
python实现列表的排序方法分享
Jul 01 Python
python 绘制拟合曲线并加指定点标识的实现
Jul 10 Python
使用 Python 写一个简易的抽奖程序
Dec 08 Python
python对XML文件的操作实现代码
Mar 27 Python
python 制作本地应用搜索工具
Feb 27 Python
Python序列化与反序列化相关知识总结
Jun 08 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中__get()和__set()的用法实例详解
2013/06/04 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
python 中文字符串的处理实现代码
2009/10/25 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
python实现石头剪刀布程序
2021/01/20 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
python global关键字的用法详解
2019/09/05 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
会计专业自我鉴定范文
2013/10/06 职场文书
宿舍卫生检讨书
2014/01/16 职场文书
商业融资计划书
2014/04/29 职场文书
公司户外活动总结
2014/07/04 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
学校党支部承诺书
2015/04/30 职场文书
公司表扬稿范文
2015/05/05 职场文书
工作会议简报
2015/07/20 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python
Python实现位图分割的效果
2021/11/20 Python