PyBluez和python的中断

PyBluez和python的中断,python,bluetooth,raspberry-pi,interrupt,pybluez,Python,Bluetooth,Raspberry Pi,Interrupt,Pybluez,当我的raspberrypi通过蓝牙从android手机接收字符串值时,我需要设置一个例程的完全优先级中断,我使用pybluez for pytohn,从pybluez接收此信息的示例,适用于我的代码,如下所示 server_sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM) server_sock.bind(("", bluetooth.PORT_ANY)) server_sock.listen(1) port = ser

当我的raspberrypi通过蓝牙从android手机接收字符串值时,我需要设置一个例程的完全优先级中断,我使用pybluez for pytohn,从pybluez接收此信息的示例,适用于我的代码,如下所示

server_sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
server_sock.bind(("", bluetooth.PORT_ANY))
server_sock.listen(1)

port = server_sock.getsockname()[1]

uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"

bluetooth.advertise_service(server_sock, "SampleServer", service_id=uuid,
                            service_classes=[uuid, bluetooth.SERIAL_PORT_CLASS],
                            profiles=[bluetooth.SERIAL_PORT_PROFILE],
                            # protocols=[bluetooth.OBEX_UUID]
                            )

print("Waiting for connection on RFCOMM channel", port)

client_sock, client_info = server_sock.accept()
print("Accepted connection from", client_info)

#starts main routine
try:
    while True:
        time.sleep(1)
        data = client_sock.recv(1024)
        
        #If no data enters break loop
        if not data:
            print('no data')
            break
        #if data enters as positive, run an alarm    
        if ((data.decode("utf-8")) == "True"):
             Alarm()
             break
        else:
             do_something()
如果
dou_something()
是一个非常长的例程,它包含电机和定时器,我需要运行此例程,同时始终检查手机发送的内容,并完全停止它,关闭所有外围设备,然后运行
报警()
例程,只有当用户手动清除手机中首先触发报警的内容时,报警才会停止

我必须明确,我不是PyBluez和python的专家,因此非常感谢您提供详细信息