在Python中是否可以在Wifi连接断开时设置中断?

在Python中是否可以在Wifi连接断开时设置中断?,python,embedded-linux,Python,Embedded Linux,我使用的是嵌入式电路板。问题是Wifi模块与我的Usb Pheriferal位于同一Usb总线上。总线是高速的,当执行某些任务时,USB高速总线会下降,wifi停止工作。我的问题是,您是否可以使用Python设置一个中断,以便在wifi关闭时,Python脚本自动发挥作用,然后执行ifdown,然后执行ifup,最后如果没有帮助,则重新启动。我知道如何实现这些功能,但前提是wifi模块工作正常。我不知道如何设置中断 我已经测试了系统的内核死机。这里的情况根本不是这样。问题是由于未知原因,USB总

我使用的是嵌入式电路板。问题是Wifi模块与我的Usb Pheriferal位于同一Usb总线上。总线是高速的,当执行某些任务时,USB高速总线会下降,wifi停止工作。我的问题是,您是否可以使用Python设置一个中断,以便在wifi关闭时,Python脚本自动发挥作用,然后执行
ifdown
,然后执行
ifup
,最后如果没有帮助,则重新启动。我知道如何实现这些功能,但前提是wifi模块工作正常。我不知道如何设置中断

我已经测试了系统的内核死机。这里的情况根本不是这样。问题是由于未知原因,USB总线无法与模块通信。我没有DPI,因此无法进入串行调试。但这只是一个猜测,USB总线出现故障,连接中断。

我会使用bash脚本:

while true; do
    ping -q -c 1 8.8.8.8 || (ifdown wlan0; ifup wlan0)
    sleep 10
done

USB总线上的电源可能已耗尽。总线只能提供一定数量的电源(通常最大为0.5A),如果您的外围设备和WiFi组合试图占用更多的电源,总线将通过禁用一些东西来保护自己(抱歉,这有点模糊)。不过,通过一个电源USB集线器连接WiFi模块,您可以轻松测试这一点;这将为模块而不是嵌入式板提供电源。如果在“执行某些任务”时未断开连接,则电源限制是问题所在。@bazza这不是电源问题,因为我已将电源直接从主板5V连接到usb。我想是别的原因吧。可能是电磁干扰,或者仅仅是总线不能处理两个480米的连接。至少当时不是这样。恐怕我没有有用的主意了。我不知道USB设备和总线是如何协调电源的。如果是通过总线本身进行的聊天,则可能是USB主机仍在断开连接;它不一定知道有直接从电路板的5V供电。其他人有更多的信息吗?这不是假设网络连接到互联网吗?如果是封闭网络,这将不起作用。您可以ping到您喜欢的任何地址,以确保连接处于活动状态。在封闭网络中,它很可能是网关的IP。@tomasbedrich我尝试了一个类似的脚本,但董事会没有响应。我想基于硬件的看门狗是唯一的解决方案。