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 21 Python
python pdb调试方法分享
Jan 21 Python
Python对数据库操作
Mar 28 Python
深入理解Python中装饰器的用法
Jun 28 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
解决Mac安装scrapy失败的问题
Jun 13 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
Jul 25 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
节日快乐! Python画一棵圣诞树送给你
Dec 24 Python
python 录制系统声音的示例
Dec 21 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
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
php读取3389的脚本
2014/05/06 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
jquery 锁定弹出层实现代码
2010/02/23 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
2016/11/03 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
使用graphics.py实现2048小游戏
2015/03/10 Python
Python使用爬虫猜密码
2016/02/19 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
想学python 这5本书籍你必看!
2018/12/11 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
Django 解决由save方法引发的错误
2020/05/21 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
军训自我鉴定范文
2014/02/13 职场文书
青安岗事迹材料
2014/05/14 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang
JavaScript实现简单拖拽效果
2021/09/15 Javascript