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使用PyGame播放Midi和Mp3文件的方法
Apr 24 Python
Python加pyGame实现的简单拼图游戏实例
May 15 Python
使用Python制作简单的小程序IP查看器功能
Apr 16 Python
python学习开发mock接口
Apr 28 Python
python scrapy爬虫代码及填坑
Aug 12 Python
python二维键值数组生成转json的例子
Dec 06 Python
解决Pycharm的项目目录突然消失的问题
Jan 20 Python
Python发送手机动态验证码代码实例
Feb 28 Python
Python实现读取并写入Excel文件过程解析
May 27 Python
Python读取yaml文件的详细教程
Jul 21 Python
matplotlib自定义鼠标光标坐标格式的实现
Jan 08 Python
Python使用openpyxl模块处理Excel文件
Jun 05 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
深入解析PHP的引用计数机制
2013/06/14 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
Javascript中的arguments对象
2016/06/20 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
用python处理图片实现图像中的像素访问
2018/05/04 Python
python3 logging日志封装实例
2020/04/08 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
Python实现微信表情包炸群功能
2021/01/28 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
C语言50道问题
2014/10/23 面试题
通信专业个人自我鉴定
2013/10/21 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
人事部经理岗位职责
2014/03/07 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书
使用Redis实现分布式锁的方法
2022/06/16 Redis