S&B Volcano vaporizer remote control with Pi Pico W
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

scan.py 1007B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import simplepyble
  2. def ble_scan(addr):
  3. adapters = simplepyble.Adapter.get_adapters()
  4. if len(adapters) == 0:
  5. print("No adapters found")
  6. return None
  7. # TODO allow selection of bluetooth adapter
  8. adapter = adapters[0]
  9. print("Selected adapter: {} [{}]".format(adapter.identifier(), adapter.address()))
  10. # TODO support longer scans?
  11. print("Scanning for '{}' for 1s...".format(addr))
  12. adapter.scan_for(1000)
  13. peripherals = adapter.scan_get_results()
  14. for peripheral in peripherals:
  15. if addr != None:
  16. if addr == peripheral.address():
  17. return peripheral
  18. else:
  19. if peripheral.identifier() == "S&B VOLCANO H":
  20. return peripheral
  21. print("No device found")
  22. return None
  23. if __name__ == "__main__":
  24. import sys
  25. arg = None
  26. if len(sys.argv) > 1:
  27. arg = sys.argv[1]
  28. dev = ble_scan(arg)
  29. if dev != None:
  30. print("{} {}".format(dev.identifier(), dev.address()))