python 扫描枪_python 之serial、pyusb 使用开发

本文介绍了在Windows环境下,如何使用Python的`pyserial`模块通过USB虚拟串口与得力扫码枪交互,获取扫码数据。首先通过`pyserial`的`Serial`类连接串口,然后利用其方法如`open()`、`read()`等读取数据。示例代码展示了检查串口、读取数据的实现过程。
摘要由CSDN通过智能技术生成

说明:本次是在windows 系统操作实现的。

使用场景,获取得力扫码枪的扫码数据,该扫码枪支持三种通讯接口设置,如下图

即插即用的是 USB-KBW功能,插上去即可获取扫码数据,第二种是通过USB虚拟串口功能实现的,即通过com 口,

使用前可以通过扫码这三种方式中的其中一种进行设置通讯方式。

首先介绍第二种方式

第二种方式打开后,本机打开记事本,扫码是获取不到扫码数据的,询问客服,客服说该扫码枪不支持该功能。

但是通过程序监控com口是可以实现获取数据的。具体是通过serial模块进行操作的,具体介绍如下:

安装 pyserial模块

pip install pyserial

#介绍一下serial的相关方法

open() #打开端口

close() #立即关闭端口

setBaudrate(波特率) #在打开的端口上更改波特率

inWaiting() #返回接收缓冲区中的字符数

read(size= 1) #读取“size”字符

write(s) #将字符串s写入端口

flushInput() #刷新输入缓冲区,丢弃所有的内容

flushOutput() #刷新输出缓冲区,中止输出

sendBreak() #发送中断条件

setRTS(level= 1) #设置RTS线路为指定的逻辑电平

setDTR(level= 1) #设置DTR行为指定的逻辑级别

getCTS() #返回CTS行的状态

getDSR() #返回DSR行的状态

getRI() #返回RI行的状态

getCD() #返回CD行的状态

实例介绍

检查是否有使用端口欧

#FileName : demo.py#Author : Adil#DateTime : 2019/9/1 7:03#SoftWare : PyCharm

importserial#这里使用的是windwos

from serial.tools.list_ports_windows import *plist=list(comports())if len(plist) <=0:print ("The Serial port can‘t find!")else:

plist_0=list(plist[0])

serialName=plist_0[0]

serialFd= serial.Serial(serialName,9600,timeout = 60)print ("check which port was really used >",serialFd.name)

实际读取端口数据

#FileName : test.py#Author : Adil#DateTime : 2019/9/1 7:25#SoftWare : PyCharm

importserial

ser= serial.Serial(‘COM6‘, 9600,timeout=0.5)#ser = serial.Serial(‘COM6‘, 9600)

print(ser.name)print(ser.port)if notser.isOpen():

ser.open()print(‘com3 is open‘, ser.isOpen())#获取一行信息

defrecv(serial):print(‘2‘)

data= ‘‘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值