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验证码识别的示例代码
Sep 21 Python
Python实现扩展内置类型的方法分析
Oct 16 Python
Python numpy 常用函数总结
Dec 07 Python
安装python3的时候就是输入python3死活没有反应的解决方法
Jan 24 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
python简易远程控制单线程版
Jun 20 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
python 获取页面表格数据存放到csv中的方法
Dec 26 Python
Django之模型层多表操作的实现
Jan 08 Python
python 将有序数组转换为二叉树的方法
Mar 26 Python
详解Python中的各种转义符\n\r\t
Jul 10 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 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+javascript液晶时钟
2006/10/09 PHP
实用函数5
2007/11/08 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
Python中关键字is与==的区别简述
2014/07/31 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python程序封装为win32服务的方法
2021/03/07 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
基于python实现文件加密功能
2020/01/06 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
单身联谊活动方案
2014/01/29 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
公司岗位说明书
2015/10/08 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
Mysql数据库group by原理详解
2022/07/07 MySQL