首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我如何在Python中用Linux监听'usb device inserted'事件?

要在Python中使用Linux监听USB设备插入事件,您可以使用pyudev库。pyudev库是一个Python库,用于处理Linux系统中的UDEV事件。

首先,您需要安装pyudev库。您可以使用以下命令安装:

代码语言:txt
复制
pip install pyudev

接下来,您可以使用以下代码示例来监听USB设备插入事件:

代码语言:python
代码运行次数:0
复制
import pyudev

context = pyudev.Context()
monitor = pyudev.Monitor.from_netlink(context)
monitor.filter_by(subsystem='usb')
monitor.start()

for device in context.list_devices(subsystem='usb'):
    print('USB device connected:', device.sys_path)

while True:
    device = monitor.poll(timeout=1)
    if device:
        print('USB device connected:', device.sys_path)

在这个示例中,我们首先创建一个pyudev上下文,然后创建一个监视器对象,并过滤出USB子系统。然后,我们启动监视器,并遍历已连接的USB设备。最后,我们使用monitor.poll()方法来检查是否有新的USB设备连接,并在有设备连接时打印设备信息。

请注意,这个示例仅适用于Linux系统。如果您需要在其他操作系统上监听USB设备插入事件,您可能需要使用其他库或方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python监听usb鼠标插入

在刚把电脑系统转为linux之后,一直觉得需要通过命令:sudo rmmod psmouse来完成禁用触摸板的操作实在是太不方便了,于是就想着用一个python脚本来完成该操作。...于是在网上找到了pyUSB这个python库,可以轻松的完成对usb设备的操作。...的整个思路是这样的,首先开机启动一个python程序,不断运行,不停的检查usb设备中是否有usb鼠标的身影,如果有,那么执行上面的那个禁用触摸板的命令,如果没有,就启用触摸板。...到目前为止还没有完成这个小脚本,个人觉得系统应该是有一个usb设备插入的事件通知的,只是目前还不清楚怎么调用,另外还有一个问题是如何在python脚本中以管理员的身份执行禁用和启用触摸板的命令。...2-communication device:通讯设备,电话,moden等等。3-HID:人机交互设备,键盘,鼠标等。

3.4K20

C#进阶——记一次USB HID的各种坑(x86,x64,win10,win7)

一、简叙 写工控上位机的搬砖人,难免会遇到USB通讯,在一个项目中,写的上位机使用USB HID协议和STM32通讯传输数据,从零大概花了几天找例程,找资料,最后是各种搬砖修补,终于出来了一个出版DOME...A USB device was inserted or removed // { // switch (m.WParam.ToInt32())...case DEVICE_FLAG.DEVICE_ARRIVAL: // inserted // Console.WriteLine("ParseMessages...4.坑之接收数据顺序错乱 如前面所言,usb主要是考虑传输速度,所以下位机发上来的频率基本是1ms一次,貌似异步接收还是反应不错的。...但是解析数据就有点和想的不太一样了,把数据采集上来,用动态波形图显示在上位机,但是显示时明显发现数据是不对的,后面监听发现数据排序的有问题,比如后一帧数据比前一帧数据解析完成早。

