繁体   English   中英

Python - 线程不输出事件日志

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM