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 相关文章推荐
Django1.9 加载通过ImageField上传的图片方法
May 25 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 Python
python中enumerate() 与zip()函数的使用比较实例分析
Sep 03 Python
Python 简单计算要求形状面积的实例
Jan 18 Python
Python *args和**kwargs用法实例解析
Mar 02 Python
Python 判断时间是否在时间区间内的实例
May 16 Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 Python
用Python远程登陆服务器的步骤
Apr 16 Python
python控制台打印log输出重复的解决方法
May 14 Python
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
Mar 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概述.
2006/10/09 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
基于jquery循环map功能的代码
2011/02/26 Javascript
jquery插件制作 图片走廊 gallery
2012/08/17 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
浅析Ajax语法
2016/12/05 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
在Python中使用SQLite的简单教程
2015/04/29 Python
Python字符串替换实例分析
2015/05/11 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
python自动发送测试报告邮件功能的实现
2019/01/22 Python
使用python turtle画高达
2020/01/19 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
python中doctest库实例用法
2020/12/31 Python
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
优秀社区干部事迹材料
2014/02/03 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
物业管理交接协议书
2016/03/24 职场文书
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL
Redis主从复制操作和配置详情
2022/09/23 Redis