Внимание: после некоторого тестирования этого подхода я обнаружил, что в целом проблема не устраняется
НЕ РАБОТАЕТ:
Хотя я не тестировал запуск своей программы в течение нескольких часов, похоже, это помогает.
from threading import Thread
from time import sleep
import subprocess
def bluetooth_stay_awake():
"""Ping the bluetooth compontent to keep all connections up"""
thread= Thread(target=(lambda:subprocess.run(["watch", "bluetoothctl"])))
thread.start()
Использование команды оболочки watch bluetoothctl
здесь важно, иначе процесс bluetoothctl
заблокирует вас.скрипт python.
Команды оболочки & Threading в Python