python的pyserial模块

发布时间:2020-08-14 14:10:17

来源:51CTO

阅读:2913

作者:小止1995

pyserial是python提供用于进行串口通信的库

源文档:https://pythonhosted.org/pyserial/

1、安装pyserial

pip install pyserial

2、查看电脑现连串口设备

import serial.tools.list_ports

#检测设备的端口数

# plist = list(serial.tools.list_ports.comports())

# if len(plist) <= 0:

# print("没有发现端口!")

# else:

# #端口数

# print len(plist)

# plist_0 = list(plist[1])

# serialName = plist_0[0]

# print serialName

# serialFd = serial.Serial(serialName, 9600, timeout=60)

# print(serialFd.name)

3、将要发送的数据进行转换

所发十六进制需转换为以下格式

# 所发十六进制字符串010591F50000F104

cmd = [0x01, 0x05, 0x91, 0xF5, 0x00, 0x00, 0xF1, 0x04]

# 转成16进制的函数

def convert_hex(string, strip_index_end=18):

result = []

for i in range(0, strip_index_end, 2):

hex_num = '0x' + string[i] + string[i+1]

result.append(eval(hex_num))

return result

4、进行串口通信

串口通信

Windows下端口为COM*, Ubuntu下为/dev/ttyS*

class Ser(object):

def __init__(self):

# 打开端口

self.port = serial.Serial(port=serialconf.SERIAL_NAME, baudrate=serialconf.SERIAL_PORT, timeout=serialconf.SERIAL_TIMEOUT)

# 发送指令的完整流程

def send_cmd(self, send_cmd):

send_cmd = self.convert_hex(send_cmd)

_LOG.debug("serial port send_command:[%s]" % repr(send_cmd))

self.port.write(send_cmd)

def recv_data(self, len=4):

response = self.port.read(6)

response = response.encode('hex')

return response

# 转成16进制的函数

def convert_hex(self, string, strip_index_end=18):

result = []

for i in range(0, strip_index_end, 2):

hex_num = '0x' + string[i] + string[i+1]

result.append(eval(hex_num))

return result

5、测试用例

my_ser = Ser()

print "send blink command"

my_ser.send_cmd(serialconf.BLINK_CMD)

ret = my_ser.recv_data()

print "send blink ret:%s %d" % (ret, ret.lower() == serialconf.BLINK_RET.lower())

6、接口、参数详细介绍

优秀博客:https://blog.csdn.net/u012611644/article/details/79125234

pyserial库是python语言用于,python的pyserial模块相关推荐

  1. python语言简介-Python语言介绍

    原标题:Python语言介绍 Python简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其 ...

  2. 什么是Python语言?Python成为热门编程语言的原因

    什么是Python语言?Python成为热门编程语言的原因,由于Python简单易学功能强大,可以适用于各种开发环境,一门语言可走遍打天下,比较适合初学者入门. Python是什么?百度百科:Pyth ...

  3. python语言能做什么软件-什么是Python语言,Python语言可以用来做什么?

    什么是Python语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaS ...

  4. 【python】北京理工大学Python语言程序设计Python图形基本绘制【二】

    @[python]北京理工大学Python语言程序设计Python图形基本绘制[二] 内容 深入理解python语言 turtle库的运用 turtle库分析 深入理解python 1946年第一台计 ...

  5. python语言安装-Python语言脚本的安装和配置

    Python语言脚本有很广泛的应用,在这一过程中,我们会看到种种的问题.其实只要仔细学习就能解决.下面我们就来详细的学习下相关的技术信息.希望大家有所收获. 目前有许多第三方脚本语言可供直接使用,例如 ...

  6. 视频教程-Python编程的术与道:Python语言入门-Python

    Python编程的术与道:Python语言入门 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多项 白勇 ¥ ...

  7. 视频教程-Python编程的术与道:Python语言进阶-Python

    Python编程的术与道:Python语言进阶 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多项 白勇 ¥ ...

  8. python语言基础-Python语言基础01-初识Python

    1. Python简介 1.1 Python的历史 Python的创始人为吉多·范罗苏姆(荷兰语:Guido van Rossum) 1989年的圣诞节期间:吉多·范罗苏姆为了在阿姆斯特丹打发时间,决 ...

  9. python语言介绍-Python语言的简介

    ___________________________________________________________我是一条分割线__________________________________ ...

  10. python语言视频-Python语言之Python3 实现简易局域网视频聊天工具

    本文主要向大家介绍了Python语言之Python3 实现简易局域网视频聊天工具,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 操作系统为 Ubuntu 16.04,OpenCV ...

最新文章

  1. 英文书也没有那么难,跟着例子做,挺有意思的
  2. api 定位 微信小程序 精度_小程序的api是什么
  3. [php入门] 3、WAMP中的集成MySQL相关基础操作
  4. erlang odbc mysql参数_Erlang在Redhat 5.3下使用unixODBC连接Oracle数据库的配置
  5. 强迫症告辞!三星Galaxy S11这“凌乱”的后置5摄,感受下
  6. .NET生成静态页面并分页
  7. 重庆高考成绩查询2021时间几号,2021重庆高考时间是几号
  8. 网络爬虫与HTTP协议
  9. 在Flask程序中实现GitHub登录和GitHub资源交互
  10. 【Web】CSS(No.21)Css经典案例(三)《爱宠知识》
  11. Anroid Studio开发---日记本App
  12. 易买网更多新闻代码_《女神异闻录5》新网站源代码内藏玄机 4月25日有更多情报...
  13. js的json php无法json_decode,PHP中遇到BOM、 编码导致json_decode函数无法解析问题
  14. 双 JK 触发器 74LS112 逻辑功能。真值表_触发器的工作原理是什么
  15. 查询指定数据库指定表的指定字段的SQL语句
  16. Response学习
  17. C语言实现PID之应用
  18. 关于成为网络工程师后具体的工作内容的问题
  19. Terminate vs Disconnect(别再傻傻分不清楚了)
  20. Python批量获取基金数据

热门文章

  1. D-GAN用于时空预测的深度生成对抗网络
  2. Micropython——使用PS2手柄实现远程遥控
  3. app图标圆角角度_?APP图标造型分析!
  4. Android必知必会-App 常用图标尺寸规范汇总
  5. matlab相对强度噪声,噪声强度(噪声功率)、SNR、dBW
  6. Qt Design studio使用
  7. 三维动画制作软件有哪些?
  8. 对比三菱, 横河PLC快速入门 第一章
  9. 数据安全--安全网关
  10. 830计算机软件综合大纲,2019年中国地质大学830计算机软件综合考试大纲.pdf