pyserial库是python语言用于,python的pyserial模块
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模块相关推荐
- python语言简介-Python语言介绍
原标题:Python语言介绍 Python简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其 ...
- 什么是Python语言?Python成为热门编程语言的原因
什么是Python语言?Python成为热门编程语言的原因,由于Python简单易学功能强大,可以适用于各种开发环境,一门语言可走遍打天下,比较适合初学者入门. Python是什么?百度百科:Pyth ...
- python语言能做什么软件-什么是Python语言,Python语言可以用来做什么?
什么是Python语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaS ...
- 【python】北京理工大学Python语言程序设计Python图形基本绘制【二】
@[python]北京理工大学Python语言程序设计Python图形基本绘制[二] 内容 深入理解python语言 turtle库的运用 turtle库分析 深入理解python 1946年第一台计 ...
- python语言安装-Python语言脚本的安装和配置
Python语言脚本有很广泛的应用,在这一过程中,我们会看到种种的问题.其实只要仔细学习就能解决.下面我们就来详细的学习下相关的技术信息.希望大家有所收获. 目前有许多第三方脚本语言可供直接使用,例如 ...
- 视频教程-Python编程的术与道:Python语言入门-Python
Python编程的术与道:Python语言入门 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多项 白勇 ¥ ...
- 视频教程-Python编程的术与道:Python语言进阶-Python
Python编程的术与道:Python语言进阶 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多项 白勇 ¥ ...
- python语言基础-Python语言基础01-初识Python
1. Python简介 1.1 Python的历史 Python的创始人为吉多·范罗苏姆(荷兰语:Guido van Rossum) 1989年的圣诞节期间:吉多·范罗苏姆为了在阿姆斯特丹打发时间,决 ...
- python语言介绍-Python语言的简介
___________________________________________________________我是一条分割线__________________________________ ...
- python语言视频-Python语言之Python3 实现简易局域网视频聊天工具
本文主要向大家介绍了Python语言之Python3 实现简易局域网视频聊天工具,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 操作系统为 Ubuntu 16.04,OpenCV ...
最新文章
- 英文书也没有那么难,跟着例子做,挺有意思的
- api 定位 微信小程序 精度_小程序的api是什么
- [php入门] 3、WAMP中的集成MySQL相关基础操作
- erlang odbc mysql参数_Erlang在Redhat 5.3下使用unixODBC连接Oracle数据库的配置
- 强迫症告辞!三星Galaxy S11这“凌乱”的后置5摄,感受下
- .NET生成静态页面并分页
- 重庆高考成绩查询2021时间几号,2021重庆高考时间是几号
- 网络爬虫与HTTP协议
- 在Flask程序中实现GitHub登录和GitHub资源交互
- 【Web】CSS(No.21)Css经典案例(三)《爱宠知识》
- Anroid Studio开发---日记本App
- 易买网更多新闻代码_《女神异闻录5》新网站源代码内藏玄机 4月25日有更多情报...
- js的json php无法json_decode,PHP中遇到BOM、 编码导致json_decode函数无法解析问题
- 双 JK 触发器 74LS112 逻辑功能。真值表_触发器的工作原理是什么
- 查询指定数据库指定表的指定字段的SQL语句
- Response学习
- C语言实现PID之应用
- 关于成为网络工程师后具体的工作内容的问题
- Terminate vs Disconnect(别再傻傻分不清楚了)
- Python批量获取基金数据