Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.18 KB | None | 0 0
  1. #!/usr/bin/python3
  2.  
  3. import gatt
  4. import binascii
  5.  
  6. manager = gatt.DeviceManager(adapter_name='hci0')
  7.  
  8. class AnyDevice(gatt.Device):
  9.     def connect_succeeded(self):
  10.         super().connect_succeeded()
  11.         print("[%s] Connected" % (self.mac_address))
  12.  
  13.     def connect_failed(self, error):
  14.         super().connect_failed(error)
  15.         print("[%s] Connection failed: %s" % (self.mac_address, str(error)))
  16.  
  17.     def disconnect_succeeded(self):
  18.         super().disconnect_succeeded()
  19.         print("[%s] Disconnected" % (self.mac_address))
  20.  
  21.     def services_resolved(self):
  22.         super().services_resolved()
  23.  
  24.         print("[%s] Resolved services" % (self.mac_address))
  25.         for service in self.services:
  26.             print("[%s]  Service [%s]" % (self.mac_address, service.uuid))
  27.             for c in service.characteristics:
  28.                 print("[%s]    Characteristic [%s]" % (self.mac_address, c.uuid))
  29.                 if c.uuid == '09b600b1-3e42-41fc-b474-e9c0c8f0c801':
  30.                     self.write = c
  31.                     c.write_value(bytearray([0x25, 0x00, 0x02, 0x42, 0x01, 0xff, 0x00]))
  32.                 elif c.uuid == '09b600b0-3e42-41fc-b474-e9c0c8f0c801':
  33.                     self.notify = c
  34.                     c.enable_notifications()
  35.  
  36.  
  37.     def characteristic_value_updated(self, characteristic, value):
  38.         print("characteristic_value_updated:", binascii.hexlify(value))
  39.  
  40.     def characteristic_read_value_failed(self, characteristic, error):
  41.         print('characteristic_read_value_failed:', error)
  42.  
  43.     def characteristic_write_value_succeeded(self, characteristic):
  44.         print('characteristic_write_value_succeeded')
  45.  
  46.     def characteristic_write_value_failed(self, characteristic, error):
  47.         print('characteristic_write_value_failed:', error)
  48.  
  49.     def characteristic_enable_notification_succeeded(self):
  50.         print('characteristic_enable_notification_succeeded')
  51.  
  52.     def characteristic_enable_notification_failed(self):
  53.         print('characteristic_enable_notification_failed')
  54.  
  55.     def advertised(self):
  56.         print('advertised')
  57.  
  58. device = AnyDevice(mac_address='d5:a8:b5:ba:30:7a', manager=manager)
  59. device.connect()
  60.  
  61. manager.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement