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实现将文本转换成语音的方法
May 28 Python
python中异常捕获方法详解
Mar 03 Python
聊聊Python中的pypy
Jan 12 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
django如何实现视图重定向
Jul 24 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 Python
python如何从文件读取数据及解析
Sep 19 Python
浅谈Django2.0 加xadmin踩的坑
Nov 15 Python
python实现最速下降法
Mar 24 Python
python 识别登录验证码图片功能的实现代码(完整代码)
Jul 03 Python
详解运行Python的神器Jupyter Notebook
Jun 03 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 printf输出格式使用说明
2010/12/05 PHP
javascript RadioButtonList获取选中值
2009/04/09 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
vue实现tab栏点击高亮效果
2020/08/19 Javascript
[47:45]Liquid vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
Python求解正态分布置信区间教程
2019/11/20 Python
Python中实现一行拆多行和多行并一行的示例代码
2020/09/06 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
好的演讲稿开场白
2013/12/30 职场文书
优秀部门获奖感言
2014/02/14 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
学校实习推荐信
2015/03/27 职场文书
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python
服务器nginx权限被拒绝解决案例
2022/09/23 Servers