python

超轻量级php框架startmvc

Python使用pyserial进行串口通信的实例

更新时间:2020-07-10 19:18:02 作者:startmvc
安装pyserialpipinstallpyserial查看可用的端口#coding:utf-8importserial.tools.list_portsplist=list(serial.tools.l

安装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 pyserial 串口通信