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+Wordpress制作小说站
Apr 14 Python
Python利用operator模块实现对象的多级排序详解
May 09 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
python实现移位加密和解密
Mar 22 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
jupyter notebook 中输出pyecharts图实例
Apr 23 Python
使用Python opencv实现视频与图片的相互转换
Jul 08 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
python多进程使用函数封装实例
May 02 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
Anaconda详细安装步骤图文教程
Nov 12 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模板类代码
2008/09/07 PHP
php 301转向实现代码
2008/09/18 PHP
PHP 替换模板变量实现步骤
2009/08/24 PHP
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
nginx 设置多个站跨域
2021/03/09 Servers
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
用Python进行TCP网络编程的教程
2015/04/29 Python
Python之web模板应用
2017/12/26 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
售后专员岗位职责
2013/12/08 职场文书
暑期社会实践证明书
2014/11/17 职场文书
优秀党支部申报材料
2014/12/24 职场文书