Требование: Мне нужно подключиться к удаленному устройству Bluetooth & и отправить данные с помощью файла устройства. 1. Сначала сканирование ближайших устройств Bluetooth 2. Подключение к удаленному BT адр & канал и общаться, используя файл устройства (/ DEV/rfcomm0)Python альтернатива команде linux bluetooth «rfcomm connect»
Я застрял на втором шаге. Я могу сделать это с помощью Linux оболочки
sudo rfcomm connect /dev/rfcomm0 00:11:22:33:44:55 1 &
Это работает, а затем я открываю интерпретатор питона и взаимодействовать с удаленным устройством с помощью файла rfcomm0 устройства.
Но мое требование таково, что устройство addr может меняться. Поэтому я хочу подключать и освобождать соединения через программу python.
Я пробовал использовать подпроцесс python. Но проблема в том, что он немедленно возвращается с кодом возврата 0, а затем соединение устанавливается после определенной задержки.
import subprocess
host = '00:11:22:33:44:55'
port = "1"
subprocess.call(["rfcomm connect",host,port,"&"],shell=True)
Я ищу, если есть какой-либо pyBluez или любой другой альтернативы python для достижения этого.
не использовать '&', то. который переводит внешний процесс в фоновый режим и «немедленно возвращается». без '&' внешний процесс будет блокироваться до тех пор, пока он сам не выйдет. –
Но эта команда является блокирующей командой. Он не выйдет, пока мы не прервали клавиатуру – user3151330