PyBluez和python的中断
当我的raspberrypi通过蓝牙从android手机接收字符串值时,我需要设置一个例程的完全优先级中断,我使用pybluez for pytohn,从pybluez接收此信息的示例,适用于我的代码,如下所示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
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的专家,因此非常感谢您提供详细信息