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 相关文章推荐
使用url_helper简化Python中Django框架的url配置教程
May 30 Python
Python简单的制作图片验证码实例
May 31 Python
Python利用splinter实现浏览器自动化操作方法
May 11 Python
python 自动去除空行的实例
Jul 24 Python
解决python中 f.write写入中文出错的问题
Oct 31 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
Python性能分析工具Profile使用实例
Nov 19 Python
tensorflow 查看梯度方式
Feb 04 Python
python正则过滤字母、中文、数字及特殊字符方法详解
Feb 11 Python
Python实现AI换脸功能
Apr 10 Python
python OpenCV学习笔记
Mar 31 Python
Python实现照片卡通化
Dec 06 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查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
python kafka 多线程消费者&amp;手动提交实例
2019/12/21 Python
Django models filter筛选条件详解
2020/03/16 Python
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
新闻学专业应届生求职信
2013/11/08 职场文书
小学安全汇报材料
2014/08/14 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
大学生个人学习总结
2015/02/15 职场文书
整脏治乱工作简报
2015/07/21 职场文书
八年级语文教学反思
2016/03/03 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js