Ejemplo n.º 1
0
 def run(self):
     """Run HCIdump thread."""
     _LOGGER.debug("HCIdump thread: Run")
     try:
         mysocket = aiobs.create_bt_socket(self._interface)
     except OSError as error:
         _LOGGER.error("HCIdump thread: OS error: %s", error)
     else:
         self._event_loop = asyncio.new_event_loop()
         asyncio.set_event_loop(self._event_loop)
         fac = self._event_loop._create_connection_transport(
             mysocket, aiobs.BLEScanRequester, None, None)
         _LOGGER.debug("HCIdump thread: Connection")
         conn, btctrl = self._event_loop.run_until_complete(fac)
         _LOGGER.debug("HCIdump thread: Connected")
         btctrl.process = self.process_hci_events
         btctrl.send_command(
             aiobs.HCI_Cmd_LE_Set_Scan_Params(scan_type=self._active))
         btctrl.send_scan_request()
         _LOGGER.debug("HCIdump thread: start main event_loop")
         try:
             self._event_loop.run_forever()
         finally:
             _LOGGER.debug(
                 "HCIdump thread: main event_loop stopped, finishing", )
             btctrl.stop_scan_request()
             conn.close()
             self._event_loop.run_until_complete(asyncio.sleep(0))
             self._event_loop.close()
             _LOGGER.debug("HCIdump thread: Run finished")
Ejemplo n.º 2
0
 def connection_made(self, transport):
     self.transport = transport
     command = aiobs.HCI_Cmd_LE_Set_Scan_Params(0x1)
     self.transport.write(command.encode())