Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python在Linux中检测CAN设备的插入和删除_Python_Linux_Python 3.x_Dbus_Can Bus - Fatal编程技术网

如何使用Python在Linux中检测CAN设备的插入和删除

如何使用Python在Linux中检测CAN设备的插入和删除,python,linux,python-3.x,dbus,can-bus,Python,Linux,Python 3.x,Dbus,Can Bus,我一直在研究如何最好地检测CAN-USB设备与Linux平台(Ubuntu12.04)的连接和断开,但进展缓慢。我能在那里找到的最好的建议是使用dbus来检测插入/删除事件。我正在编译和安装Python3.3(支持CANbus)所需的所有库,但是由于依赖项的数量太多,安装所有包和库需要花费相当长的时间 有谁能推荐使用标准Linux libs/API检测设备插入/删除(特别是Can-USB设备)的最简单、最简单的方法吗?dbus是我们要走的路吗 你查过udev了吗?根据你到底需要做什么,这可能更有

我一直在研究如何最好地检测CAN-USB设备与Linux平台(Ubuntu12.04)的连接和断开,但进展缓慢。我能在那里找到的最好的建议是使用dbus来检测插入/删除事件。我正在编译和安装Python3.3(支持CANbus)所需的所有库,但是由于依赖项的数量太多,安装所有包和库需要花费相当长的时间


有谁能推荐使用标准Linux libs/API检测设备插入/删除(特别是Can-USB设备)的最简单、最简单的方法吗?dbus是我们要走的路吗

你查过udev了吗?根据你到底需要做什么,这可能更有意义。此外,根据CAN设备的具体工作方式,可能会在/dev/中输入条目,因此您可以使用inotify进行输入。我最初排除了udev,因为我一直在使用虚拟CAN设备而不是真实设备进行测试。我将很快启动真正的设备,但vcan似乎没有在/dev下添加条目,而是作为网络套接字连接,因此它在/sys/class/net下创建了一个条目。据我所知,使用pyinotify对/sys/不起作用(或者在我的测试中似乎不起作用)。我想我应该闭嘴,在问愚蠢的问题之前用真正的设备进行更多的测试。仅供参考,我终于让dbus与Python一起正常工作,并检测vcan设备的启动/关闭事件