2.5K30
  • Linux】《how linux work》第三章 设备

    这次讨论只是浅尝辄止地介绍了如何在Linux系统上使用磁盘和其他存储设备。 有关使用磁盘的更多信息,请参见第4章。在本章后面,我们将介绍Linux内核中SCSI支持的工作原理。...例如,用于进程间通信的D-Bus系统有一个名为udisks-daemon的守护进程,它监听出站的udev事件,以自动挂载磁盘并进一步通知其他桌面软件新磁盘已可用。...你更常见的是遇到使用SCSI命令的USB存储设备。 此外,支持ATAPI的设备(CD/DVD-ROM驱动器)使用了SCSI命令集的一个版本。...be inserted....图3-3展示了Linux SCSI子系统中用户空间对光驱的两个访问点(sr和sg)。 图中省略了SCSI下层的任何驱动程序。

    20210

    带你遨游USB世界

    本文将从USB协议、枚举流程、host和device驱动等各方面,全面介绍Linux USB模块的工作原理和代码流程,下面就请随一起,遨游多姿多彩而又复杂严谨的USB世界吧~ 2、USB传输基础知识介绍...用于数据量大、对实时性要求不高的场合,U盘。 中断传输—— Interrupt Transfers ? 用于数据量小的场合,保证查询频率,鼠标、键盘。...枚举过程中,device将各种描述符返回给host。 2.2、Linux USB驱动总体结构 ?...5、USB host驱动分析 5.1、URB USB请求块(USB Request Block,URB)是USB设备驱动中用来描述与USB设备通信所用的基本载体和核心数据结构。...在usb_mouse_open函数中提交URB: ? 执行回调函数,向user space上报input事件: ? ? 5.3、U盘驱动 5.3.1、U盘驱动框架 ?

    2.7K21

    OpenHarmony开发之——USB驱动

    驱动框架注册的设备插拔时间通知接口和移除USB逻辑设备的接口;图 1 USB仓HOST侧相关模块逻辑视图USB Device DDK:负责创建和删除USB设备,接口的事件获取、打开、关闭等,管道同步异步读写通信...# USB模块应用测试程序实现│ └── device # USB模块Device侧ACM驱动读写和测速应用程序实现,适配Linux和LiteOS系统│ └── host...提供的部分接口说明 表1 USB Host DDK接口 所示:表 1 USB HOST DDK接口USB Device DDK提供设备管理、IO管理、配置管理,主要功能有:创建和删除设备、获取和打开接口...提供的部分接口说明 表2 USB Device DDK接口 所示:表 2 USB Device DDK接口使用说明该仓核心功能包括两个方面:USB Host侧,包括DDK API和RAW API两套接口...USB Device接口可以定制不同Usb设备,串口、网卡、键盘、自定义设备等。

    16320

    USB总线-Linux内核USB3.0控制器初始化代码分析(三)

    、电源、extcon(用于USB模式切换),另一个在synopsys提供的驱动中初始化,位于drivers/usb/dwc3/core.c文件中,这部分和USB3.0控制器密切相关,USB3.0控制器内部寄存器地址...extcon(external connectors)是USB用于状态通知的驱动,主要用于USB模式切换,当PHY收到中断及处理完USB状态后,通过extcon驱动广播到监听事件的所有驱动。...使用devm_extcon_register_notifier来注册监听usb状态变化的回调函数。...、电源等,由rockchip提供的驱动完成,另一部分是USB控制器相关的初始化,USB控制器寄存器地址、中断、PHY等,由synopsys官方的驱动完成。...]; // USB主机控制器资源 // 事件buffer,控制器会将传输的事件信息保存到该缓冲区中,由软件统一处理 struct dwc3_event_buffer

    6.5K30

    使用Python监听HTML点击事件的全攻略:从基础到高级实现

    其中,监听HTML点击事件是一项常见任务。本文将介绍如何使用Python监听HTML点击事件,并提供相应的代码实例。什么是HTML点击事件?...如何监听HTML点击事件?要在Python监听HTML点击事件,我们通常会使用Web框架(Flask、Django等)来构建Web应用,并结合JavaScript来处理前端交互。...下面,我们将演示使用Flask框架和JavaScript来监听HTML点击事件的方法。步骤:安装Flask首先,确保已安装Python和pip包管理器。...总结本文介绍了如何使用Python监听HTML点击事件,并提供了相应的代码示例和深度学习建议。...通过学习本文,读者可以掌握如何在Python监听HTML点击事件,并了解Web开发领域的一些未来趋势和挑战。

    30500

    Linux】《how linux work》第十四章 Linux 桌面简介

    窗口管理器可能是最重要的客户端服务应用程序,因为它能够确定如何在屏幕上排列窗口,并提供交互装饰,标题栏,允许用户移动和最小化窗口。 这些元素对用户体验至关重要。...为了关闭这个漏洞,大多数发行版现在会禁用 X 服务器的网络监听器(通过向服务器添加 -nolisten tcp 选项,注释中所示)。...To view the properties, use xinput with the device number, as in this example: 大多数X客户端都监听来自核心设备的输入,因为它们不需要关心事件的具体来源设备...D-Bus 很重要,因为它作为一个进程间通信机制,允许桌面应用程序相互通信,并且因为大多数 Linux 系统使用它来通知进程系统事件,比如插入 USB 驱动器。...例如,进程 udisks-daemon 监听 ubus 的磁盘事件并将其发送到 dbus-daemon,后者然后将事件转发给对磁盘事件感兴趣的应用程序。

    13210

    用于监控USB设备连接事件的取证工具

    usbrip(是“USB Ripper”的简写,而不是“USB R.I.P.”)是一个带有CLI接口的开源取证工具,可用于跟踪/监控Linux机器上的USB设备连接事件(即USB事件历史记录,“已连接”...描述 usbrip是纯Python 3编写的一个小软件(使用一些外部模块,参见Dependencies/PIP),它会通过解析Linux的日志文件(/var/log/syslogor/var/log/messages...因此,如果更改syslogs的格式(,使用syslog-ng或rsyslog),它将无法解析USB历史记录。...device by its and/or from the USB ID database...根据“PID”属性的可信USB设备列表(trusted/auth.json)搜索外部USB设备的事件历史记录,并将结果事件限定为“Bob”作为用户,“EvilUSBManufacturer”为制造商,“

    2.3K30
    领券