def test_adapter_address(self): # Add an adapter path = self.dbusmock_bluez.AddAdapter(self.adapter_device, self.adapter_name) self.assertEqual(path, '/org/bluez/' + self.adapter_device) dongle = Adapter(path) self.assertEqual(dongle.address(), '00:01:02:03:04:05')
def test_adapter_alias(self): # Add an adapter path = self.dbusmock_bluez.AddAdapter(self.adapter_device, self.adapter_name) self.assertEqual(path, '/org/bluez/' + self.adapter_device) dongle = Adapter(path) # test self.assertEqual(dongle.alias(), self.adapter_name)
def test_adapter_discoverabletimeout(self): # Add an adapter path = self.dbusmock_bluez.AddAdapter(self.adapter_device, self.adapter_name) self.assertEqual(path, '/org/bluez/' + self.adapter_device) dongle = Adapter(path) # test self.assertEqual(dongle.discoverabletimeout(), 180)
def test_start_discovery(self): # Add an adapter path = self.dbusmock_bluez.AddAdapter(self.adapter_device, self.adapter_name) self.assertEqual(path, '/org/bluez/' + self.adapter_device) dongle = Adapter(path) # test dongle.nearby_discovery() self.assertEqual(dongle.discovering, 1)
def test_adapter_discoverabletimeout_write(self): # Add an adapter path = self.dbusmock_bluez.AddAdapter(self.adapter_device, self.adapter_name) self.assertEqual(path, '/org/bluez/' + self.adapter_device) dongle = Adapter(path) # test dongle.discoverabletimeout = 220 self.assertEqual(dongle.discoverabletimeout, 220)
def test_adapter_pairabletimeout_write(self): # Add an adapter path = self.dbusmock_bluez.AddAdapter(self.adapter_device, self.adapter_name) self.assertEqual(path, '/org/bluez/' + self.adapter_device) dongle = Adapter(path) # test dongle.pairabletimeout = 220 self.assertEqual(dongle.pairabletimeout, 220)
def test_adapter_power_write(self): # Add an adapter path = self.dbusmock_bluez.AddAdapter(self.adapter_device, self.adapter_name) self.assertEqual(path, '/org/bluez/' + self.adapter_device) dongle = Adapter(path) # test dongle.powered = 0 self.assertEqual(dongle.powered, 0)
def test_adapter_alias_write(self): dev_name = 'my-test-dev' # Add an adapter path = self.dbusmock_bluez.AddAdapter(self.adapter_device, self.adapter_name) self.assertEqual(path, '/org/bluez/' + self.adapter_device) dongle = Adapter(path) # test dongle.alias = dev_name self.assertEqual(dongle.alias, dev_name)
def test_class(self): path = self.dbusmock_bluez.AddAdapter(self.adapter_device, self.adapter_name) self.assertEqual(path, '/org/bluez/' + self.adapter_device) dongle = Adapter(path) # test self.assertEqual(dongle.bt_class, 268)
def test_device_name(self): adapter_name = 'hci0' address = '22:22:33:44:55:66' alias = 'Peripheral Device' path = self.dbusmock_bluez.AddAdapter(adapter_name, 'my-computer') self.assertEqual(path, '/org/bluez/' + adapter_name) dongle = Adapter('/org/bluez/hci0') path = self.dbusmock_bluez.AddDevice(adapter_name, address, alias) self.assertEqual( path, '/org/bluez/' + adapter_name + '/dev_' + address.replace(':', '_')) ble_dev = Device('/org/bluez/hci0/dev_22_22_33_44_55_66') conn_state = ble_dev.name() self.assertEqual(conn_state, alias)
def setUp(self): self.obj_bluez.Reset() self.dbusmock = dbus.Interface(self.obj_bluez, dbusmock.MOCK_IFACE) self.dbusmock_bluez = dbus.Interface(self.obj_bluez, 'org.bluez.Mock') self.adapter_name = 'hci0' self.address = '22:22:33:44:55:66' self.alias = 'Peripheral Device' self.adapter_path = self.dbusmock_bluez.AddAdapter( self.adapter_name, 'my-computer') self.assertEqual(self.adapter_path, '/org/bluez/' + self.adapter_name) dongle = Adapter('/org/bluez/hci0') self.device_path = self.dbusmock_bluez.AddDevice( self.adapter_name, self.address, self.alias) self.assertEqual( self.device_path, '/org/bluez/' + self.adapter_name + '/dev_' + self.address.replace(':', '_')) self.ble_dev = Device('/org/bluez/hci0/dev_22_22_33_44_55_66')
def test_adapter_alias(self): dongle = Adapter() self.assertEqual(dongle.alias(), 'my-computer')
def test_adapter_name(self): dongle = Adapter() self.assertEqual(dongle.name(), 'my-computer')
def test_adapter_address(self): dongle = Adapter() self.assertEqual(dongle.address(), '00:01:02:03:04:05')
from bluezero.adapter import Adapter dongle = Adapter() print('address: ') print(dongle.address()) print('name: ') print(dongle.name()) print('alias: ') print(dongle.alias()) print('list: ') print(dongle.list()) print('powered: ') print(dongle.powered()) print('pairable: ') print(dongle.pairable()) print('pairable timeout: ') print(dongle.pairabletimeout()) print('discoverable: ') print(dongle.discoverable()) print('discoverable timeout: ') print(dongle.discoverabletimeout()) print('discovering: ') print(dongle.discovering())
def test_adapter_discoverabletimeout(self): dongle = Adapter() self.assertEqual(dongle.discoverabletimeout(), 180)
def test_adapter_pairable(self): dongle = Adapter() self.assertEqual(dongle.pairable(), 1)
def test_adapter_pairabletimeout(self): dongle = Adapter() self.assertEqual(dongle.pairabletimeout(), 180)
def test_adapter_discovering(self): dongle = Adapter() self.assertEqual(dongle.discovering(), 1)
def test_adapter_power_write(self): dongle = Adapter() dongle.powered(0) self.assertEqual(dongle.powered(), 0)
def test_adapter_alias_write(self): dev_name = 'my-test-dev' dongle = Adapter() dongle.alias(dev_name) self.assertEqual(dongle.alias(), dev_name)
def test_adapter_power(self): dongle = Adapter() self.assertEqual(dongle.powered(), 1)
else: print("this command is not recognized") if __name__ == '__main__': """ This script considers that your remote device has its bluetooth function on. Since we know that get_managed_objects() methods does keep device objects found earlier in most situation we will use it to retrieve our targeted device adresse""" "Replace the mac address by the targeted device" target_dev_address = '94:87:E0:8A:3B:A1' adapter_adress = list_adapters()[0] bluetooth_adapter = Adapter(adapter_adress) bluetooth_adapter.nearby_discovery() "Find managed devices adresses" dev_obj_path_list = filter_by_interface(dbus_tools.get_managed_objects(), constants.DEVICE_INTERFACE) dev_addr_list = list( map(dbus_tools.get_mac_addr_from_dbus_path, dev_obj_path_list)) print("Managed devices: ", dev_addr_list) "Attempt to connect pair and connect to the device" remote_device = None if target_dev_address in dev_addr_list: remote_device = Device(adapter_adress, target_dev_address) "Verify if the device has already been paired"
from bluezero.adapter import Adapter from bluezero.device import Device from bluezero.gatt import Client from time import sleep dongle = Adapter() if dongle.powered() == 'off': print('Switching on dongle ({})'.format(dongle.name())) dongle.powered('on') else: print('Dongle on: {}'.format(dongle.name())) while dongle.powered() == 'off': sleep(1) print('Waiting for dongle to switch on') batt = Device(dongle) try: batt.request_device(name='Nexus', service='180f') except Exception as e: print('{}'.format(e)) exit() sleep(2) print('Adapter scanning: {}'.format(dongle.discovering())) print('Returned device: {}'.format(batt.dev_addr)) print('Returned path: {}'.format(batt.dev_path)) print('Connected state: {}'.format(batt.connected())) batt.connect(batt.dev_addr) sleep(5)