[英]Python - Thread not outputting Event Log
我目前正在编写一个项目,我正在线程中启动一些低功耗蓝牙广告,并希望在设备连接到广告时登录控制台。
但遗憾的是,当有人连接时,日志永远不会被触发。 我确定当我在不同的线程中启动广告时我做错了什么,但我不确定是什么。
我的代码如下所示:
class BluetoothController:
def __init__(self):
self.adapter_address = list(adapter.Adapter.available())[0].address
self.ble_uart = peripheral.Peripheral(adapter_address=self.adapter_address,
local_name=config.BLUETOOTH_APP_NAME)
def setup_ble(self):
self.set_service_and_characteristic()
self.set_listeners()
def start_advertising(self):
self.start_threadened(self.ble_uart.publish)
def set_service_and_characteristic(self):
self.ble_uart.add_service(srv_id=1, uuid=config.BLUETOOTH_SERVICE_UUID, primary=True)
self.ble_uart.add_characteristic(srv_id=1, chr_id=1, uuid=config.BLUETOOTH_CHARACTERISTIC_UUID,
value=[], notifying=False,
flags=['write', 'write-without-response'],
write_callback=BluetoothDevice.uart_write,
read_callback=None,
notify_callback=None)
def set_listeners(self):
self.ble_uart.on_connect = BluetoothDevice.on_connect
self.ble_uart.on_disconnect = BluetoothDevice.on_disconnect
def start_threaded(starting_function):
thread = Thread(target=starting_function)
thread.start()
return thread
在另一个线程中启动start_advertising
后,永远不会触发侦听器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.